Update c_src with new default constructor rules.
authorJean Privat <jean@pryen.org>
Sun, 28 Dec 2008 00:00:32 +0000 (19:00 -0500)
committerJean Privat <jean@pryen.org>
Sun, 28 Dec 2008 00:00:32 +0000 (19:00 -0500)
60 files changed:
c_src/abstract_collection._sep.c
c_src/abstractmetamodel._sep.c
c_src/abstracttool._sep.c
c_src/array._sep.c
c_src/array._sep.h
c_src/compiling._sep.c
c_src/compiling_base._sep.c
c_src/compiling_global._sep.c
c_src/compiling_global._sep.h
c_src/compiling_methods._sep.c
c_src/compiling_methods._sep.h
c_src/control_flow._sep.c
c_src/environ._sep.c
c_src/exec._sep.c
c_src/file._sep.c
c_src/file._sep.h
c_src/genericity._sep.c
c_src/hash._sep.c
c_src/hash._sep.h
c_src/inheritance._sep.c
c_src/inheritance._sep.h
c_src/kernel._sep.c
c_src/kernel._sep.h
c_src/lexer._sep.c
c_src/lexer._sep.h
c_src/list._sep.c
c_src/mmbuilder._sep.c
c_src/mmbuilder._sep.h
c_src/mmloader._sep.c
c_src/mmloader._sep.h
c_src/nitc._sep.c
c_src/nitc._tables.c
c_src/opts._sep.c
c_src/parser._sep.c
c_src/parser._sep.h
c_src/parser_nodes._sep.c
c_src/parser_nodes._sep.h
c_src/parser_prod._sep.c
c_src/parser_prod._sep.h
c_src/parser_tables._sep.c
c_src/parser_tables._sep.h
c_src/partial_order._sep.c
c_src/range._sep.c
c_src/sorter._sep.c
c_src/sorter._sep.h
c_src/static_type._sep.c
c_src/static_type._sep.h
c_src/stream._sep.c
c_src/stream._sep.h
c_src/string._sep.c
c_src/string._sep.h
c_src/string_search._sep.c
c_src/string_search._sep.h
c_src/symbol._sep.c
c_src/syntax._sep.c
c_src/syntax_base._sep.c
c_src/syntax_base._sep.h
c_src/typing._sep.c
c_src/utils._sep.c
c_src/virtualtype._sep.c

index a54bdbc..907bf9a 100644 (file)
@@ -325,7 +325,7 @@ val_t abstract_collection___Container___iterator(val_t  self) {
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_abstract_collection;
-  variable0 = NEW_abstract_collection___ContainerIterator___init( self); /*new ContainerIterator[E]*/
+  variable0 = NEW_ContainerIterator_abstract_collection___ContainerIterator___init( self); /*new ContainerIterator[E]*/
   goto return_label16;
   return_label16: while(false);
   tracehead = trace.prev;
index efb2010..135b78c 100644 (file)
@@ -86,9 +86,9 @@ void abstractmetamodel___MMContext___add_local_class(val_t  self, val_t  param0,
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*sup*/ ==  NIT_NULL /*null*/) || (( variable1 /*sup*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*sup*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*sup*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*sup*/,COLOR_kernel___Object_____eqeq))( variable1 /*sup*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMContext___add_local_class, LOCATE_abstractmetamodel, 57); nit_exit(1);}
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[String]*/
   variable3 = variable4;
   variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*sup*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*sup*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -229,21 +229,21 @@ val_t abstractmetamodel___MMDirectory___full_name_for(val_t  self, val_t  param0
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((abstractmetamodel___MMDirectory___name_t)CALL( self,COLOR_abstractmetamodel___MMDirectory___name))( self) /*MMDirectory::name*/;
   variable5 = variable4;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   variable8 =  variable0 /*module_name*/;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable10) /*String::append*/;
   variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
@@ -660,7 +660,7 @@ void abstractmetamodel___MMGlobalClass___register_local_class(val_t  self, val_t
   variable1 = ((abstractmetamodel___MMLocalClass___crhe_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___crhe))( variable0 /*c*/) /*MMLocalClass::crhe*/;
   variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalClass___register_local_class, LOCATE_abstractmetamodel, 314); nit_exit(1);}
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
   variable1 = variable2;
   variable2 = ((abstractmetamodel___MMGlobalClass___class_refinement_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy))( self) /*MMGlobalClass::class_refinement_hierarchy*/;
   variable2 = ((partial_order___PartialOrder___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*PartialOrder::iterator*/;
@@ -871,7 +871,7 @@ void abstractmetamodel___MMLocalClass___new_global(val_t  self) {
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_abstractmetamodel;
-  variable1 = NEW_abstractmetamodel___MMGlobalClass___init( self); /*new MMGlobalClass*/
+  variable1 = NEW_MMGlobalClass_abstractmetamodel___MMGlobalClass___init( self); /*new MMGlobalClass*/
   variable0 = variable1;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____module( self) /*MMLocalClass::_module*/;
   variable1 = ATTR_abstractmetamodel___MMModule____global_classes(variable1) /*MMModule::_global_classes*/;
@@ -1056,7 +1056,7 @@ val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t  self, val_t
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
   variable1 = variable2;
   variable2 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___cshe))( self) /*MMLocalClass::cshe*/;
   variable2 = ((partial_order___PartialOrderElement___greaters_t)CALL(variable2,COLOR_partial_order___PartialOrderElement___greaters))(variable2) /*PartialOrderElement::greaters*/;
@@ -1080,7 +1080,7 @@ val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t  self, val_t
   variable2 = ((partial_order___PartialOrderElement___order_t)CALL(variable2,COLOR_partial_order___PartialOrderElement___order))(variable2) /*PartialOrderElement::order*/;
   variable2 = ((partial_order___PartialOrder___select_smallests_t)CALL(variable2,COLOR_partial_order___PartialOrder___select_smallests))(variable2,  variable1 /*classes*/) /*PartialOrder::select_smallests*/;
   variable1 = variable2 /*classes=*/;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMLocalProperty]*/
   variable2 = variable3;
   variable3 = ((array___AbstractArray___iterator_t)CALL( variable1 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -1144,7 +1144,7 @@ void abstractmetamodel___MMLocalClass___register_global_property(val_t  self, va
   variable4 = TAG_Bool(( variable3 /*props*/ ==  NIT_NULL /*null*/) || (( variable3 /*props*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable3 /*props*/,COLOR_kernel___Object_____eqeq))( variable3 /*props*/,  NIT_NULL /*null*/) /*AbstractArray::==*/)));
   if (UNTAG_Bool(variable4)) { /*if*/
     variable4 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
-    variable5 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+    variable5 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMGlobalProperty]*/
     ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable0 /*glob*/) /*AbstractArray::add*/;
     ((abstract_collection___Map_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable2 /*name*/, variable5) /*Map::[]=*/;
   } else { /*if*/
@@ -1243,10 +1243,10 @@ void abstractmetamodel___MMGlobalProperty___init(val_t  self, val_t  param0, int
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMGlobalProperty].i]) return;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*p*/ ==  NIT_NULL /*null*/) || (( variable0 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*p*/,COLOR_kernel___Object_____eqeq))( variable0 /*p*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalProperty___init, LOCATE_abstractmetamodel, 555); nit_exit(1);}
-  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable1 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalProperty]*/
   ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy( self) /*MMGlobalProperty::_property_hierarchy*/ = variable1;
   ATTR_abstractmetamodel___MMGlobalProperty____intro( self) /*MMGlobalProperty::_intro*/ =  variable0 /*p*/;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[MMLocalProperty]*/
   ((abstractmetamodel___MMGlobalProperty___add_local_property_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___add_local_property))( self,  variable0 /*p*/, variable1) /*MMGlobalProperty::add_local_property*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMGlobalProperty].i] = 1;
   tracehead = trace.prev;
@@ -1399,8 +1399,8 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
   variable0 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 = NEW_string___String___init(); /*new String*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable0 = NEW_String_string___String___init(); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable2 = variable1;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
     variable3 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
@@ -1408,21 +1408,21 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
     variable4 = variable3;
     variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-    variable5 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
     variable7 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
     variable8 = variable7;
     variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable8) /*String::append*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString("::(?::"), TAG_Int(6)); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString("::(?::"), TAG_Int(6)); /*new String*/
     variable10 = variable9;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable10) /*String::append*/;
     variable11 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
     variable12 = variable11;
     variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable12) /*String::append*/;
-    variable13 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+    variable13 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
     variable14 = variable13;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable14) /*String::append*/;
     goto return_label51;
@@ -1431,8 +1431,8 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
     variable0 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable0,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable0) /*MMGlobalProperty::intro*/;
     variable0 = TAG_Bool((variable0 ==  self) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  self) /*Object::==*/)))));
     if (UNTAG_Bool(variable0)) { /*if*/
-      variable0 = NEW_string___String___init(); /*new String*/
-      variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable0 = NEW_String_string___String___init(); /*new String*/
+      variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable2 = variable1;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
       variable3 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
@@ -1440,27 +1440,27 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
       variable4 = variable3;
       variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-      variable5 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
       variable7 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
       variable8 = variable7;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable10) /*String::append*/;
       variable11 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
       variable12 = variable11;
       variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable14) /*String::append*/;
       goto return_label51;
     } else { /*if*/
-      variable0 = NEW_string___String___init(); /*new String*/
-      variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable0 = NEW_String_string___String___init(); /*new String*/
+      variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable2 = variable1;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
       variable3 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
@@ -1468,14 +1468,14 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
       variable4 = variable3;
       variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-      variable5 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
       variable7 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
       variable8 = variable7;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString("::("), TAG_Int(3)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("::("), TAG_Int(3)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable10) /*String::append*/;
       variable11 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
@@ -1483,7 +1483,7 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
       variable11 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL(variable11,COLOR_abstractmetamodel___MMLocalProperty___full_name))(variable11) /*MMLocalProperty::full_name*/;
       variable12 = variable11;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable14) /*String::append*/;
       goto return_label51;
@@ -1517,7 +1517,7 @@ void abstractmetamodel___MMLocalProperty___new_global(val_t  self) {
   variable0 = ATTR_abstractmetamodel___MMLocalProperty____global( self) /*MMLocalProperty::_global*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalProperty___new_global, LOCATE_abstractmetamodel, 629); nit_exit(1);}
-  variable0 = NEW_abstractmetamodel___MMGlobalProperty___init( self); /*new MMGlobalProperty*/
+  variable0 = NEW_MMGlobalProperty_abstractmetamodel___MMGlobalProperty___init( self); /*new MMGlobalProperty*/
   ATTR_abstractmetamodel___MMLocalProperty____global( self) /*MMLocalProperty::_global*/ = variable0;
   variable0 = ATTR_abstractmetamodel___MMLocalProperty____local_class( self) /*MMLocalProperty::_local_class*/;
   variable1 = ATTR_abstractmetamodel___MMLocalProperty____global( self) /*MMLocalProperty::_global*/;
index a3c182b..d0ed51b 100644 (file)
@@ -7,7 +7,7 @@ void abstracttool___AbstractCompiler___init(val_t  self, int* init_table) {
   trace.file = LOCATE_abstracttool;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AbstractCompiler].i]) return;
   ((mmloader___ToolContext___init_t)CALL( self,COLOR_mmloader___ToolContext___init))( self, init_table /*YYY*/) /*ToolContext::init*/;
-  variable0 = NEW_syntax___SrcModuleLoader___init(); /*new SrcModuleLoader*/
+  variable0 = NEW_SrcModuleLoader_syntax___SrcModuleLoader___init(); /*new SrcModuleLoader*/
   ((mmloader___ToolContext___register_loader_t)CALL( self,COLOR_mmloader___ToolContext___register_loader))( self, variable0) /*ToolContext::register_loader*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AbstractCompiler].i] = 1;
   tracehead = trace.prev;
@@ -45,10 +45,10 @@ void abstracttool___AbstractCompiler___exec_cmd_line(val_t  self) {
   variable1 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
   variable1 = ((opts___OptionContext___rest_t)CALL(variable1,COLOR_opts___OptionContext___rest))(variable1) /*OptionContext::rest*/;
   variable0 = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMModule]*/
   variable1 = variable2;
   variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*rest*/,COLOR_abstract_collection___Collection___length))( variable0 /*rest*/) /*AbstractArray::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -128,41 +128,41 @@ void abstracttool___AbstractCompiler___dump_context_info(val_t  self) {
     ((abstract_collection___Iterator___next_t)CALL(variable0,COLOR_abstract_collection___Iterator___next))(variable0) /*Iterator::next*/;
   }
   break_5: while(0);
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[MMModule]*/
   variable0 = variable1;
   variable1 = ((abstractmetamodel___MMContext___module_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMContext___module_hierarchy))( self) /*MMContext::module_hierarchy*/;
   ((abstract_collection___SimpleCollection___add_all_t)CALL( variable0 /*tab*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable0 /*tab*/, variable1) /*SimpleCollection::add_all*/;
   variable2 = ((abstractmetamodel___MMContext___module_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMContext___module_hierarchy))( self) /*MMContext::module_hierarchy*/;
   variable2 = ((partial_order___PartialOrder___select_smallests_t)CALL(variable2,COLOR_partial_order___PartialOrder___select_smallests))(variable2,  variable0 /*tab*/) /*PartialOrder::select_smallests*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
   variable2 = ((string___Collection___join_t)CALL(variable2,COLOR_string___Collection___join))(variable2, variable3) /*Collection::join*/;
   variable1 = variable2;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable1 /*name*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(".full_class_hierarchy.new.dot"), TAG_Int(29)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(".full_class_hierarchy.new.dot"), TAG_Int(29)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
-  variable4 = NEW_file___OFStream___open(variable3); /*new OFStream*/
+  variable4 = NEW_OFStream_file___OFStream___open(variable3); /*new OFStream*/
   variable3 = variable4;
   variable2 = variable3;
   variable3 = ((abstractmetamodel___MMContext___class_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMContext___class_hierarchy))( self) /*MMContext::class_hierarchy*/;
   variable3 = ((partial_order___PartialOrder___to_dot_t)CALL(variable3,COLOR_partial_order___PartialOrder___to_dot))(variable3) /*PartialOrder::to_dot*/;
   ((file___OFStream___write_t)CALL( variable2 /*f*/,COLOR_stream___OStream___write))( variable2 /*f*/, variable3) /*OFStream::write*/;
   ((file___OFStream___close_t)CALL( variable2 /*f*/,COLOR_stream___IOS___close))( variable2 /*f*/) /*OFStream::close*/;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable1 /*name*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(".module_hierarchy.new.dot"), TAG_Int(25)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(".module_hierarchy.new.dot"), TAG_Int(25)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
-  variable4 = NEW_file___OFStream___open(variable3); /*new OFStream*/
+  variable4 = NEW_OFStream_file___OFStream___open(variable3); /*new OFStream*/
   variable3 = variable4;
   variable2 = variable3 /*f=*/;
   variable3 = ((abstractmetamodel___MMContext___module_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMContext___module_hierarchy))( self) /*MMContext::module_hierarchy*/;
@@ -191,49 +191,49 @@ void abstracttool___MMModule___dump_module_info(val_t  self) {
   variable1 = ((mmloader___MMModule___filename_t)CALL( self,COLOR_mmloader___MMModule___filename))( self) /*MMModule::filename*/;
   variable1 = ((file___String___file_path_t)CALL(variable1,COLOR_file___String___file_path))(variable1) /*String::file_path*/;
   variable0 = variable1;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 =  variable0 /*p*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
   variable8 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable11) /*String::append*/;
   variable1 = variable2;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable1 /*fname*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(".class_hierarchy.new.dot"), TAG_Int(24)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(".class_hierarchy.new.dot"), TAG_Int(24)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
-  variable4 = NEW_file___OFStream___open(variable3); /*new OFStream*/
+  variable4 = NEW_OFStream_file___OFStream___open(variable3); /*new OFStream*/
   variable3 = variable4;
   variable2 = variable3;
   variable3 = ((abstractmetamodel___MMModule___class_specialization_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMModule___class_specialization_hierarchy))( self) /*MMModule::class_specialization_hierarchy*/;
   variable3 = ((partial_order___PartialOrder___to_dot_t)CALL(variable3,COLOR_partial_order___PartialOrder___to_dot))(variable3) /*PartialOrder::to_dot*/;
   ((file___OFStream___write_t)CALL( variable2 /*f*/,COLOR_stream___OStream___write))( variable2 /*f*/, variable3) /*OFStream::write*/;
   ((file___OFStream___close_t)CALL( variable2 /*f*/,COLOR_stream___IOS___close))( variable2 /*f*/) /*OFStream::close*/;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable1 /*fname*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(".properties.log"), TAG_Int(15)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(".properties.log"), TAG_Int(15)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
-  variable4 = NEW_file___OFStream___open(variable3); /*new OFStream*/
+  variable4 = NEW_OFStream_file___OFStream___open(variable3); /*new OFStream*/
   variable3 = variable4;
   variable2 = variable3 /*f=*/;
   variable3 = ((abstractmetamodel___MMModule___local_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___local_classes))( self) /*MMModule::local_classes*/;
@@ -243,7 +243,7 @@ void abstracttool___MMModule___dump_module_info(val_t  self) {
     if (!UNTAG_Bool(variable4)) break; /*for*/
     variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
     ((abstracttool___MMLocalClass___dump_properties_t)CALL( variable4 /*cla*/,COLOR_abstracttool___MMLocalClass___dump_properties))( variable4 /*cla*/,  variable2 /*f*/) /*MMLocalClass::dump_properties*/;
-    variable5 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
     ((file___OFStream___write_t)CALL( variable2 /*f*/,COLOR_stream___OStream___write))( variable2 /*f*/, variable5) /*OFStream::write*/;
     continue_7: while(0);
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
@@ -272,14 +272,14 @@ void abstracttool___MMLocalClass___dump_properties(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_abstracttool;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("class "), TAG_Int(6)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("class "), TAG_Int(6)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 =  self;
   variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
   ((stream___OStream___write_t)CALL( variable0 /*file*/,COLOR_stream___OStream___write))( variable0 /*file*/, variable1) /*OStream::write*/;
@@ -291,14 +291,14 @@ void abstracttool___MMLocalClass___dump_properties(val_t  self, val_t  param0) {
     variable2 = ((abstract_collection___Iterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*Iterator::item*/;
     variable4 = ((inheritance___MMLocalClass_____bra_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass_____bra))( self,  variable2 /*p*/) /*MMLocalClass::[]*/;
     variable3 = variable4;
-    variable4 = NEW_string___String___init(); /*new String*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("\t"), TAG_Int(1)); /*new String*/
+    variable4 = NEW_String_string___String___init(); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("\t"), TAG_Int(1)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
     variable7 =  variable3 /*lp*/;
     variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
     variable10 = ((genericity___MMLocalClass___get_type_t)CALL( self,COLOR_static_type___MMLocalClass___get_type))( self) /*MMLocalClass::get_type*/;
@@ -306,7 +306,7 @@ void abstracttool___MMLocalClass___dump_properties(val_t  self, val_t  param0) {
     variable11 = variable10;
     variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+    variable12 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
     variable13 = variable12;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
     ((stream___OStream___write_t)CALL( variable0 /*file*/,COLOR_stream___OStream___write))( variable0 /*file*/, variable4) /*OStream::write*/;
@@ -314,14 +314,14 @@ void abstracttool___MMLocalClass___dump_properties(val_t  self, val_t  param0) {
     ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
   }
   break_9: while(0);
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("end # "), TAG_Int(6)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("end # "), TAG_Int(6)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 =  self;
   variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
   ((stream___OStream___write_t)CALL( variable0 /*file*/,COLOR_stream___OStream___write))( variable0 /*file*/, variable1) /*OStream::write*/;
index fd5d43d..88ecd47 100644 (file)
@@ -374,7 +374,7 @@ val_t array___AbstractArray___reversed(val_t  self) {
   trace.file = LOCATE_array;
   variable1 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable0 = variable1;
-  variable2 = NEW_array___Array___with_capacity( variable0 /*cmp*/); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___with_capacity( variable0 /*cmp*/); /*new Array[E]*/
   variable1 = variable2;
   while (true) { /*while*/
     variable2 = TAG_Bool(UNTAG_Int( variable0 /*cmp*/)>UNTAG_Int( TAG_Int(0)));
@@ -524,7 +524,7 @@ val_t array___AbstractArray___iterator(val_t  self) {
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_array;
-  variable0 = NEW_array___ArrayIterator___init( self); /*new ArrayIterator[E]*/
+  variable0 = NEW_ArrayIterator_array___ArrayIterator___init( self); /*new ArrayIterator[E]*/
   goto return_label34;
   return_label34: while(false);
   tracehead = trace.prev;
@@ -580,6 +580,13 @@ val_t array___AbstractArray_____eqeq(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return variable1;
 }
+void array___AbstractArray___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_array___AbstractArray___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
+  tracehead = trace.prev;
+  return;
+}
 val_t array___Array_____bra(val_t  self, val_t  param0) {
   struct trace_t trace = {NULL, NULL, 227, LOCATE_array___Array_____bra};
   val_t variable0;
@@ -967,7 +974,7 @@ val_t array___ArraySet___iterator(val_t  self) {
   trace.file = LOCATE_array;
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*AbstractArray::iterator*/;
-  variable1 = NEW_array___ArraySetIterator___init(variable0); /*new ArraySetIterator[E]*/
+  variable1 = NEW_ArraySetIterator_array___ArraySetIterator___init(variable0); /*new ArraySetIterator[E]*/
   variable0 = variable1;
   goto return_label60;
   return_label60: while(false);
@@ -1009,7 +1016,7 @@ void array___ArraySet___init(val_t  self, int* init_table) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_array;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArraySet].i]) return;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[E]*/
   ATTR_array___ArraySet____array( self) /*ArraySet::_array*/ = variable0;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArraySet].i] = 1;
   tracehead = trace.prev;
@@ -1023,7 +1030,7 @@ void array___ArraySet___with_capacity(val_t  self, val_t  param0, int* init_tabl
   trace.file = LOCATE_array;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArraySet].i]) return;
-  variable1 = NEW_array___Array___with_capacity( variable0 /*i*/); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___with_capacity( variable0 /*i*/); /*new Array[E]*/
   ATTR_array___ArraySet____array( self) /*ArraySet::_array*/ = variable1;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArraySet].i] = 1;
   tracehead = trace.prev;
@@ -1155,7 +1162,7 @@ void array___ArrayMap_____braeq(val_t  self, val_t  param0, val_t  param1) {
     ((abstract_collection___Couple___second__eq_t)CALL(variable3,COLOR_abstract_collection___Couple___second__eq))(variable3,  variable1 /*item*/) /*Couple::second=*/;
   } else { /*if*/
     variable3 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-    variable4 = NEW_abstract_collection___Couple___init( variable0 /*key*/,  variable1 /*item*/); /*new Couple[F, S]*/
+    variable4 = NEW_Couple_abstract_collection___Couple___init( variable0 /*key*/,  variable1 /*item*/); /*new Couple[K, E]*/
     ((array___AbstractArray___push_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___push))(variable3, variable4) /*AbstractArray::push*/;
   }
   tracehead = trace.prev;
@@ -1302,7 +1309,7 @@ val_t array___ArrayMap___iterator(val_t  self) {
   trace.file = LOCATE_array;
   variable0 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*AbstractArray::iterator*/;
-  variable1 = NEW_abstract_collection___CoupleMapIterator___init(variable0); /*new CoupleMapIterator[K, E]*/
+  variable1 = NEW_CoupleMapIterator_abstract_collection___CoupleMapIterator___init(variable0); /*new CoupleMapIterator[K, E]*/
   variable0 = variable1;
   goto return_label82;
   return_label82: while(false);
@@ -1606,7 +1613,7 @@ void array___ArrayMap___init(val_t  self, int* init_table) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_array;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArrayMap].i]) return;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[Couple[K, E]]*/
   ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/ = variable0;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArrayMap].i] = 1;
   tracehead = trace.prev;
@@ -1618,7 +1625,7 @@ val_t array___Iterator___to_a(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_array;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[E]*/
   variable0 = variable1;
   while (true) { /*while*/
     variable1 = ((abstract_collection___Iterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*Iterator::is_ok*/;
index 0ec2326..959c077 100644 (file)
@@ -35,56 +35,57 @@ extern const int SFT_array[];
 #define COLOR_array___AbstractArray___last_index_of_from SFT_array[8]
 #define COLOR_array___AbstractArray___reversed SFT_array[9]
 #define COLOR_array___AbstractArray___copy_to SFT_array[10]
-#define ID_Array SFT_array[11]
-#define COLOR_Array SFT_array[12]
-#define COLOR_array___Array____items SFT_array[13]
-#define COLOR_array___Array____capacity SFT_array[14]
-#define INIT_TABLE_POS_Array SFT_array[15]
-#define COLOR_array___Array___init SFT_array[16]
-#define COLOR_array___Array___with SFT_array[17]
-#define COLOR_array___Array___with_capacity SFT_array[18]
-#define COLOR_array___Array___filled_with SFT_array[19]
-#define COLOR_array___Array___with_native SFT_array[20]
-#define ID_ArrayIterator SFT_array[21]
-#define COLOR_ArrayIterator SFT_array[22]
-#define COLOR_array___ArrayIterator____index SFT_array[23]
-#define COLOR_array___ArrayIterator____array SFT_array[24]
-#define INIT_TABLE_POS_ArrayIterator SFT_array[25]
-#define COLOR_array___ArrayIterator___init SFT_array[26]
-#define ID_ArraySet SFT_array[27]
-#define COLOR_ArraySet SFT_array[28]
-#define COLOR_array___ArraySet____array SFT_array[29]
-#define INIT_TABLE_POS_ArraySet SFT_array[30]
-#define COLOR_array___ArraySet___enlarge SFT_array[31]
-#define COLOR_array___ArraySet___remove_at SFT_array[32]
-#define COLOR_array___ArraySet___init SFT_array[33]
-#define COLOR_array___ArraySet___with_capacity SFT_array[34]
-#define ID_ArraySetIterator SFT_array[35]
-#define COLOR_ArraySetIterator SFT_array[36]
-#define COLOR_array___ArraySetIterator____iter SFT_array[37]
-#define INIT_TABLE_POS_ArraySetIterator SFT_array[38]
-#define COLOR_array___ArraySetIterator___init SFT_array[39]
-#define ID_ArrayMap SFT_array[40]
-#define COLOR_ArrayMap SFT_array[41]
-#define COLOR_array___ArrayMap____items SFT_array[42]
-#define COLOR_array___ArrayMap____last_index SFT_array[43]
-#define INIT_TABLE_POS_ArrayMap SFT_array[44]
-#define COLOR_array___ArrayMap___enlarge SFT_array[45]
-#define COLOR_array___ArrayMap___remove_at_index SFT_array[46]
-#define COLOR_array___ArrayMap___index SFT_array[47]
-#define COLOR_array___ArrayMap___init SFT_array[48]
-#define COLOR_array___Iterator___to_a SFT_array[49]
-#define COLOR_array___Collection___to_a SFT_array[50]
-#define ID_ArrayCapable SFT_array[51]
-#define COLOR_ArrayCapable SFT_array[52]
-#define INIT_TABLE_POS_ArrayCapable SFT_array[53]
-#define COLOR_array___ArrayCapable___calloc_array SFT_array[54]
-#define ID_NativeArray SFT_array[55]
-#define COLOR_NativeArray SFT_array[56]
-#define INIT_TABLE_POS_NativeArray SFT_array[57]
-#define COLOR_array___NativeArray_____bra SFT_array[58]
-#define COLOR_array___NativeArray_____braeq SFT_array[59]
-#define COLOR_array___NativeArray___copy_to SFT_array[60]
+#define COLOR_array___AbstractArray___init SFT_array[11]
+#define ID_Array SFT_array[12]
+#define COLOR_Array SFT_array[13]
+#define COLOR_array___Array____items SFT_array[14]
+#define COLOR_array___Array____capacity SFT_array[15]
+#define INIT_TABLE_POS_Array SFT_array[16]
+#define COLOR_array___Array___init SFT_array[17]
+#define COLOR_array___Array___with SFT_array[18]
+#define COLOR_array___Array___with_capacity SFT_array[19]
+#define COLOR_array___Array___filled_with SFT_array[20]
+#define COLOR_array___Array___with_native SFT_array[21]
+#define ID_ArrayIterator SFT_array[22]
+#define COLOR_ArrayIterator SFT_array[23]
+#define COLOR_array___ArrayIterator____index SFT_array[24]
+#define COLOR_array___ArrayIterator____array SFT_array[25]
+#define INIT_TABLE_POS_ArrayIterator SFT_array[26]
+#define COLOR_array___ArrayIterator___init SFT_array[27]
+#define ID_ArraySet SFT_array[28]
+#define COLOR_ArraySet SFT_array[29]
+#define COLOR_array___ArraySet____array SFT_array[30]
+#define INIT_TABLE_POS_ArraySet SFT_array[31]
+#define COLOR_array___ArraySet___enlarge SFT_array[32]
+#define COLOR_array___ArraySet___remove_at SFT_array[33]
+#define COLOR_array___ArraySet___init SFT_array[34]
+#define COLOR_array___ArraySet___with_capacity SFT_array[35]
+#define ID_ArraySetIterator SFT_array[36]
+#define COLOR_ArraySetIterator SFT_array[37]
+#define COLOR_array___ArraySetIterator____iter SFT_array[38]
+#define INIT_TABLE_POS_ArraySetIterator SFT_array[39]
+#define COLOR_array___ArraySetIterator___init SFT_array[40]
+#define ID_ArrayMap SFT_array[41]
+#define COLOR_ArrayMap SFT_array[42]
+#define COLOR_array___ArrayMap____items SFT_array[43]
+#define COLOR_array___ArrayMap____last_index SFT_array[44]
+#define INIT_TABLE_POS_ArrayMap SFT_array[45]
+#define COLOR_array___ArrayMap___enlarge SFT_array[46]
+#define COLOR_array___ArrayMap___remove_at_index SFT_array[47]
+#define COLOR_array___ArrayMap___index SFT_array[48]
+#define COLOR_array___ArrayMap___init SFT_array[49]
+#define COLOR_array___Iterator___to_a SFT_array[50]
+#define COLOR_array___Collection___to_a SFT_array[51]
+#define ID_ArrayCapable SFT_array[52]
+#define COLOR_ArrayCapable SFT_array[53]
+#define INIT_TABLE_POS_ArrayCapable SFT_array[54]
+#define COLOR_array___ArrayCapable___calloc_array SFT_array[55]
+#define ID_NativeArray SFT_array[56]
+#define COLOR_NativeArray SFT_array[57]
+#define INIT_TABLE_POS_NativeArray SFT_array[58]
+#define COLOR_array___NativeArray_____bra SFT_array[59]
+#define COLOR_array___NativeArray_____braeq SFT_array[60]
+#define COLOR_array___NativeArray___copy_to SFT_array[61]
 typedef void (* array___AbstractArray___enlarge_t)(val_t  self, val_t  param0);
 void array___AbstractArray___enlarge(val_t  self, val_t  param0);
 #define LOCATE_array___AbstractArray___enlarge "array::AbstractArray::enlarge"
@@ -164,6 +165,10 @@ val_t array___AbstractArray___iterator(val_t  self);
 typedef val_t (* array___AbstractArray_____eqeq_t)(val_t  self, val_t  param0);
 val_t array___AbstractArray_____eqeq(val_t  self, val_t  param0);
 #define LOCATE_array___AbstractArray_____eqeq "array::AbstractArray::(kernel::Object::==)"
+typedef void (* array___AbstractArray___init_t)(val_t  self, int* init_table);
+void array___AbstractArray___init(val_t  self, int* init_table);
+val_t NEW_array___AbstractArray___init();
+#define LOCATE_array___AbstractArray___init "array::AbstractArray::init"
 typedef val_t (* array___Array_____bra_t)(val_t  self, val_t  param0);
 val_t array___Array_____bra(val_t  self, val_t  param0);
 #define LOCATE_array___Array_____bra "array::Array::(abstract_collection::Map::[])"
index 0b54c5d..a24919a 100644 (file)
@@ -44,11 +44,11 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable2 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   ((file___String___mkdir_t)CALL(variable2,COLOR_file___String___mkdir))(variable2) /*String::mkdir*/;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[String]*/
   variable2 = variable3;
-  variable4 = NEW_array___ArraySet___init(); /*new ArraySet[E]*/
+  variable4 = NEW_ArraySet_array___ArraySet___init(); /*new ArraySet[String]*/
   variable3 = variable4;
-  variable4 = NEW_string___String___with_native(BOX_NativeString("$CLIBDIR/nit_main.c"), TAG_Int(19)); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("$CLIBDIR/nit_main.c"), TAG_Int(19)); /*new String*/
   ((array___AbstractArray___add_t)CALL( variable2 /*files*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*files*/, variable4) /*AbstractArray::add*/;
   variable4 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMModule::mhe*/;
   variable4 = ((partial_order___PartialOrderElement___greaters_and_self_t)CALL(variable4,COLOR_partial_order___PartialOrderElement___greaters_and_self))(variable4) /*PartialOrderElement::greaters_and_self*/;
@@ -59,46 +59,46 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     variable5 = ((abstract_collection___Iterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*Iterator::item*/;
     variable6 = TAG_Bool(( variable5 /*m*/==NIT_NULL) || VAL_ISA( variable5 /*m*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
     if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling___MMSrcModule___compile_prog_to_c, LOCATE_compiling, 44); nit_exit(1);}
-    variable6 = NEW_string___String___init(); /*new String*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable6 = NEW_String_string___String___init(); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
     variable9 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
     variable10 = variable9;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
     variable13 = ((abstractmetamodel___MMModule___name_t)CALL( variable5 /*m*/,COLOR_abstractmetamodel___MMModule___name))( variable5 /*m*/) /*MMModule::name*/;
     variable14 = variable13;
     variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-    variable15 = NEW_string___String___with_native(BOX_NativeString("._sep.c"), TAG_Int(7)); /*new String*/
+    variable15 = NEW_String_string___String___with_native(BOX_NativeString("._sep.c"), TAG_Int(7)); /*new String*/
     variable16 = variable15;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
     ((array___AbstractArray___add_t)CALL( variable2 /*files*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*files*/, variable6) /*AbstractArray::add*/;
     ((compiling___MMSrcModule___compile_separate_module_t)CALL( variable5 /*m*/,COLOR_compiling___MMSrcModule___compile_separate_module))( variable5 /*m*/,  variable0 /*tc*/,  variable1 /*ga*/) /*MMSrcModule::compile_separate_module*/;
     variable7 = ((mmloader___MMModule___filename_t)CALL( variable5 /*m*/,COLOR_mmloader___MMModule___filename))( variable5 /*m*/) /*MMModule::filename*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(".nit"), TAG_Int(4)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString(".nit"), TAG_Int(4)); /*new String*/
     variable7 = ((file___String___strip_extension_t)CALL(variable7,COLOR_file___String___strip_extension))(variable7, variable8) /*String::strip_extension*/;
     variable6 = variable7;
-    variable7 = NEW_string___String___with_native(BOX_NativeString("_nit.h"), TAG_Int(6)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("_nit.h"), TAG_Int(6)); /*new String*/
     variable7 = ((string___String_____plus_t)CALL( variable6 /*native_name*/,COLOR_string___String_____plus))( variable6 /*native_name*/, variable7) /*String::+*/;
     variable7 = ((file___String___file_exists_t)CALL(variable7,COLOR_file___String___file_exists))(variable7) /*String::file_exists*/;
     if (UNTAG_Bool(variable7)) { /*if*/
-      variable7 = NEW_string___String___init(); /*new String*/
-      variable8 = NEW_string___String___with_native(BOX_NativeString("-I "), TAG_Int(3)); /*new String*/
+      variable7 = NEW_String_string___String___init(); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString("-I "), TAG_Int(3)); /*new String*/
       variable9 = variable8;
       ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
       variable10 = ((file___String___dirname_t)CALL( variable6 /*native_name*/,COLOR_file___String___dirname))( variable6 /*native_name*/) /*String::dirname*/;
       variable11 = variable10;
       ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
-      variable12 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable12 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable13 = variable12;
       ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
       ((array___ArraySet___add_t)CALL( variable3 /*includes*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*includes*/, variable7) /*ArraySet::add*/;
     }
-    variable7 = NEW_string___String___with_native(BOX_NativeString("_nit.c"), TAG_Int(6)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("_nit.c"), TAG_Int(6)); /*new String*/
     ((string___String___append_t)CALL( variable6 /*native_name*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*native_name*/, variable7) /*String::append*/;
     variable7 = ((file___String___file_exists_t)CALL( variable6 /*native_name*/,COLOR_file___String___file_exists))( variable6 /*native_name*/) /*String::file_exists*/;
     if (UNTAG_Bool(variable7)) { /*if*/
@@ -108,105 +108,105 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
   }
   break_2: while(0);
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable8 = variable7;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
   variable11 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable12 = variable11;
   variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("._tables.c"), TAG_Int(10)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString("._tables.c"), TAG_Int(10)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
   ((array___AbstractArray___add_t)CALL( variable2 /*files*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*files*/, variable4) /*AbstractArray::add*/;
   ((compiling___MMSrcModule___compile_main_t)CALL( self,COLOR_compiling___MMSrcModule___compile_main))( self,  variable0 /*tc*/,  variable1 /*ga*/) /*MMSrcModule::compile_main*/;
-  variable5 = NEW_string___String___init(); /*new String*/
-  variable6 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___init(); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
   variable8 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable9 = variable8;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
   variable12 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable13 = variable12;
   variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString("._build.sh"), TAG_Int(10)); /*new String*/
+  variable14 = NEW_String_string___String___with_native(BOX_NativeString("._build.sh"), TAG_Int(10)); /*new String*/
   variable15 = variable14;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
   variable4 = variable5;
-  variable6 = NEW_file___OFStream___open( variable4 /*fn*/); /*new OFStream*/
+  variable6 = NEW_OFStream_file___OFStream___open( variable4 /*fn*/); /*new OFStream*/
   variable5 = variable6;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("#!/bin/sh\n"), TAG_Int(10)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("#!/bin/sh\n"), TAG_Int(10)); /*new String*/
   ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
-  variable6 = NEW_string___String___init(); /*new String*/
-  variable7 = NEW_string___String___with_native(BOX_NativeString("# This shell script is generated by NIT to compile the program "), TAG_Int(63)); /*new String*/
+  variable6 = NEW_String_string___String___init(); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("# This shell script is generated by NIT to compile the program "), TAG_Int(63)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
   variable9 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable10 = variable9;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(".\n"), TAG_Int(2)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(".\n"), TAG_Int(2)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
-  variable6 = NEW_string___String___init(); /*new String*/
-  variable7 = NEW_string___String___with_native(BOX_NativeString("CLIBDIR=\""), TAG_Int(9)); /*new String*/
+  variable6 = NEW_String_string___String___init(); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("CLIBDIR=\""), TAG_Int(9)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
   variable9 = ((compiling_base___ToolContext___clibdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___clibdir))( variable0 /*tc*/) /*ToolContext::clibdir*/;
   variable10 = variable9;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("\"\n"), TAG_Int(2)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("\"\n"), TAG_Int(2)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
-  variable6 = NEW_string___String___init(); /*new String*/
-  variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable6 = NEW_String_string___String___init(); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
   variable9 = ((compiling_base___ToolContext___bindir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___bindir))( variable0 /*tc*/) /*ToolContext::bindir*/;
   variable10 = variable9;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("/gccx -d "), TAG_Int(9)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("/gccx -d "), TAG_Int(9)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
   variable13 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable14 = variable13;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(" -I $CLIBDIR "), TAG_Int(13)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString(" -I $CLIBDIR "), TAG_Int(13)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
+  variable17 = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
   variable17 = ((string___Collection___join_t)CALL( variable3 /*includes*/,COLOR_string___Collection___join))( variable3 /*includes*/, variable17) /*Collection::join*/;
   variable18 = variable17;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable19 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable20 = variable19;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
   variable6 = ((compiling_base___ToolContext___output_file_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___output_file))( variable0 /*tc*/) /*ToolContext::output_file*/;
   variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable6 ==  NIT_NULL /*null*/) || ((variable6 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable6, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))(variable6,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___init(); /*new String*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)); /*new String*/
+    variable6 = NEW_String_string___String___init(); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
     variable9 = ((compiling_base___ToolContext___output_file_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___output_file))( variable0 /*tc*/) /*ToolContext::output_file*/;
     variable10 = variable9;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
     ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
@@ -214,34 +214,34 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     variable6 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
     variable6 = ((array___AbstractArray___is_empty_t)CALL(variable6,COLOR_abstract_collection___Collection___is_empty))(variable6) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable6)) { /*if*/
-      variable6 = NEW_string___String___init(); /*new String*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)); /*new String*/
+      variable6 = NEW_String_string___String___init(); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
       variable9 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
       variable10 = variable9;
       variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-      variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable12 = variable11;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
       ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
     } else { /*if*/
-      variable6 = NEW_string___String___init(); /*new String*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)); /*new String*/
+      variable6 = NEW_String_string___String___init(); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
       variable9 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
       variable10 = variable9;
       variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-      variable11 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+      variable11 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
       variable12 = variable11;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
       variable13 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
       variable14 = variable13;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-      variable15 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable15 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable16 = variable15;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
       ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
@@ -249,18 +249,18 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   }
   variable6 = ((compiling_base___ToolContext___boost_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___boost))( variable0 /*tc*/) /*ToolContext::boost*/;
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString(" -O"), TAG_Int(3)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString(" -O"), TAG_Int(3)); /*new String*/
     ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
   }
-  variable6 = NEW_string___String___init(); /*new String*/
-  variable7 = NEW_string___String___with_native(BOX_NativeString(" \"$@\" \\\n  "), TAG_Int(10)); /*new String*/
+  variable6 = NEW_String_string___String___init(); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(" \"$@\" \\\n  "), TAG_Int(10)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("\\\n  "), TAG_Int(4)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("\\\n  "), TAG_Int(4)); /*new String*/
   variable9 = ((string___Collection___join_t)CALL( variable2 /*files*/,COLOR_string___Collection___join))( variable2 /*files*/, variable9) /*Collection::join*/;
   variable10 = variable9;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
@@ -268,13 +268,13 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   variable6 = ((compiling_base___ToolContext___no_cc_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___no_cc))( variable0 /*tc*/) /*ToolContext::no_cc*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable6)))) { /*if*/
     variable6 = (G_sys);
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("sh "), TAG_Int(3)); /*new String*/
+    variable7 = NEW_String_string___String___init(); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("sh "), TAG_Int(3)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
     variable10 =  variable4 /*fn*/;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
     ((exec___Sys___system_t)CALL(variable6,COLOR_exec___Sys___system))(variable6, variable7) /*Sys::system*/;
@@ -303,43 +303,43 @@ void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  p
   trace.file = LOCATE_compiling;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_compiling_base___CompilerVisitor___init( self); /*new CompilerVisitor*/
+  variable3 = NEW_CompilerVisitor_compiling_base___CompilerVisitor___init( self); /*new CompilerVisitor*/
   variable2 = variable3;
   ((compiling_base___CompilerVisitor___tc__eq_t)CALL( variable2 /*v*/,COLOR_compiling_base___CompilerVisitor___tc__eq))( variable2 /*v*/,  variable0 /*tc*/) /*CompilerVisitor::tc=*/;
   ((compiling_global___CompilerVisitor___global_analysis__eq_t)CALL( variable2 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis__eq))( variable2 /*v*/,  variable1 /*ga*/) /*CompilerVisitor::global_analysis=*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("#include <nit_common.h>"), TAG_Int(23)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("#include <nit_common.h>"), TAG_Int(23)); /*new String*/
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable2 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable2 /*v*/, variable3) /*CompilerVisitor::add_decl*/;
   ((compiling_global___MMSrcModule___compile_tables_to_c_t)CALL( self,COLOR_compiling_global___MMSrcModule___compile_tables_to_c))( self,  variable2 /*v*/) /*MMSrcModule::compile_tables_to_c*/;
   ((compiling_global___MMSrcModule___compile_main_part_t)CALL( self,COLOR_compiling_global___MMSrcModule___compile_main_part))( self,  variable2 /*v*/) /*MMSrcModule::compile_main_part*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable8 = variable7;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
   variable11 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable12 = variable11;
   variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("._tables.c"), TAG_Int(10)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString("._tables.c"), TAG_Int(10)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
-  variable5 = NEW_file___OFStream___open(variable4); /*new OFStream*/
+  variable5 = NEW_OFStream_file___OFStream___open(variable4); /*new OFStream*/
   variable4 = variable5;
   variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("/* This C file is generated by NIT to compile program "), TAG_Int(54)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("/* This C file is generated by NIT to compile program "), TAG_Int(54)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable8 = variable7;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable3 /*f*/,COLOR_stream___OStream___write))( variable3 /*f*/, variable4) /*OFStream::write*/;
@@ -350,15 +350,15 @@ void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  p
     variable5 = ((abstract_collection___Iterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable5)) break; /*for*/
     variable5 = ((abstract_collection___Iterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*Iterator::item*/;
-    variable6 = NEW_string___String___init(); /*new String*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)); /*new String*/
+    variable6 = NEW_String_string___String___init(); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
     variable9 = ((abstractmetamodel___MMModule___name_t)CALL( variable5 /*m*/,COLOR_abstractmetamodel___MMModule___name))( variable5 /*m*/) /*MMModule::name*/;
     variable10 = variable9;
     variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
     ((file___OFStream___write_t)CALL( variable3 /*f*/,COLOR_stream___OStream___write))( variable3 /*f*/, variable6) /*OFStream::write*/;
@@ -395,88 +395,88 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   trace.file = LOCATE_compiling;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_compiling_base___CompilerVisitor___init( self); /*new CompilerVisitor*/
+  variable3 = NEW_CompilerVisitor_compiling_base___CompilerVisitor___init( self); /*new CompilerVisitor*/
   variable2 = variable3;
   ((compiling_base___CompilerVisitor___tc__eq_t)CALL( variable2 /*v*/,COLOR_compiling_base___CompilerVisitor___tc__eq))( variable2 /*v*/,  variable0 /*tc*/) /*CompilerVisitor::tc=*/;
   ((compiling_global___CompilerVisitor___global_analysis__eq_t)CALL( variable2 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis__eq))( variable2 /*v*/,  variable1 /*ga*/) /*CompilerVisitor::global_analysis=*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("#include <nit_common.h>"), TAG_Int(23)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("#include <nit_common.h>"), TAG_Int(23)); /*new String*/
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable2 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable2 /*v*/, variable3) /*CompilerVisitor::add_decl*/;
   variable4 = ((mmloader___MMModule___filename_t)CALL( self,COLOR_mmloader___MMModule___filename))( self) /*MMModule::filename*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(".nit"), TAG_Int(4)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(".nit"), TAG_Int(4)); /*new String*/
   variable4 = ((file___String___strip_extension_t)CALL(variable4,COLOR_file___String___strip_extension))(variable4, variable5) /*String::strip_extension*/;
   variable3 = variable4;
-  variable4 = NEW_string___String___with_native(BOX_NativeString("_nit.h"), TAG_Int(6)); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("_nit.h"), TAG_Int(6)); /*new String*/
   ((string___String___append_t)CALL( variable3 /*native_name*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*native_name*/, variable4) /*String::append*/;
   variable4 = ((file___String___file_exists_t)CALL( variable3 /*native_name*/,COLOR_file___String___file_exists))( variable3 /*native_name*/) /*String::file_exists*/;
   if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = NEW_string___String___init(); /*new String*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("#include <"), TAG_Int(10)); /*new String*/
+    variable4 = NEW_String_string___String___init(); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("#include <"), TAG_Int(10)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-    variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable7 = ((file___String___basename_t)CALL( variable3 /*native_name*/,COLOR_file___String___basename))( variable3 /*native_name*/, variable7) /*String::basename*/;
     variable8 = variable7;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
     variable10 = variable9;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable2 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable2 /*v*/, variable4) /*CompilerVisitor::add_decl*/;
   }
   ((compiling_global___MMSrcModule___declare_class_tables_to_c_t)CALL( self,COLOR_compiling_global___MMSrcModule___declare_class_tables_to_c))( self,  variable2 /*v*/) /*MMSrcModule::declare_class_tables_to_c*/;
   ((compiling_global___MMSrcModule___compile_mod_to_c_t)CALL( self,COLOR_compiling_global___MMSrcModule___compile_mod_to_c))( self,  variable2 /*v*/) /*MMSrcModule::compile_mod_to_c*/;
-  variable5 = NEW_string___String___init(); /*new String*/
-  variable6 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___init(); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
   variable8 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable9 = variable8;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
   variable12 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable13 = variable12;
   variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString("._sep.h"), TAG_Int(7)); /*new String*/
+  variable14 = NEW_String_string___String___with_native(BOX_NativeString("._sep.h"), TAG_Int(7)); /*new String*/
   variable15 = variable14;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
-  variable6 = NEW_file___OFStream___open(variable5); /*new OFStream*/
+  variable6 = NEW_OFStream_file___OFStream___open(variable5); /*new OFStream*/
   variable5 = variable6;
   variable4 = variable5;
-  variable5 = NEW_string___String___init(); /*new String*/
-  variable6 = NEW_string___String___with_native(BOX_NativeString("/* This C header file is generated by NIT to compile modules and programs that requires "), TAG_Int(88)); /*new String*/
+  variable5 = NEW_String_string___String___init(); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("/* This C header file is generated by NIT to compile modules and programs that requires "), TAG_Int(88)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
   variable8 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable4 /*f*/,COLOR_stream___OStream___write))( variable4 /*f*/, variable5) /*OFStream::write*/;
-  variable5 = NEW_string___String___init(); /*new String*/
-  variable6 = NEW_string___String___with_native(BOX_NativeString("#ifndef "), TAG_Int(8)); /*new String*/
+  variable5 = NEW_String_string___String___init(); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("#ifndef "), TAG_Int(8)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
   variable8 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable4 /*f*/,COLOR_stream___OStream___write))( variable4 /*f*/, variable5) /*OFStream::write*/;
-  variable5 = NEW_string___String___init(); /*new String*/
-  variable6 = NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
+  variable5 = NEW_String_string___String___init(); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
   variable8 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable4 /*f*/,COLOR_stream___OStream___write))( variable4 /*f*/, variable5) /*OFStream::write*/;
@@ -487,15 +487,15 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
     variable6 = ((array___ArrayIterator___is_ok_t)CALL(variable5,COLOR_abstract_collection___Iterator___is_ok))(variable5) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable6)) break; /*for*/
     variable6 = ((array___ArrayIterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*ArrayIterator::item*/;
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)); /*new String*/
+    variable7 = NEW_String_string___String___init(); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
     variable10 = ((abstractmetamodel___MMModule___name_t)CALL( variable6 /*m*/,COLOR_abstractmetamodel___MMModule___name))( variable6 /*m*/) /*MMModule::name*/;
     variable11 = variable10;
     variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
+    variable12 = NEW_String_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
     variable13 = variable12;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
     ((file___OFStream___write_t)CALL( variable4 /*f*/,COLOR_stream___OStream___write))( variable4 /*f*/, variable7) /*OFStream::write*/;
@@ -505,62 +505,62 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   break_6: while(0);
   variable5 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable2 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable2 /*v*/) /*CompilerVisitor::ctx*/;
   variable5 = ((compiling_base___CContext___decls_t)CALL(variable5,COLOR_compiling_base___CContext___decls))(variable5) /*CContext::decls*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
   variable5 = ((string___Collection___join_t)CALL(variable5,COLOR_string___Collection___join))(variable5, variable6) /*Collection::join*/;
   ((file___OFStream___write_t)CALL( variable4 /*f*/,COLOR_stream___OStream___write))( variable4 /*f*/, variable5) /*OFStream::write*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("\n#endif\n"), TAG_Int(8)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("\n#endif\n"), TAG_Int(8)); /*new String*/
   ((file___OFStream___write_t)CALL( variable4 /*f*/,COLOR_stream___OStream___write))( variable4 /*f*/, variable5) /*OFStream::write*/;
   ((file___OFStream___close_t)CALL( variable4 /*f*/,COLOR_stream___IOS___close))( variable4 /*f*/) /*OFStream::close*/;
-  variable6 = NEW_string___String___init(); /*new String*/
-  variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable6 = NEW_String_string___String___init(); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
   variable9 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable10 = variable9;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
   variable13 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable14 = variable13;
   variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString("._sep.c"), TAG_Int(7)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString("._sep.c"), TAG_Int(7)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-  variable7 = NEW_file___OFStream___open(variable6); /*new OFStream*/
+  variable7 = NEW_OFStream_file___OFStream___open(variable6); /*new OFStream*/
   variable6 = variable7;
   variable5 = variable6;
-  variable6 = NEW_string___String___init(); /*new String*/
-  variable7 = NEW_string___String___with_native(BOX_NativeString("/* This C file is generated by NIT to compile module "), TAG_Int(53)); /*new String*/
+  variable6 = NEW_String_string___String___init(); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("/* This C file is generated by NIT to compile module "), TAG_Int(53)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
   variable9 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable10 = variable9;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
-  variable6 = NEW_string___String___init(); /*new String*/
-  variable7 = NEW_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)); /*new String*/
+  variable6 = NEW_String_string___String___init(); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
   variable9 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable10 = variable9;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
   variable6 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable2 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable2 /*v*/) /*CompilerVisitor::ctx*/;
   variable6 = ((compiling_base___CContext___instrs_t)CALL(variable6,COLOR_compiling_base___CContext___instrs))(variable6) /*CContext::instrs*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
   variable6 = ((string___Collection___join_t)CALL(variable6,COLOR_string___Collection___join))(variable6, variable7) /*Collection::join*/;
   ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
   ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
   ((file___OFStream___close_t)CALL( variable5 /*f*/,COLOR_stream___IOS___close))( variable5 /*f*/) /*OFStream::close*/;
   tracehead = trace.prev;
index 9ad4c75..fc1b01e 100644 (file)
@@ -149,13 +149,13 @@ void compiling_base___CompilerVisitor___add_decl(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/;
     variable1 = ((compiling_base___CContext___decls_t)CALL(variable1,COLOR_compiling_base___CContext___decls))(variable1) /*CContext::decls*/;
-    variable2 = NEW_string___String___with_native(BOX_NativeString("\t\t"), TAG_Int(2)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("\t\t"), TAG_Int(2)); /*new String*/
     variable2 = ((string___String_____plus_t)CALL(variable2,COLOR_string___String_____plus))(variable2,  variable0 /*s*/) /*String::+*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*AbstractArray::add*/;
   } else { /*if*/
     variable1 = ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/;
     variable1 = ((compiling_base___CContext___decls_t)CALL(variable1,COLOR_compiling_base___CContext___decls))(variable1) /*CContext::decls*/;
-    variable2 = NEW_string___String___with_native(BOX_NativeString("  "), TAG_Int(2)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("  "), TAG_Int(2)); /*new String*/
     variable3 = ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/;
     variable2 = ((string___String_____star_t)CALL(variable2,COLOR_string___String_____star))(variable2, variable3) /*String::**/;
     variable2 = ((string___String_____plus_t)CALL(variable2,COLOR_string___String_____plus))(variable2,  variable0 /*s*/) /*String::+*/;
@@ -178,13 +178,13 @@ void compiling_base___CompilerVisitor___add_instr(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/;
     variable1 = ((compiling_base___CContext___instrs_t)CALL(variable1,COLOR_compiling_base___CContext___instrs))(variable1) /*CContext::instrs*/;
-    variable2 = NEW_string___String___with_native(BOX_NativeString("\t\t"), TAG_Int(2)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("\t\t"), TAG_Int(2)); /*new String*/
     variable2 = ((string___String_____plus_t)CALL(variable2,COLOR_string___String_____plus))(variable2,  variable0 /*s*/) /*String::+*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*AbstractArray::add*/;
   } else { /*if*/
     variable1 = ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/;
     variable1 = ((compiling_base___CContext___instrs_t)CALL(variable1,COLOR_compiling_base___CContext___instrs))(variable1) /*CContext::instrs*/;
-    variable2 = NEW_string___String___with_native(BOX_NativeString("  "), TAG_Int(2)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("  "), TAG_Int(2)); /*new String*/
     variable3 = ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/;
     variable2 = ((string___String_____star_t)CALL(variable2,COLOR_string___String_____star))(variable2, variable3) /*String::**/;
     variable2 = ((string___String_____plus_t)CALL(variable2,COLOR_string___String_____plus))(variable2,  variable0 /*s*/) /*String::+*/;
@@ -237,7 +237,7 @@ val_t compiling_base___CompilerVisitor___to_s(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_base;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[String]*/
   variable0 = variable1;
   variable1 = ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/;
   variable1 = ((compiling_base___CContext___decls_t)CALL(variable1,COLOR_compiling_base___CContext___decls))(variable1) /*CContext::decls*/;
@@ -245,9 +245,9 @@ val_t compiling_base___CompilerVisitor___to_s(val_t  self) {
   variable1 = ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/;
   variable1 = ((compiling_base___CContext___instrs_t)CALL(variable1,COLOR_compiling_base___CContext___instrs))(variable1) /*CContext::instrs*/;
   ((abstract_collection___IndexedCollection___append_t)CALL( variable0 /*out*/,COLOR_abstract_collection___IndexedCollection___append))( variable0 /*out*/, variable1) /*IndexedCollection::append*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   ((array___AbstractArray___add_t)CALL( variable0 /*out*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*out*/, variable1) /*AbstractArray::add*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
   variable1 = ((string___Collection___join_t)CALL( variable0 /*out*/,COLOR_string___Collection___join))( variable0 /*out*/, variable1) /*Collection::join*/;
   variable0 = variable1;
   goto return_label5;
@@ -378,15 +378,15 @@ val_t compiling_base___MMGlobalProperty___meth_call(val_t  self) {
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_base;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString("CALL_"), TAG_Int(5)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("CALL_"), TAG_Int(5)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
   variable3 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable3,COLOR_compiling_base___MMLocalProperty___cname))(variable3) /*MMLocalProperty::cname*/;
   variable4 = variable3;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   goto return_label9;
@@ -405,15 +405,15 @@ val_t compiling_base___MMGlobalProperty___attr_access(val_t  self) {
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_base;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString("ATTR_"), TAG_Int(5)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("ATTR_"), TAG_Int(5)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
   variable3 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable3,COLOR_compiling_base___MMLocalProperty___cname))(variable3) /*MMLocalProperty::cname*/;
   variable4 = variable3;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   goto return_label10;
@@ -432,15 +432,15 @@ val_t compiling_base___MMGlobalProperty___color_id(val_t  self) {
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_base;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
   variable3 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable3,COLOR_compiling_base___MMLocalProperty___cname))(variable3) /*MMLocalProperty::cname*/;
   variable4 = variable3;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   goto return_label11;
@@ -459,8 +459,8 @@ val_t compiling_base___MMGlobalClass___id_id(val_t  self) {
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_base;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString("ID_"), TAG_Int(3)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("ID_"), TAG_Int(3)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___intro))( self) /*MMGlobalClass::intro*/;
@@ -468,7 +468,7 @@ val_t compiling_base___MMGlobalClass___id_id(val_t  self) {
   variable4 = variable3;
   variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   goto return_label12;
@@ -487,8 +487,8 @@ val_t compiling_base___MMGlobalClass___color_id(val_t  self) {
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_base;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___intro))( self) /*MMGlobalClass::intro*/;
@@ -496,7 +496,7 @@ val_t compiling_base___MMGlobalClass___color_id(val_t  self) {
   variable4 = variable3;
   variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   goto return_label13;
@@ -515,8 +515,8 @@ val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t  self) {
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_base;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString("INIT_TABLE_POS_"), TAG_Int(15)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("INIT_TABLE_POS_"), TAG_Int(15)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___intro))( self) /*MMGlobalClass::intro*/;
@@ -524,7 +524,7 @@ val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t  self) {
   variable4 = variable3;
   variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   goto return_label14;
@@ -617,25 +617,25 @@ val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_base;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable1 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, PrimitiveInfo]*/
   variable0 = variable1;
-  variable2 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[E]*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
+  variable2 = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*AbstractArray::add*/;
-  variable4 = NEW_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable4) /*AbstractArray::add*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable5) /*AbstractArray::add*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable6) /*AbstractArray::add*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("NativeString"), TAG_Int(12)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("NativeString"), TAG_Int(12)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable7) /*AbstractArray::add*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("NativeArray"), TAG_Int(11)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("NativeArray"), TAG_Int(11)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable8) /*AbstractArray::add*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("Pointer"), TAG_Int(7)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("Pointer"), TAG_Int(7)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable9) /*AbstractArray::add*/;
   variable1 = variable2;
-  variable3 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[Bool]*/
   ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(true)) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(true)) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(true)) /*AbstractArray::add*/;
@@ -644,24 +644,24 @@ val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
   ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(false)) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(false)) /*AbstractArray::add*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[E]*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("bigint"), TAG_Int(6)); /*new String*/
+  variable4 = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("bigint"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable5) /*AbstractArray::add*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("char"), TAG_Int(4)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("char"), TAG_Int(4)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable6) /*AbstractArray::add*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("int"), TAG_Int(3)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("int"), TAG_Int(3)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable7) /*AbstractArray::add*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("float"), TAG_Int(5)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("float"), TAG_Int(5)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable8) /*AbstractArray::add*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("char *"), TAG_Int(6)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("char *"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable9) /*AbstractArray::add*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("val_t *"), TAG_Int(7)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("val_t *"), TAG_Int(7)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable10) /*AbstractArray::add*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("void *"), TAG_Int(6)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("void *"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable11) /*AbstractArray::add*/;
   variable3 = variable4;
   variable4 = ((array___AbstractArray___length_t)CALL( variable1 /*pnames*/,COLOR_abstract_collection___Collection___length))( variable1 /*pnames*/) /*AbstractArray::length*/;
-  variable5 = NEW_range___Range___without_last( TAG_Int(0), variable4); /*new Range[E]*/
+  variable5 = NEW_Range_range___Range___without_last( TAG_Int(0), variable4); /*new Range[Int]*/
   variable4 = variable5;
   variable4 = ((range___Range___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Range::iterator*/;
   while (true) { /*for*/
@@ -684,7 +684,7 @@ val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
     variable7 = variable8;
     variable7 = ((symbol___String___to_symbol_t)CALL(variable7,COLOR_symbol___String___to_symbol))(variable7) /*String::to_symbol*/;
     variable6 = variable7;
-    variable8 = NEW_compiling_base___PrimitiveInfo___init(); /*new PrimitiveInfo*/
+    variable8 = NEW_PrimitiveInfo_compiling_base___PrimitiveInfo___init(); /*new PrimitiveInfo*/
     variable7 = variable8;
     ((compiling_base___PrimitiveInfo___name__eq_t)CALL( variable7 /*pi*/,COLOR_compiling_base___PrimitiveInfo___name__eq))( variable7 /*pi*/,  variable6 /*n*/) /*PrimitiveInfo::name=*/;
     variable8 =  variable5 /*i*/;
@@ -793,7 +793,7 @@ val_t compiling_base___MMType___cname(val_t  self) {
   variable0 = variable1;
   variable1 = TAG_Bool(( variable0 /*pi*/ ==  NIT_NULL /*null*/) || (( variable0 /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*pi*/,COLOR_kernel___Object_____eqeq))( variable0 /*pi*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)); /*new String*/
     variable0 = variable1;
     goto return_label24;
   } else { /*if*/
@@ -831,8 +831,8 @@ val_t compiling_base___MMType___default_cvalue(val_t  self) {
   }
   variable1 = variable2;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_string___String___init(); /*new String*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString("TAG_"), TAG_Int(4)); /*new String*/
+    variable1 = NEW_String_string___String___init(); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("TAG_"), TAG_Int(4)); /*new String*/
     variable3 = variable2;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
     variable4 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
@@ -840,19 +840,19 @@ val_t compiling_base___MMType___default_cvalue(val_t  self) {
     variable5 = variable4;
     variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
     variable8 = ((compiling_base___PrimitiveInfo___cname_t)CALL( variable0 /*pi*/,COLOR_compiling_base___PrimitiveInfo___cname))( variable0 /*pi*/) /*PrimitiveInfo::cname*/;
     variable9 = variable8;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-    variable10 = NEW_string___String___with_native(BOX_NativeString(")0)"), TAG_Int(3)); /*new String*/
+    variable10 = NEW_String_string___String___with_native(BOX_NativeString(")0)"), TAG_Int(3)); /*new String*/
     variable11 = variable10;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
     variable0 = variable1;
     goto return_label25;
   } else { /*if*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString("NIT_NULL"), TAG_Int(8)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("NIT_NULL"), TAG_Int(8)); /*new String*/
     variable0 = variable1;
     goto return_label25;
   }
@@ -887,8 +887,8 @@ val_t compiling_base___MMType___boxtype(val_t  self, val_t  param0) {
   } else { /*if*/
     variable2 = ((compiling_base___PrimitiveInfo___tagged_t)CALL( variable1 /*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged))( variable1 /*pi*/) /*PrimitiveInfo::tagged*/;
     if (UNTAG_Bool(variable2)) { /*if*/
-      variable2 = NEW_string___String___init(); /*new String*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString("TAG_"), TAG_Int(4)); /*new String*/
+      variable2 = NEW_String_string___String___init(); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("TAG_"), TAG_Int(4)); /*new String*/
       variable4 = variable3;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
       variable5 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
@@ -896,19 +896,19 @@ val_t compiling_base___MMType___boxtype(val_t  self, val_t  param0) {
       variable6 = variable5;
       variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-      variable7 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
       variable9 =  variable0 /*s*/;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable9) /*String::append*/;
-      variable10 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+      variable10 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
       variable11 = variable10;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable11) /*String::append*/;
       variable1 = variable2;
       goto return_label26;
     } else { /*if*/
-      variable2 = NEW_string___String___init(); /*new String*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString("BOX_"), TAG_Int(4)); /*new String*/
+      variable2 = NEW_String_string___String___init(); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("BOX_"), TAG_Int(4)); /*new String*/
       variable4 = variable3;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
       variable5 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
@@ -916,12 +916,12 @@ val_t compiling_base___MMType___boxtype(val_t  self, val_t  param0) {
       variable6 = variable5;
       variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-      variable7 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
       variable9 =  variable0 /*s*/;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable9) /*String::append*/;
-      variable10 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+      variable10 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
       variable11 = variable10;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable11) /*String::append*/;
       variable1 = variable2;
@@ -959,8 +959,8 @@ val_t compiling_base___MMType___unboxtype(val_t  self, val_t  param0) {
   } else { /*if*/
     variable2 = ((compiling_base___PrimitiveInfo___tagged_t)CALL( variable1 /*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged))( variable1 /*pi*/) /*PrimitiveInfo::tagged*/;
     if (UNTAG_Bool(variable2)) { /*if*/
-      variable2 = NEW_string___String___init(); /*new String*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString("UNTAG_"), TAG_Int(6)); /*new String*/
+      variable2 = NEW_String_string___String___init(); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("UNTAG_"), TAG_Int(6)); /*new String*/
       variable4 = variable3;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
       variable5 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
@@ -968,19 +968,19 @@ val_t compiling_base___MMType___unboxtype(val_t  self, val_t  param0) {
       variable6 = variable5;
       variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-      variable7 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
       variable9 =  variable0 /*s*/;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable9) /*String::append*/;
-      variable10 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+      variable10 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
       variable11 = variable10;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable11) /*String::append*/;
       variable1 = variable2;
       goto return_label27;
     } else { /*if*/
-      variable2 = NEW_string___String___init(); /*new String*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString("UNBOX_"), TAG_Int(6)); /*new String*/
+      variable2 = NEW_String_string___String___init(); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_"), TAG_Int(6)); /*new String*/
       variable4 = variable3;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
       variable5 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
@@ -988,12 +988,12 @@ val_t compiling_base___MMType___unboxtype(val_t  self, val_t  param0) {
       variable6 = variable5;
       variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-      variable7 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
       variable9 =  variable0 /*s*/;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable9) /*String::append*/;
-      variable10 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+      variable10 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
       variable11 = variable10;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable11) /*String::append*/;
       variable1 = variable2;
@@ -1015,7 +1015,7 @@ val_t compiling_base___MMLocalProperty___cname(val_t  self) {
   variable0 = ATTR_compiling_base___MMLocalProperty____cname_cache( self) /*MMLocalProperty::_cname_cache*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*String::==*/)));
   if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Symbol]*/
     variable1 = ((abstractmetamodel___MMLocalProperty___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___module))( self) /*MMLocalProperty::module*/;
     variable1 = ((abstractmetamodel___MMModule___name_t)CALL(variable1,COLOR_abstractmetamodel___MMModule___name))(variable1) /*MMModule::name*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -1044,14 +1044,14 @@ val_t compiling_base___MMLocalProperty___color_id_for_super(val_t  self) {
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_base;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString("COLOR_SUPER_"), TAG_Int(12)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("COLOR_SUPER_"), TAG_Int(12)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
   variable4 = variable3;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   goto return_label29;
index 57e7227..3176f63 100644 (file)
@@ -51,14 +51,14 @@ void compiling_global___ColorContext___color__eq(val_t  self, val_t  param0, val
   variable2 = ATTR_compiling_global___ColorContext____colors( self) /*ColorContext::_colors*/;
   variable2 = TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+    variable2 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[TableElt, Int]*/
     ATTR_compiling_global___ColorContext____colors( self) /*ColorContext::_colors*/ = variable2;
   }
   variable2 = ATTR_compiling_global___ColorContext____colors( self) /*ColorContext::_colors*/;
   ((hash___HashMap_____braeq_t)CALL(variable2,COLOR_abstract_collection___Map_____braeq))(variable2,  variable0 /*e*/,  variable1 /*c*/) /*HashMap::[]=*/;
   variable2 =  variable1 /*c*/;
   variable3 = ((compiling_global___TableElt___length_t)CALL( variable0 /*e*/,COLOR_compiling_global___TableElt___length))( variable0 /*e*/) /*TableElt::length*/;
-  variable4 = NEW_range___Range___without_last( TAG_Int(0), variable3); /*new Range[E]*/
+  variable4 = NEW_Range_range___Range___without_last( TAG_Int(0), variable3); /*new Range[Int]*/
   variable3 = variable4;
   variable3 = ((range___Range___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Range::iterator*/;
   while (true) { /*for*/
@@ -77,6 +77,13 @@ void compiling_global___ColorContext___color__eq(val_t  self, val_t  param0, val
   tracehead = trace.prev;
   return;
 }
+void compiling_global___ColorContext___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_compiling_global___ColorContext___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
+  tracehead = trace.prev;
+  return;
+}
 val_t compiling_global___GlobalAnalysis___compiled_classes(val_t  self) {
   struct trace_t trace = {NULL, NULL, 56, LOCATE_compiling_global___GlobalAnalysis___compiled_classes};
   trace.prev = tracehead; tracehead = &trace;
@@ -114,7 +121,7 @@ void compiling_global___GlobalAnalysis___init(val_t  self, val_t  param0, int* i
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_GlobalAnalysis].i]) return;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable1 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMGlobalClass, CompiledClass]*/
   ATTR_compiling_global___GlobalAnalysis____compiled_classes( self) /*GlobalAnalysis::_compiled_classes*/ = variable1;
   ATTR_compiling_global___GlobalAnalysis____module( self) /*GlobalAnalysis::_module*/ =  variable0 /*module*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_GlobalAnalysis].i] = 1;
@@ -290,27 +297,27 @@ void compiling_global___MMSrcLocalClass___build_layout_in(val_t  self, val_t  pa
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMGlobalProperty]*/
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[MMGlobalProperty]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[LocalTableElt]*/
   variable4 = variable5;
   ATTR_compiling_global___MMSrcLocalClass____class_layout( self) /*MMSrcLocalClass::_class_layout*/ =  variable4 /*clt*/;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[LocalTableElt]*/
   variable5 = variable6;
   ATTR_compiling_global___MMSrcLocalClass____instance_layout( self) /*MMSrcLocalClass::_instance_layout*/ =  variable5 /*ilt*/;
   variable6 = ((abstractmetamodel___MMLocalClass___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___global))( self) /*MMLocalClass::global*/;
   variable6 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable6,COLOR_abstractmetamodel___MMGlobalClass___intro))(variable6) /*MMGlobalClass::intro*/;
   variable6 = TAG_Bool((variable6 ==  self) || ((variable6 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable6, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))(variable6,  self) /*Object::==*/)))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_compiling_global___TableEltClassIdPos___init( self); /*new TableEltClassIdPos*/
+    variable6 = NEW_TableEltClassIdPos_compiling_global___TableEltClassIdPos___init( self); /*new TableEltClassIdPos*/
     ((array___AbstractArray___add_t)CALL( variable1 /*module_table*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*module_table*/, variable6) /*AbstractArray::add*/;
-    variable6 = NEW_compiling_global___TableEltClassColorPos___init( self); /*new TableEltClassColorPos*/
+    variable6 = NEW_TableEltClassColorPos_compiling_global___TableEltClassColorPos___init( self); /*new TableEltClassColorPos*/
     ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self) /*MMSrcLocalClass::_class_color_pos*/ = variable6;
     variable6 = ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self) /*MMSrcLocalClass::_class_color_pos*/;
     ((array___AbstractArray___add_t)CALL( variable1 /*module_table*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*module_table*/, variable6) /*AbstractArray::add*/;
-    variable6 = NEW_compiling_global___TableEltClassInitTablePos___init( self); /*new TableEltClassInitTablePos*/
+    variable6 = NEW_TableEltClassInitTablePos_compiling_global___TableEltClassInitTablePos___init( self); /*new TableEltClassInitTablePos*/
     ((array___AbstractArray___add_t)CALL( variable4 /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*clt*/, variable6) /*AbstractArray::add*/;
   }
   variable6 = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL( self,COLOR_syntax_base___MMSrcLocalClass___src_local_properties))( self) /*MMSrcLocalClass::src_local_properties*/;
@@ -329,7 +336,7 @@ void compiling_global___MMSrcLocalClass___build_layout_in(val_t  self, val_t  pa
         variable9 = ((array___AbstractArray___length_t)CALL( variable3 /*intro_attributes*/,COLOR_abstract_collection___Collection___length))( variable3 /*intro_attributes*/) /*AbstractArray::length*/;
         ((compiling_global___MMGlobalProperty___pos_of__eq_t)CALL( variable8 /*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of__eq))( variable8 /*pg*/, variable9) /*MMGlobalProperty::pos_of=*/;
         ((array___AbstractArray___add_t)CALL( variable3 /*intro_attributes*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*intro_attributes*/,  variable8 /*pg*/) /*AbstractArray::add*/;
-        variable9 = NEW_compiling_global___TableEltAttrPos___init( variable7 /*p*/); /*new TableEltAttrPos*/
+        variable9 = NEW_TableEltAttrPos_compiling_global___TableEltAttrPos___init( variable7 /*p*/); /*new TableEltAttrPos*/
         ((array___AbstractArray___add_t)CALL( variable5 /*ilt*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*ilt*/, variable9) /*AbstractArray::add*/;
       } else { /*if*/
         variable9 = TAG_Bool(( variable7 /*p*/==NIT_NULL) || VAL_ISA( variable7 /*p*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
@@ -337,7 +344,7 @@ void compiling_global___MMSrcLocalClass___build_layout_in(val_t  self, val_t  pa
           variable9 = ((array___AbstractArray___length_t)CALL( variable2 /*intro_methods*/,COLOR_abstract_collection___Collection___length))( variable2 /*intro_methods*/) /*AbstractArray::length*/;
           ((compiling_global___MMGlobalProperty___pos_of__eq_t)CALL( variable8 /*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of__eq))( variable8 /*pg*/, variable9) /*MMGlobalProperty::pos_of=*/;
           ((array___AbstractArray___add_t)CALL( variable2 /*intro_methods*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*intro_methods*/,  variable8 /*pg*/) /*AbstractArray::add*/;
-          variable9 = NEW_compiling_global___TableEltMethPos___init( variable7 /*p*/); /*new TableEltMethPos*/
+          variable9 = NEW_TableEltMethPos_compiling_global___TableEltMethPos___init( variable7 /*p*/); /*new TableEltMethPos*/
           ((array___AbstractArray___add_t)CALL( variable4 /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*clt*/, variable9) /*AbstractArray::add*/;
         }
       }
@@ -349,7 +356,7 @@ void compiling_global___MMSrcLocalClass___build_layout_in(val_t  self, val_t  pa
     }
     variable9 = variable10;
     if (UNTAG_Bool(variable9)) { /*if*/
-      variable9 = NEW_compiling_global___TableEltSuperPos___init( variable7 /*p*/); /*new TableEltSuperPos*/
+      variable9 = NEW_TableEltSuperPos_compiling_global___TableEltSuperPos___init( variable7 /*p*/); /*new TableEltSuperPos*/
       ((array___AbstractArray___add_t)CALL( variable4 /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*clt*/, variable9) /*AbstractArray::add*/;
     }
     continue_7: while(0);
@@ -364,7 +371,7 @@ void compiling_global___MMSrcLocalClass___build_layout_in(val_t  self, val_t  pa
   }
   variable6 = variable7;
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_compiling_global___TableEltBaseAttrPos___init( self); /*new TableEltBaseAttrPos*/
+    variable6 = NEW_TableEltBaseAttrPos_compiling_global___TableEltBaseAttrPos___init( self); /*new TableEltBaseAttrPos*/
     ATTR_compiling_global___MMSrcLocalClass____base_attr_pos( self) /*MMSrcLocalClass::_base_attr_pos*/ = variable6;
     variable6 = ATTR_compiling_global___MMSrcLocalClass____base_attr_pos( self) /*MMSrcLocalClass::_base_attr_pos*/;
     ((array___AbstractArray___add_t)CALL( variable4 /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*clt*/, variable6) /*AbstractArray::add*/;
@@ -384,7 +391,7 @@ void compiling_global___MMSrcModule___local_analysis(val_t  self, val_t  param0)
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[LocalTableElt]*/
   variable1 = variable2;
   ATTR_compiling_global___MMSrcModule____local_table( self) /*MMSrcModule::_local_table*/ =  variable1 /*lt*/;
   variable2 = ((syntax_base___MMSrcModule___src_local_classes_t)CALL( self,COLOR_syntax_base___MMSrcModule___src_local_classes))( self) /*MMSrcModule::src_local_classes*/;
@@ -427,24 +434,24 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
-  variable2 = NEW_compiling_global___GlobalAnalysis___init( self); /*new GlobalAnalysis*/
+  variable2 = NEW_GlobalAnalysis_compiling_global___GlobalAnalysis___init( self); /*new GlobalAnalysis*/
   variable1 = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
   variable2 = variable3;
-  variable4 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable4 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMGlobalProperty]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
   variable5 = variable6;
-  variable6 = NEW_compiling_global___TableEltClassSelfId___init(); /*new TableEltClassSelfId*/
+  variable6 = NEW_TableEltClassSelfId_compiling_global___TableEltClassSelfId___init(); /*new TableEltClassSelfId*/
   ((array___AbstractArray___add_t)CALL( variable4 /*ctab*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*ctab*/, variable6) /*AbstractArray::add*/;
-  variable6 = NEW_compiling_global___TableEltVftPointer___init(); /*new TableEltVftPointer*/
+  variable6 = NEW_TableEltVftPointer_compiling_global___TableEltVftPointer___init(); /*new TableEltVftPointer*/
   ((array___AbstractArray___add_t)CALL( variable5 /*itab*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*itab*/, variable6) /*AbstractArray::add*/;
   variable7 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   variable6 = variable7;
   variable7 =  TAG_Int(3);
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
   variable8 = variable9;
   variable9 = ((abstractmetamodel___MMModule___local_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___local_classes))( self) /*MMModule::local_classes*/;
   variable9 = ((array___AbstractArray___iterator_t)CALL(variable9,COLOR_abstract_collection___Collection___iterator))(variable9) /*AbstractArray::iterator*/;
@@ -458,7 +465,7 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
     ((array___ArrayIterator___next_t)CALL(variable9,COLOR_abstract_collection___Iterator___next))(variable9) /*ArrayIterator::next*/;
   }
   break_11: while(0);
-  variable9 = NEW_compiling_global___ClassSorter___init(); /*new ClassSorter*/
+  variable9 = NEW_ClassSorter_compiling_global___ClassSorter___init(); /*new ClassSorter*/
   ((sorter___AbstractSorter___sort_t)CALL(variable9,COLOR_sorter___AbstractSorter___sort))(variable9,  variable8 /*classes*/) /*AbstractSorter::sort*/;
   variable9 = ((array___AbstractArray___iterator_t)CALL( variable8 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable8 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -467,7 +474,7 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
     variable10 = ((array___ArrayIterator___item_t)CALL(variable9,COLOR_abstract_collection___Iterator___item))(variable9) /*ArrayIterator::item*/;
     ((inheritance___MMLocalClass___compute_ancestors_t)CALL( variable10 /*c*/,COLOR_inheritance___MMLocalClass___compute_ancestors))( variable10 /*c*/) /*MMLocalClass::compute_ancestors*/;
     ((inheritance___MMLocalClass___inherit_global_properties_t)CALL( variable10 /*c*/,COLOR_inheritance___MMLocalClass___inherit_global_properties))( variable10 /*c*/) /*MMLocalClass::inherit_global_properties*/;
-    variable12 = NEW_compiling_global___CompiledClass___init( variable10 /*c*/); /*new CompiledClass*/
+    variable12 = NEW_CompiledClass_compiling_global___CompiledClass___init( variable10 /*c*/); /*new CompiledClass*/
     variable11 = variable12;
     variable12 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable1 /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable1 /*ga*/) /*GlobalAnalysis::compiled_classes*/;
     variable13 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable10 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable10 /*c*/) /*MMLocalClass::global*/;
@@ -504,9 +511,9 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
     ((array___ArrayIterator___next_t)CALL(variable9,COLOR_abstract_collection___Iterator___next))(variable9) /*ArrayIterator::next*/;
   }
   break_12: while(0);
-  variable10 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable10 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMLocalClass]*/
   variable9 = variable10;
-  variable11 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable11 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMLocalClass]*/
   variable10 = variable11;
   variable11 = ((array___AbstractArray___iterator_t)CALL( variable2 /*smallest_classes*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*smallest_classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -602,9 +609,9 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
     variable16 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable13 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable13 /*c*/) /*MMLocalClass::global*/;
     variable15 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable15,COLOR_abstract_collection___Map_____bra))(variable15, variable16) /*CoupleMap::[]*/;
     variable14 = variable15;
-    variable16 = NEW_compiling_global___TableEltComposite___init( variable14 /*cc*/); /*new TableEltComposite*/
+    variable16 = NEW_TableEltComposite_compiling_global___TableEltComposite___init( variable14 /*cc*/); /*new TableEltComposite*/
     variable15 = variable16;
-    variable17 = NEW_compiling_global___TableEltComposite___init( variable14 /*cc*/); /*new TableEltComposite*/
+    variable17 = NEW_TableEltComposite_compiling_global___TableEltComposite___init( variable14 /*cc*/); /*new TableEltComposite*/
     variable16 = variable17;
     variable17 = ((abstractmetamodel___MMLocalClass___crhe_t)CALL( variable13 /*c*/,COLOR_abstractmetamodel___MMLocalClass___crhe))( variable13 /*c*/) /*MMLocalClass::crhe*/;
     variable17 = ((partial_order___PartialOrderElement___greaters_and_self_t)CALL(variable17,COLOR_partial_order___PartialOrderElement___greaters_and_self))(variable17) /*PartialOrderElement::greaters_and_self*/;
@@ -756,7 +763,7 @@ void compiling_global___MMSrcModule___append_to_table(val_t  self, val_t  param0
   variable1 =  param1;
   variable2 =  param2;
   variable3 = ((compiling_global___TableEltComposite___length_t)CALL( variable2 /*cmp*/,COLOR_compiling_global___TableElt___length))( variable2 /*cmp*/) /*TableEltComposite::length*/;
-  variable4 = NEW_range___Range___without_last( TAG_Int(0), variable3); /*new Range[E]*/
+  variable4 = NEW_Range_range___Range___without_last( TAG_Int(0), variable3); /*new Range[Int]*/
   variable3 = variable4;
   variable3 = ((range___Range___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Range::iterator*/;
   while (true) { /*for*/
@@ -793,7 +800,7 @@ val_t compiling_global___MMSrcModule___build_tables(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  variable4 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable4 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Int, TableElt]*/
   variable3 = variable4;
   variable4 =  TAG_Int(0);
   variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*elts*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*elts*/) /*AbstractArray::iterator*/;
@@ -818,7 +825,7 @@ val_t compiling_global___MMSrcModule___build_tables(val_t  self, val_t  param0,
     ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
   }
   break_24: while(0);
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
   variable5 = variable6;
   variable6 =  TAG_Int(0);
   while (true) { /*while*/
@@ -829,7 +836,7 @@ val_t compiling_global___MMSrcModule___build_tables(val_t  self, val_t  param0,
       variable8 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable3 /*tab*/,COLOR_abstract_collection___Map_____bra))( variable3 /*tab*/,  variable6 /*i*/) /*CoupleMap::[]*/;
       variable7 = variable8;
       variable8 = ((compiling_global___TableElt___length_t)CALL( variable7 /*e*/,COLOR_compiling_global___TableElt___length))( variable7 /*e*/) /*TableElt::length*/;
-      variable9 = NEW_range___Range___without_last( TAG_Int(0), variable8); /*new Range[E]*/
+      variable9 = NEW_Range_range___Range___without_last( TAG_Int(0), variable8); /*new Range[Int]*/
       variable8 = variable9;
       variable8 = ((range___Range___iterator_t)CALL(variable8,COLOR_abstract_collection___Collection___iterator))(variable8) /*Range::iterator*/;
       while (true) { /*for*/
@@ -882,9 +889,9 @@ void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t
   variable1 =  param1;
   variable2 =  param2;
   variable3 =  param3;
-  variable5 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable5 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Int, Array[TableElt]]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
   variable5 = variable6;
   variable6 = ((array___AbstractArray___iterator_t)CALL( variable1 /*elts*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*elts*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -959,7 +966,7 @@ void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t
       break_30: while(0);
       ((compiling_global___ColorContext___color__eq_t)CALL( variable0 /*ga*/,COLOR_compiling_global___ColorContext___color__eq))( variable0 /*ga*/,  variable7 /*e*/,  variable8 /*color*/) /*ColorContext::color=*/;
     }
-    variable10 = NEW_range___Range___without_last( TAG_Int(0),  variable9 /*len*/); /*new Range[E]*/
+    variable10 = NEW_Range_range___Range___without_last( TAG_Int(0),  variable9 /*len*/); /*new Range[Int]*/
     variable10 = ((range___Range___iterator_t)CALL(variable10,COLOR_abstract_collection___Collection___iterator))(variable10) /*Range::iterator*/;
     while (true) { /*for*/
       variable11 = ((abstract_collection___Iterator___is_ok_t)CALL(variable10,COLOR_abstract_collection___Iterator___is_ok))(variable10) /*Iterator::is_ok*/;
@@ -973,7 +980,7 @@ void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t
         ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  variable7 /*e*/) /*AbstractArray::add*/;
       } else { /*if*/
         variable12 = TAG_Int(UNTAG_Int( variable8 /*color*/)+UNTAG_Int( variable11 /*idx*/));
-        variable13 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+        variable13 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[TableElt]*/
         ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  variable7 /*e*/) /*AbstractArray::add*/;
         ((hash___HashMap_____braeq_t)CALL( variable4 /*colors*/,COLOR_abstract_collection___Map_____braeq))( variable4 /*colors*/, variable12, variable13) /*HashMap::[]=*/;
       }
@@ -1059,14 +1066,14 @@ void compiling_global___MMSrcModule___compile_tables_to_c(val_t  self, val_t  pa
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
   break_38: while(0);
-  variable2 = NEW_string___String___with_native(BOX_NativeString("classtable_t TAG2VFT[4] = {NULL"), TAG_Int(31)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("classtable_t TAG2VFT[4] = {NULL"), TAG_Int(31)); /*new String*/
   variable1 = variable2;
-  variable2 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
+  variable2 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*AbstractArray::add*/;
-  variable4 = NEW_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable4) /*AbstractArray::add*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable5) /*AbstractArray::add*/;
   variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -1076,25 +1083,25 @@ void compiling_global___MMSrcModule___compile_tables_to_c(val_t  self, val_t  pa
     variable4 = ((symbol___String___to_symbol_t)CALL( variable3 /*t*/,COLOR_symbol___String___to_symbol))( variable3 /*t*/) /*String::to_symbol*/;
     variable4 = ((abstractmetamodel___MMModule___has_global_class_named_t)CALL( self,COLOR_abstractmetamodel___MMModule___has_global_class_named))( self, variable4) /*MMModule::has_global_class_named*/;
     if (UNTAG_Bool(variable4)) { /*if*/
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString(", (const classtable_t)VFT_"), TAG_Int(26)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString(", (const classtable_t)VFT_"), TAG_Int(26)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 =  variable3 /*t*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-      variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable9 = variable8;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
       ((string___String___append_t)CALL( variable1 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*s*/, variable4) /*String::append*/;
     } else { /*if*/
-      variable4 = NEW_string___String___with_native(BOX_NativeString(", NULL"), TAG_Int(6)); /*new String*/
+      variable4 = NEW_String_string___String___with_native(BOX_NativeString(", NULL"), TAG_Int(6)); /*new String*/
       ((string___String___append_t)CALL( variable1 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*s*/, variable4) /*String::append*/;
     }
     continue_39: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
   break_39: while(0);
-  variable2 = NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
   ((string___String___append_t)CALL( variable1 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*s*/, variable2) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/,  variable1 /*s*/) /*CompilerVisitor::add_instr*/;
   tracehead = trace.prev;
@@ -1146,16 +1153,16 @@ void compiling_global___MMSrcModule___compile_main_part(val_t  self, val_t  para
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("int main(int argc, char **argv) {"), TAG_Int(33)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("int main(int argc, char **argv) {"), TAG_Int(33)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
   ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("prepare_signals();"), TAG_Int(18)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("prepare_signals();"), TAG_Int(18)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("glob_argc = argc; glob_argv = argv;"), TAG_Int(35)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("glob_argc = argc; glob_argv = argv;"), TAG_Int(35)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
   if (once_bool_variable2_43) variable2 = once_value_variable2_43;
   else {
-    variable2 = NEW_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)); /*new String*/
     variable2 = ((symbol___String___to_symbol_t)CALL(variable2,COLOR_symbol___String___to_symbol))(variable2) /*String::to_symbol*/;
     once_value_variable2_43 = variable2;
     once_bool_variable2_43 = true;
@@ -1163,14 +1170,14 @@ void compiling_global___MMSrcModule___compile_main_part(val_t  self, val_t  para
   variable1 = variable2;
   variable2 = ((abstractmetamodel___MMModule___has_global_class_named_t)CALL( self,COLOR_abstractmetamodel___MMModule___has_global_class_named))( self,  variable1 /*sysname*/) /*MMModule::has_global_class_named*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2)))) { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)); /*new String*/
     ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable2) /*Object::print*/;
   } else { /*if*/
     variable3 = ((abstractmetamodel___MMModule___class_by_name_t)CALL( self,COLOR_abstractmetamodel___MMModule___class_by_name))( self,  variable1 /*sysname*/) /*MMModule::class_by_name*/;
     variable2 = variable3;
     if (once_bool_variable4_44) variable4 = once_value_variable4_44;
     else {
-      variable4 = NEW_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)); /*new String*/
+      variable4 = NEW_String_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)); /*new String*/
       variable4 = ((symbol___String___to_symbol_t)CALL(variable4,COLOR_symbol___String___to_symbol))(variable4) /*String::to_symbol*/;
       once_value_variable4_44 = variable4;
       once_bool_variable4_44 = true;
@@ -1179,28 +1186,28 @@ void compiling_global___MMSrcModule___compile_main_part(val_t  self, val_t  para
     variable3 = variable4;
     variable4 = TAG_Bool(( variable3 /*mainm*/ ==  NIT_NULL /*null*/) || (( variable3 /*mainm*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*mainm*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*mainm*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*mainm*/,COLOR_kernel___Object_____eqeq))( variable3 /*mainm*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      variable4 = NEW_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)); /*new String*/
+      variable4 = NEW_String_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)); /*new String*/
       ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable4) /*Object::print*/;
     } else { /*if*/
-      variable4 = NEW_string___String___with_native(BOX_NativeString("G_sys = NEW_Sys();"), TAG_Int(18)); /*new String*/
+      variable4 = NEW_String_string___String___with_native(BOX_NativeString("G_sys = NEW_Sys();"), TAG_Int(18)); /*new String*/
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 = ((compiling_base___MMLocalProperty___cname_t)CALL( variable3 /*mainm*/,COLOR_compiling_base___MMLocalProperty___cname))( variable3 /*mainm*/) /*MMLocalProperty::cname*/;
       variable8 = variable7;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString("(G_sys);"), TAG_Int(8)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("(G_sys);"), TAG_Int(8)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
     }
   }
-  variable2 = NEW_string___String___with_native(BOX_NativeString("return 0;"), TAG_Int(9)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("return 0;"), TAG_Int(9)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable2 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
   tracehead = trace.prev;
   return;
@@ -1233,30 +1240,30 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("extern const char *LOCATE_"), TAG_Int(26)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("extern const char *LOCATE_"), TAG_Int(26)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable5 = variable4;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable1) /*CompilerVisitor::add_decl*/;
   variable1 = ((compiling_base___CompilerVisitor___tc_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___tc))( variable0 /*v*/) /*CompilerVisitor::tc*/;
   variable1 = ((compiling_base___ToolContext___global_t)CALL(variable1,COLOR_compiling_base___ToolContext___global))(variable1) /*ToolContext::global*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { /*if*/
-    variable1 = NEW_string___String___init(); /*new String*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString("extern const int SFT_"), TAG_Int(21)); /*new String*/
+    variable1 = NEW_String_string___String___init(); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("extern const int SFT_"), TAG_Int(21)); /*new String*/
     variable3 = variable2;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
     variable4 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
     variable5 = variable4;
     variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable1) /*CompilerVisitor::add_decl*/;
@@ -1271,46 +1278,46 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
     variable4 = ((compiling_base___CompilerVisitor___tc_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___tc))( variable0 /*v*/) /*CompilerVisitor::tc*/;
     variable4 = ((compiling_base___ToolContext___global_t)CALL(variable4,COLOR_compiling_base___ToolContext___global))(variable4) /*ToolContext::global*/;
     if (UNTAG_Bool(variable4)) { /*if*/
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 = ((compiling_global___LocalTableElt___symbol_t)CALL( variable3 /*e*/,COLOR_compiling_global___LocalTableElt___symbol))( variable3 /*e*/) /*LocalTableElt::symbol*/;
       variable8 = variable7;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
       variable11 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
       variable11 = ((compiling_global___LocalTableElt___value_t)CALL( variable3 /*e*/,COLOR_compiling_global___LocalTableElt___value))( variable3 /*e*/, variable11) /*LocalTableElt::value*/;
       variable12 = variable11;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable4) /*CompilerVisitor::add_decl*/;
     } else { /*if*/
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 = ((compiling_global___LocalTableElt___symbol_t)CALL( variable3 /*e*/,COLOR_compiling_global___LocalTableElt___symbol))( variable3 /*e*/) /*LocalTableElt::symbol*/;
       variable8 = variable7;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString(" SFT_"), TAG_Int(5)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString(" SFT_"), TAG_Int(5)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
       variable11 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
       variable12 = variable11;
       variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
       variable15 =  variable1 /*i*/;
       variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
-      variable16 = NEW_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
       variable17 = variable16;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable17) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable4) /*CompilerVisitor::add_decl*/;
@@ -1353,44 +1360,44 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
           variable9 = ((compiling_global___MMSrcLocalClass___base_attr_pos_t)CALL( variable7 /*bc*/,COLOR_compiling_global___MMSrcLocalClass___base_attr_pos))( variable7 /*bc*/) /*MMSrcLocalClass::base_attr_pos*/;
           variable9 = ((compiling_global___TableEltBaseAttrPos___symbol_t)CALL(variable9,COLOR_compiling_global___LocalTableElt___symbol))(variable9) /*TableEltBaseAttrPos::symbol*/;
           variable8 = variable9;
-          variable9 = NEW_string___String___init(); /*new String*/
-          variable10 = NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
+          variable9 = NEW_String_string___String___init(); /*new String*/
+          variable10 = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
           variable11 = variable10;
           ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable11) /*String::append*/;
           variable12 = ((compiling_base___MMGlobalProperty___attr_access_t)CALL( variable6 /*pg*/,COLOR_compiling_base___MMGlobalProperty___attr_access))( variable6 /*pg*/) /*MMGlobalProperty::attr_access*/;
           variable13 = variable12;
           ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable13) /*String::append*/;
-          variable14 = NEW_string___String___with_native(BOX_NativeString("(recv) ATTRS(recv, "), TAG_Int(19)); /*new String*/
+          variable14 = NEW_String_string___String___with_native(BOX_NativeString("(recv) ATTRS(recv, "), TAG_Int(19)); /*new String*/
           variable15 = variable14;
           ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable15) /*String::append*/;
           variable16 =  variable8 /*s*/;
           ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable16) /*String::append*/;
-          variable17 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+          variable17 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
           variable18 = variable17;
           ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable18) /*String::append*/;
           variable19 = ((compiling_global___MMGlobalProperty___pos_of_t)CALL( variable6 /*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of))( variable6 /*pg*/) /*MMGlobalProperty::pos_of*/;
           variable20 = variable19;
           variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
           ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable20) /*String::append*/;
-          variable21 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+          variable21 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
           variable22 = variable21;
           ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable22) /*String::append*/;
           ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable9) /*CompilerVisitor::add_decl*/;
         } else { /*if*/
-          variable7 = NEW_string___String___init(); /*new String*/
-          variable8 = NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
+          variable7 = NEW_String_string___String___init(); /*new String*/
+          variable8 = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
           variable9 = variable8;
           ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
           variable10 = ((compiling_base___MMGlobalProperty___attr_access_t)CALL( variable6 /*pg*/,COLOR_compiling_base___MMGlobalProperty___attr_access))( variable6 /*pg*/) /*MMGlobalProperty::attr_access*/;
           variable11 = variable10;
           ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
-          variable12 = NEW_string___String___with_native(BOX_NativeString("(recv) ATTR(recv, "), TAG_Int(18)); /*new String*/
+          variable12 = NEW_String_string___String___with_native(BOX_NativeString("(recv) ATTR(recv, "), TAG_Int(18)); /*new String*/
           variable13 = variable12;
           ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
           variable14 = ((compiling_base___MMGlobalProperty___color_id_t)CALL( variable6 /*pg*/,COLOR_compiling_base___MMGlobalProperty___color_id))( variable6 /*pg*/) /*MMGlobalProperty::color_id*/;
           variable15 = variable14;
           ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable15) /*String::append*/;
-          variable16 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+          variable16 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
           variable17 = variable16;
           ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable17) /*String::append*/;
           ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable7) /*CompilerVisitor::add_decl*/;
@@ -1425,21 +1432,21 @@ void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("const char *LOCATE_"), TAG_Int(19)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("const char *LOCATE_"), TAG_Int(19)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable5 = variable4;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(" = \""), TAG_Int(4)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(" = \""), TAG_Int(4)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   variable8 = ((mmloader___MMModule___filename_t)CALL( self,COLOR_mmloader___MMModule___filename))( self) /*MMModule::filename*/;
   variable9 = variable8;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("\";"), TAG_Int(2)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("\";"), TAG_Int(2)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
@@ -1454,15 +1461,15 @@ void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_
   if (UNTAG_Bool(variable1)) { /*if*/
     goto return_label49;
   }
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("const int SFT_"), TAG_Int(14)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("const int SFT_"), TAG_Int(14)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable5 = variable4;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   variable8 = ATTR_compiling_global___MMSrcModule____local_table( self) /*MMSrcModule::_local_table*/;
@@ -1470,7 +1477,7 @@ void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
@@ -1483,7 +1490,7 @@ void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
     variable3 = ((compiling_global___LocalTableElt___value_t)CALL( variable2 /*e*/,COLOR_compiling_global___LocalTableElt___value))( variable2 /*e*/, variable3) /*LocalTableElt::value*/;
-    variable4 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
     variable3 = ((string___String_____plus_t)CALL(variable3,COLOR_string___String_____plus))(variable3, variable4) /*String::+*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
     continue_50: while(0);
@@ -1491,7 +1498,7 @@ void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_
   }
   break_50: while(0);
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
   return_label49: while(false);
   tracehead = trace.prev;
@@ -1541,6 +1548,13 @@ val_t compiling_global___TableElt___compile_to_c(val_t  self, val_t  param0, val
   tracehead = trace.prev;
   return NIT_NULL;
 }
+void compiling_global___TableElt___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_compiling_global___TableElt___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
+  tracehead = trace.prev;
+  return;
+}
 val_t compiling_global___LocalTableElt___symbol(val_t  self) {
   struct trace_t trace = {NULL, NULL, 554, LOCATE_compiling_global___LocalTableElt___symbol};
   trace.prev = tracehead; tracehead = &trace;
@@ -1591,22 +1605,22 @@ val_t compiling_global___TableEltPropPos___value(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((compiling_global___ColorContext___color_t)CALL( variable0 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable0 /*ga*/,  self) /*ColorContext::color*/;
   variable5 = variable4;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(" /* Property "), TAG_Int(13)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(" /* Property "), TAG_Int(13)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   variable8 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/;
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
   goto return_label54;
@@ -1774,27 +1788,27 @@ val_t compiling_global___TableEltAttrPos___compile_to_c(val_t  self, val_t  para
   variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMLocalProperty::global*/;
   variable4 = ((inheritance___MMLocalClass_____bra_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable1 /*c*/, variable4) /*MMLocalClass::[]*/;
   variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 = ((compiling_global___ColorContext___color_t)CALL( variable2 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable2 /*ga*/,  self) /*ColorContext::color*/;
   variable8 = variable7;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(": Attribute "), TAG_Int(12)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString(": Attribute "), TAG_Int(12)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
   variable11 =  variable1 /*c*/;
   variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
   variable13 = variable12;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
   variable14 =  variable3 /*p*/;
   variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
   variable2 = variable4;
@@ -1879,8 +1893,8 @@ val_t compiling_global___TableEltClassIdPos___value(val_t  self, val_t  param0)
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable0 /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable0 /*ga*/) /*GlobalAnalysis::compiled_classes*/;
@@ -1891,14 +1905,14 @@ val_t compiling_global___TableEltClassIdPos___value(val_t  self, val_t  param0)
   variable5 = variable4;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(" /* Id of "), TAG_Int(10)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(" /* Id of "), TAG_Int(10)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   variable8 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
   goto return_label67;
@@ -1948,22 +1962,22 @@ val_t compiling_global___TableEltClassInitTablePos___value(val_t  self, val_t  p
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((compiling_global___ColorContext___color_t)CALL( variable0 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable0 /*ga*/,  self) /*ColorContext::color*/;
   variable5 = variable4;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   variable8 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
   goto return_label70;
@@ -2035,34 +2049,34 @@ val_t compiling_global___TableEltClassInitTablePos___compile_to_c(val_t  self, v
     continue_72: while(0);
   }
   break_72: while(0);
-  variable6 = NEW_string___String___init(); /*new String*/
-  variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable6 = NEW_String_string___String___init(); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
   variable9 =  variable5 /*i*/;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
   variable12 = ((compiling_global___ColorContext___color_t)CALL( variable2 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable2 /*ga*/,  self) /*ColorContext::color*/;
   variable13 = variable12;
   variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
+  variable14 = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
   variable15 = variable14;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
   variable16 =  variable1 /*c*/;
   variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
+  variable17 = NEW_String_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
   variable18 = variable17;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
   variable19 = ((compiling_global___CompiledClass___local_class_t)CALL( variable3 /*cc*/,COLOR_compiling_global___CompiledClass___local_class))( variable3 /*cc*/) /*CompiledClass::local_class*/;
   variable20 = variable19;
   variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
-  variable21 = NEW_string___String___with_native(BOX_NativeString(": superclass init_table position */"), TAG_Int(35)); /*new String*/
+  variable21 = NEW_String_string___String___with_native(BOX_NativeString(": superclass init_table position */"), TAG_Int(35)); /*new String*/
   variable22 = variable21;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable22) /*String::append*/;
   variable2 = variable6;
@@ -2113,22 +2127,22 @@ val_t compiling_global___TableEltClassColorPos___value(val_t  self, val_t  param
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((compiling_global___ColorContext___color_t)CALL( variable0 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable0 /*ga*/,  self) /*ColorContext::color*/;
   variable5 = variable4;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   variable8 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
   goto return_label76;
@@ -2171,35 +2185,35 @@ val_t compiling_global___TableEltClassColorPos___compile_to_c(val_t  self, val_t
   variable5 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___global))(variable5) /*MMLocalClass::global*/;
   variable4 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable5) /*CoupleMap::[]*/;
   variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 = ((compiling_global___CompiledClass___id_t)CALL( variable3 /*cc*/,COLOR_compiling_global___CompiledClass___id))( variable3 /*cc*/) /*CompiledClass::id*/;
   variable8 = variable7;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
   variable11 = ((compiling_global___ColorContext___color_t)CALL( variable2 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable2 /*ga*/,  self) /*ColorContext::color*/;
   variable12 = variable11;
   variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
   variable15 =  variable1 /*c*/;
   variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
+  variable16 = NEW_String_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
   variable17 = variable16;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable17) /*String::append*/;
   variable18 = ((compiling_global___CompiledClass___local_class_t)CALL( variable3 /*cc*/,COLOR_compiling_global___CompiledClass___local_class))( variable3 /*cc*/) /*CompiledClass::local_class*/;
   variable19 = variable18;
   variable19 = ((string___String___to_s_t)CALL(variable19,COLOR_string___Object___to_s))(variable19) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable19) /*String::append*/;
-  variable20 = NEW_string___String___with_native(BOX_NativeString(": superclass typecheck marker */"), TAG_Int(32)); /*new String*/
+  variable20 = NEW_String_string___String___with_native(BOX_NativeString(": superclass typecheck marker */"), TAG_Int(32)); /*new String*/
   variable21 = variable20;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable21) /*String::append*/;
   variable2 = variable4;
@@ -2235,8 +2249,8 @@ val_t compiling_global___TableEltBaseAttrPos___symbol(val_t  self) {
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = ATTR_compiling_global___TableEltBaseAttrPos____local_class( self) /*TableEltBaseAttrPos::_local_class*/;
@@ -2244,7 +2258,7 @@ val_t compiling_global___TableEltBaseAttrPos___symbol(val_t  self) {
   variable4 = variable3;
   variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   variable7 = ATTR_compiling_global___TableEltBaseAttrPos____local_class( self) /*TableEltBaseAttrPos::_local_class*/;
@@ -2252,7 +2266,7 @@ val_t compiling_global___TableEltBaseAttrPos___symbol(val_t  self) {
   variable8 = variable7;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("_BASEATTR"), TAG_Int(9)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("_BASEATTR"), TAG_Int(9)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable10) /*String::append*/;
   goto return_label79;
@@ -2277,22 +2291,22 @@ val_t compiling_global___TableEltBaseAttrPos___value(val_t  self, val_t  param0)
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((compiling_global___ColorContext___color_t)CALL( variable0 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable0 /*ga*/,  self) /*ColorContext::color*/;
   variable5 = variable4;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(" /* BaseAttrPos of "), TAG_Int(19)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(" /* BaseAttrPos of "), TAG_Int(19)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   variable8 = ATTR_compiling_global___TableEltBaseAttrPos____local_class( self) /*TableEltBaseAttrPos::_local_class*/;
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
   goto return_label80;
@@ -2338,8 +2352,8 @@ val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t  self, val_t
   variable5 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable1 /*c*/) /*MMLocalClass::global*/;
   variable4 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable5) /*CoupleMap::[]*/;
   variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 = ATTR_compiling_global___TableEltBaseAttrPos____local_class( self) /*TableEltBaseAttrPos::_local_class*/;
@@ -2349,14 +2363,14 @@ val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t  self, val_t
   variable8 = variable7;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
   variable11 = ((compiling_global___ColorContext___color_t)CALL( variable2 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable2 /*ga*/,  self) /*ColorContext::color*/;
   variable12 = variable11;
   variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(": Base attribut offset of "), TAG_Int(26)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString(": Base attribut offset of "), TAG_Int(26)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
   variable15 = ATTR_compiling_global___TableEltBaseAttrPos____local_class( self) /*TableEltBaseAttrPos::_local_class*/;
@@ -2364,20 +2378,20 @@ val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t  self, val_t
   variable16 = variable15;
   variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+  variable17 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
   variable18 = variable17;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
   variable19 = ATTR_compiling_global___TableEltBaseAttrPos____local_class( self) /*TableEltBaseAttrPos::_local_class*/;
   variable20 = variable19;
   variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
-  variable21 = NEW_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
+  variable21 = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
   variable22 = variable21;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable22) /*String::append*/;
   variable23 =  variable1 /*c*/;
   variable23 = ((string___String___to_s_t)CALL(variable23,COLOR_string___Object___to_s))(variable23) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable23) /*String::append*/;
-  variable24 = NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
+  variable24 = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
   variable25 = variable24;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable25) /*String::append*/;
   variable2 = variable4;
@@ -2500,9 +2514,9 @@ void compiling_global___TableEltComposite___init(val_t  self, val_t  param0, int
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltComposite].i]) return;
   ATTR_compiling_global___TableEltComposite____cc( self) /*TableEltComposite::_cc*/ =  variable0 /*cc*/;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[LocalTableElt]*/
   ATTR_compiling_global___TableEltComposite____table( self) /*TableEltComposite::_table*/ = variable1;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable1 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMLocalClass, Int]*/
   ATTR_compiling_global___TableEltComposite____offsets( self) /*TableEltComposite::_offsets*/ = variable1;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltComposite].i] = 1;
   tracehead = trace.prev;
@@ -2543,8 +2557,8 @@ val_t compiling_global___TableEltClassSelfId___compile_to_c(val_t  self, val_t
   variable1 =  param1;
   variable3 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
   variable2 = variable3;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
@@ -2555,14 +2569,14 @@ val_t compiling_global___TableEltClassSelfId___compile_to_c(val_t  self, val_t
   variable7 = variable6;
   variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
   variable10 = ((compiling_global___ColorContext___color_t)CALL( variable2 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable2 /*ga*/,  self) /*ColorContext::color*/;
   variable11 = variable10;
   variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString(": Identity */"), TAG_Int(13)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString(": Identity */"), TAG_Int(13)); /*new String*/
   variable13 = variable12;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
   variable2 = variable3;
@@ -2611,15 +2625,15 @@ val_t compiling_global___TableEltVftPointer___compile_to_c(val_t  self, val_t  p
   variable1 =  param1;
   variable3 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
   variable2 = variable3;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 = ((compiling_global___ColorContext___color_t)CALL( variable2 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable2 /*ga*/,  self) /*ColorContext::color*/;
   variable7 = variable6;
   variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(": Pointer to the classtable */"), TAG_Int(30)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(": Pointer to the classtable */"), TAG_Int(30)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
   variable2 = variable3;
@@ -2746,19 +2760,19 @@ void compiling_global___MMLocalClass___declare_tables_to_c(val_t  self, val_t  p
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable1) /*CompilerVisitor::add_decl*/;
   variable2 = ((compiling_base___MMLocalClass___primitive_info_t)CALL( self,COLOR_compiling_base___MMLocalClass___primitive_info))( self) /*MMLocalClass::primitive_info*/;
   variable1 = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("extern const classtable_elt_t VFT_"), TAG_Int(34)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("extern const classtable_elt_t VFT_"), TAG_Int(34)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
   variable6 = variable5;
   variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable2) /*CompilerVisitor::add_decl*/;
@@ -2769,64 +2783,64 @@ void compiling_global___MMLocalClass___declare_tables_to_c(val_t  self, val_t  p
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2)))) { /*if*/
       variable3 = ((compiling_base___PrimitiveInfo___cname_t)CALL( variable1 /*pi*/,COLOR_compiling_base___PrimitiveInfo___cname))( variable1 /*pi*/) /*PrimitiveInfo::cname*/;
       variable2 = variable3;
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
       variable8 = variable7;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
       variable3 = variable4;
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 =  variable3 /*tbox*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-      variable8 = NEW_string___String___with_native(BOX_NativeString(" { const classtable_elt_t * vft; "), TAG_Int(33)); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString(" { const classtable_elt_t * vft; "), TAG_Int(33)); /*new String*/
       variable9 = variable8;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
       variable10 =  variable2 /*t*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-      variable11 = NEW_string___String___with_native(BOX_NativeString(" val;};"), TAG_Int(7)); /*new String*/
+      variable11 = NEW_String_string___String___with_native(BOX_NativeString(" val;};"), TAG_Int(7)); /*new String*/
       variable12 = variable11;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable4) /*CompilerVisitor::add_decl*/;
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
       variable8 = variable7;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
       variable11 =  variable2 /*t*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-      variable12 = NEW_string___String___with_native(BOX_NativeString(" val);"), TAG_Int(6)); /*new String*/
+      variable12 = NEW_String_string___String___with_native(BOX_NativeString(" val);"), TAG_Int(6)); /*new String*/
       variable13 = variable12;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable4) /*CompilerVisitor::add_decl*/;
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString("#define UNBOX_"), TAG_Int(14)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("#define UNBOX_"), TAG_Int(14)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
       variable8 = variable7;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString("(x) ((("), TAG_Int(7)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("(x) ((("), TAG_Int(7)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
       variable11 =  variable3 /*tbox*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-      variable12 = NEW_string___String___with_native(BOX_NativeString(" *)(VAL2OBJ(x)))->val)"), TAG_Int(22)); /*new String*/
+      variable12 = NEW_String_string___String___with_native(BOX_NativeString(" *)(VAL2OBJ(x)))->val)"), TAG_Int(22)); /*new String*/
       variable13 = variable12;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable4) /*CompilerVisitor::add_decl*/;
@@ -2864,6 +2878,9 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
           val_t variable24;
             val_t variable25;
       val_t variable26;
+      val_t variable27;
+      val_t variable28;
+      val_t variable29;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_global;
   variable0 =  param0;
@@ -2885,21 +2902,21 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
     variable4 = ((compiling_global___GlobalAnalysis___max_class_table_length_t)CALL(variable4,COLOR_compiling_global___GlobalAnalysis___max_class_table_length))(variable4) /*GlobalAnalysis::max_class_table_length*/;
     variable3 = variable4 /*clen=*/;
   }
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("const classtable_elt_t VFT_"), TAG_Int(27)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("const classtable_elt_t VFT_"), TAG_Int(27)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
   variable8 = variable7;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
   variable11 =  variable3 /*clen*/;
   variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
   variable13 = variable12;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
@@ -2911,17 +2928,17 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
     variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
     variable6 = TAG_Bool(( variable5 /*e*/ ==  NIT_NULL /*null*/) || (( variable5 /*e*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*e*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*e*/,COLOR_kernel___Object_____eqeq))( variable5 /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable6)) { /*if*/
-      variable6 = NEW_string___String___with_native(BOX_NativeString("{0} /* Class Hole :( */,"), TAG_Int(24)); /*new String*/
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString("{0} /* Class Hole :( */,"), TAG_Int(24)); /*new String*/
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
     } else { /*if*/
-      variable6 = NEW_string___String___init(); /*new String*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString("{(bigint) "), TAG_Int(10)); /*new String*/
+      variable6 = NEW_String_string___String___init(); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("{(bigint) "), TAG_Int(10)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
       variable9 = ((compiling_global___TableElt___compile_to_c_t)CALL( variable5 /*e*/,COLOR_compiling_global___TableElt___compile_to_c))( variable5 /*e*/,  variable0 /*v*/,  self) /*TableElt::compile_to_c*/;
       variable10 = variable9;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-      variable11 = NEW_string___String___with_native(BOX_NativeString("},"), TAG_Int(2)); /*new String*/
+      variable11 = NEW_String_string___String___with_native(BOX_NativeString("},"), TAG_Int(2)); /*new String*/
       variable12 = variable11;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
@@ -2933,14 +2950,14 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
   variable4 = ((array___AbstractArray___length_t)CALL( variable2 /*ctab*/,COLOR_abstract_collection___Collection___length))( variable2 /*ctab*/) /*AbstractArray::length*/;
   variable4 = TAG_Bool(UNTAG_Int( variable3 /*clen*/)>UNTAG_Int(variable4));
   if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = NEW_string___String___with_native(BOX_NativeString("{0},"), TAG_Int(4)); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString("{0},"), TAG_Int(4)); /*new String*/
     variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*ctab*/,COLOR_abstract_collection___Collection___length))( variable2 /*ctab*/) /*AbstractArray::length*/;
     variable5 = TAG_Int(UNTAG_Int( variable3 /*clen*/)-UNTAG_Int(variable5));
     variable4 = ((string___String_____star_t)CALL(variable4,COLOR_string___String_____star))(variable4, variable5) /*String::**/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
   }
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable4 = NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
   variable5 = ((compiling_global___CompiledClass___instance_table_t)CALL( variable1 /*cc*/,COLOR_compiling_global___CompiledClass___instance_table))( variable1 /*cc*/) /*CompiledClass::instance_table*/;
   variable4 = variable5;
@@ -2951,7 +2968,7 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
     variable6 = ((array___ArrayIterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*ArrayIterator::item*/;
     variable7 = TAG_Bool(( variable6 /*e*/ ==  NIT_NULL /*null*/) || (( variable6 /*e*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*e*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*e*/,COLOR_kernel___Object_____eqeq))( variable6 /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable7)) { /*if*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString("/* Instance Hole :( */"), TAG_Int(22)); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("/* Instance Hole :( */"), TAG_Int(22)); /*new String*/
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
     } else { /*if*/
       variable7 = ((compiling_global___TableElt___compile_to_c_t)CALL( variable6 /*e*/,COLOR_compiling_global___TableElt___compile_to_c))( variable6 /*e*/,  variable0 /*v*/,  self) /*TableElt::compile_to_c*/;
@@ -2966,53 +2983,53 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
   variable6 = TAG_Bool(( variable5 /*pi*/ ==  NIT_NULL /*null*/) || (( variable5 /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*pi*/,COLOR_kernel___Object_____eqeq))( variable5 /*pi*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable6)) { /*if*/
     ((compiling_methods___CompilerVisitor___clear_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___clear))( variable0 /*v*/) /*CompilerVisitor::clear*/;
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
+    variable7 = NEW_String_string___String___init(); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
     variable10 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
     variable11 = variable10;
     variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("(void)"), TAG_Int(6)); /*new String*/
+    variable12 = NEW_String_string___String___with_native(BOX_NativeString("(void)"), TAG_Int(6)); /*new String*/
     variable13 = variable12;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
     variable6 = variable7;
-    variable7 = NEW_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
     variable7 = ((string___String_____plus_t)CALL( variable6 /*s*/,COLOR_string___String_____plus))( variable6 /*s*/, variable7) /*String::+*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
     ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
     variable8 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable0 /*v*/) /*CompilerVisitor::ctx*/;
     variable7 = variable8;
-    variable8 = NEW_compiling_base___CContext___init(); /*new CContext*/
+    variable8 = NEW_CContext_compiling_base___CContext___init(); /*new CContext*/
     ((compiling_base___CompilerVisitor___ctx__eq_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq))( variable0 /*v*/, variable8) /*CompilerVisitor::ctx=*/;
-    variable8 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable9 = NEW_string___String___with_native(BOX_NativeString("OBJ2VAL(obj)"), TAG_Int(12)); /*new String*/
+    variable8 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString("OBJ2VAL(obj)"), TAG_Int(12)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable9) /*AbstractArray::add*/;
     ((compiling_methods___CompilerVisitor___method_params__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params__eq))( variable0 /*v*/, variable8) /*CompilerVisitor::method_params=*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString("obj_t obj;"), TAG_Int(10)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("obj_t obj;"), TAG_Int(10)); /*new String*/
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
-    variable8 = NEW_string___String___init(); /*new String*/
-    variable9 = NEW_string___String___with_native(BOX_NativeString("obj = alloc(sizeof(val_t) * "), TAG_Int(28)); /*new String*/
+    variable8 = NEW_String_string___String___init(); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString("obj = alloc(sizeof(val_t) * "), TAG_Int(28)); /*new String*/
     variable10 = variable9;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
     variable11 = ((array___AbstractArray___length_t)CALL( variable4 /*itab*/,COLOR_abstract_collection___Collection___length))( variable4 /*itab*/) /*AbstractArray::length*/;
     variable12 = variable11;
     variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable12) /*String::append*/;
-    variable13 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
+    variable13 = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
     variable14 = variable13;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
-    variable8 = NEW_string___String___init(); /*new String*/
-    variable9 = NEW_string___String___with_native(BOX_NativeString("obj->vft = (classtable_elt_t*)VFT_"), TAG_Int(34)); /*new String*/
+    variable8 = NEW_String_string___String___init(); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString("obj->vft = (classtable_elt_t*)VFT_"), TAG_Int(34)); /*new String*/
     variable10 = variable9;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
     variable11 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
     variable12 = variable11;
     variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable12) /*String::append*/;
-    variable13 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+    variable13 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
     variable14 = variable13;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
@@ -3046,20 +3063,20 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
         if (UNTAG_Bool(variable14)) { /*if*/
           variable15 = ((compiling_methods___PExpr___compile_expr_t)CALL( variable13 /*ne*/,COLOR_compiling_methods___PExpr___compile_expr))( variable13 /*ne*/,  variable0 /*v*/) /*PExpr::compile_expr*/;
           variable14 = variable15;
-          variable15 = NEW_string___String___init(); /*new String*/
-          variable16 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+          variable15 = NEW_String_string___String___init(); /*new String*/
+          variable16 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
           variable17 = variable16;
           ((string___String___append_t)CALL(variable15,COLOR_abstract_collection___IndexedCollection___append))(variable15, variable17) /*String::append*/;
           variable18 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable10 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable10 /*p*/) /*MMLocalProperty::global*/;
           variable18 = ((compiling_base___MMGlobalProperty___attr_access_t)CALL(variable18,COLOR_compiling_base___MMGlobalProperty___attr_access))(variable18) /*MMGlobalProperty::attr_access*/;
           variable19 = variable18;
           ((string___String___append_t)CALL(variable15,COLOR_abstract_collection___IndexedCollection___append))(variable15, variable19) /*String::append*/;
-          variable20 = NEW_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
+          variable20 = NEW_String_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
           variable21 = variable20;
           ((string___String___append_t)CALL(variable15,COLOR_abstract_collection___IndexedCollection___append))(variable15, variable21) /*String::append*/;
           variable22 =  variable14 /*e*/;
           ((string___String___append_t)CALL(variable15,COLOR_abstract_collection___IndexedCollection___append))(variable15, variable22) /*String::append*/;
-          variable23 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+          variable23 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
           variable24 = variable23;
           ((string___String___append_t)CALL(variable15,COLOR_abstract_collection___IndexedCollection___append))(variable15, variable24) /*String::append*/;
           ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable15) /*CompilerVisitor::add_instr*/;
@@ -3076,20 +3093,20 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
           if (UNTAG_Bool(variable15)) { /*if*/
             variable16 = ((compiling_base___MMType___default_cvalue_t)CALL( variable11 /*t*/,COLOR_compiling_base___MMType___default_cvalue))( variable11 /*t*/) /*MMType::default_cvalue*/;
             variable15 = variable16;
-            variable16 = NEW_string___String___init(); /*new String*/
-            variable17 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+            variable16 = NEW_String_string___String___init(); /*new String*/
+            variable17 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
             variable18 = variable17;
             ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable18) /*String::append*/;
             variable19 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable10 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable10 /*p*/) /*MMLocalProperty::global*/;
             variable19 = ((compiling_base___MMGlobalProperty___attr_access_t)CALL(variable19,COLOR_compiling_base___MMGlobalProperty___attr_access))(variable19) /*MMGlobalProperty::attr_access*/;
             variable20 = variable19;
             ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable20) /*String::append*/;
-            variable21 = NEW_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
+            variable21 = NEW_String_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
             variable22 = variable21;
             ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable22) /*String::append*/;
             variable23 =  variable15 /*default*/;
             ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable23) /*String::append*/;
-            variable24 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+            variable24 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
             variable25 = variable24;
             ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable25) /*String::append*/;
             ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable16) /*CompilerVisitor::add_instr*/;
@@ -3100,35 +3117,35 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
       ((abstract_collection___Iterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*Iterator::next*/;
     }
     break_103: while(0);
-    variable8 = NEW_string___String___with_native(BOX_NativeString("return OBJ2VAL(obj);"), TAG_Int(20)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("return OBJ2VAL(obj);"), TAG_Int(20)); /*new String*/
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
     variable8 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable0 /*v*/) /*CompilerVisitor::ctx*/;
     ((compiling_base___CContext___append_t)CALL( variable7 /*ctx_old*/,COLOR_compiling_base___CContext___append))( variable7 /*ctx_old*/, variable8) /*CContext::append*/;
     ((compiling_base___CompilerVisitor___ctx__eq_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq))( variable0 /*v*/,  variable7 /*ctx_old*/) /*CompilerVisitor::ctx=*/;
     ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
     variable9 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___cshe))( self) /*MMLocalClass::cshe*/;
     variable9 = ((partial_order___PartialOrderElement___greaters_t)CALL(variable9,COLOR_partial_order___PartialOrderElement___greaters))(variable9) /*PartialOrderElement::greaters*/;
     variable9 = ((abstract_collection___Collection___length_t)CALL(variable9,COLOR_abstract_collection___Collection___length))(variable9) /*Collection::length*/;
     variable9 = TAG_Int(UNTAG_Int(variable9)+UNTAG_Int( TAG_Int(1)));
     variable8 = variable9;
-    variable10 = NEW_string___String___init(); /*new String*/
-    variable11 = NEW_string___String___with_native(BOX_NativeString("int init_table["), TAG_Int(15)); /*new String*/
+    variable10 = NEW_String_string___String___init(); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("int init_table["), TAG_Int(15)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
     variable13 =  variable8 /*init_table_size*/;
     variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString("] = {0"), TAG_Int(6)); /*new String*/
+    variable14 = NEW_String_string___String___with_native(BOX_NativeString("] = {0"), TAG_Int(6)); /*new String*/
     variable15 = variable14;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable15) /*String::append*/;
-    variable16 = NEW_string___String___with_native(BOX_NativeString(", 0"), TAG_Int(3)); /*new String*/
+    variable16 = NEW_String_string___String___with_native(BOX_NativeString(", 0"), TAG_Int(3)); /*new String*/
     variable17 = TAG_Int(UNTAG_Int( variable8 /*init_table_size*/)-UNTAG_Int( TAG_Int(1)));
     variable16 = ((string___String_____star_t)CALL(variable16,COLOR_string___String_____star))(variable16, variable17) /*String::**/;
     variable17 = variable16;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable17) /*String::append*/;
-    variable18 = NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
+    variable18 = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
     variable19 = variable18;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable19) /*String::append*/;
     variable9 = variable10;
@@ -3142,53 +3159,44 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
       variable12 = variable13;
       variable13 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable12 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable12 /*p*/) /*MMLocalProperty::global*/;
       variable13 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable13,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable13) /*MMGlobalProperty::is_init*/;
-      variable13 =  TAG_Bool(!UNTAG_Bool(variable13));
-      if (!UNTAG_Bool(variable13)) { /* or */
-        variable13 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable12 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable12 /*p*/) /*MMLocalProperty::global*/;
-        variable13 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable13,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable13) /*MMGlobalProperty::intro*/;
-        variable13 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable13,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable13) /*MMLocalProperty::local_class*/;
-        variable13 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable13,COLOR_abstractmetamodel___MMLocalClass___global))(variable13) /*MMLocalClass::global*/;
-        variable14 = ((abstractmetamodel___MMLocalClass___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___global))( self) /*MMLocalClass::global*/;
-        variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable13 == variable14) || ((variable13 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable13,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable13,variable14)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable13,COLOR_kernel___Object_____eqeq))(variable13, variable14) /*Object::==*/)))))));
-      }
-      if (UNTAG_Bool(variable13)) { /*if*/
+      if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable13)))) { /*if*/
         goto continue_104;
       }
       ((compiling_methods___CompilerVisitor___clear_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___clear))( variable0 /*v*/) /*CompilerVisitor::clear*/;
-      variable14 = NEW_array___Array___init(); /*new Array[E]*/
+      variable14 = NEW_Array_array___Array___init(); /*new Array[String]*/
       variable13 = variable14;
-      variable15 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-      variable16 = NEW_string___String___with_native(BOX_NativeString("self"), TAG_Int(4)); /*new String*/
+      variable15 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString("self"), TAG_Int(4)); /*new String*/
       ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15, variable16) /*AbstractArray::add*/;
       variable14 = variable15;
       variable15 = ((static_type___MMLocalProperty___signature_t)CALL( variable12 /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable12 /*p*/) /*MMLocalProperty::signature*/;
       variable15 = ((static_type___MMSignature___arity_t)CALL(variable15,COLOR_static_type___MMSignature___arity))(variable15) /*MMSignature::arity*/;
-      variable16 = NEW_range___Range___without_last( TAG_Int(0), variable15); /*new Range[E]*/
+      variable16 = NEW_Range_range___Range___without_last( TAG_Int(0), variable15); /*new Range[Int]*/
       variable15 = variable16;
       variable15 = ((range___Range___iterator_t)CALL(variable15,COLOR_abstract_collection___Collection___iterator))(variable15) /*Range::iterator*/;
       while (true) { /*for*/
         variable16 = ((abstract_collection___Iterator___is_ok_t)CALL(variable15,COLOR_abstract_collection___Iterator___is_ok))(variable15) /*Iterator::is_ok*/;
         if (!UNTAG_Bool(variable16)) break; /*for*/
         variable16 = ((abstract_collection___Iterator___item_t)CALL(variable15,COLOR_abstract_collection___Iterator___item))(variable15) /*Iterator::item*/;
-        variable17 = NEW_string___String___init(); /*new String*/
-        variable18 = NEW_string___String___with_native(BOX_NativeString("val_t p"), TAG_Int(7)); /*new String*/
+        variable17 = NEW_String_string___String___init(); /*new String*/
+        variable18 = NEW_String_string___String___with_native(BOX_NativeString("val_t p"), TAG_Int(7)); /*new String*/
         variable19 = variable18;
         ((string___String___append_t)CALL(variable17,COLOR_abstract_collection___IndexedCollection___append))(variable17, variable19) /*String::append*/;
         variable20 =  variable16 /*i*/;
         variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
         ((string___String___append_t)CALL(variable17,COLOR_abstract_collection___IndexedCollection___append))(variable17, variable20) /*String::append*/;
-        variable21 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+        variable21 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
         variable22 = variable21;
         ((string___String___append_t)CALL(variable17,COLOR_abstract_collection___IndexedCollection___append))(variable17, variable22) /*String::append*/;
         ((array___AbstractArray___add_t)CALL( variable13 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*params*/, variable17) /*AbstractArray::add*/;
-        variable17 = NEW_string___String___init(); /*new String*/
-        variable18 = NEW_string___String___with_native(BOX_NativeString("p"), TAG_Int(1)); /*new String*/
+        variable17 = NEW_String_string___String___init(); /*new String*/
+        variable18 = NEW_String_string___String___with_native(BOX_NativeString("p"), TAG_Int(1)); /*new String*/
         variable19 = variable18;
         ((string___String___append_t)CALL(variable17,COLOR_abstract_collection___IndexedCollection___append))(variable17, variable19) /*String::append*/;
         variable20 =  variable16 /*i*/;
         variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
         ((string___String___append_t)CALL(variable17,COLOR_abstract_collection___IndexedCollection___append))(variable17, variable20) /*String::append*/;
-        variable21 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+        variable21 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
         variable22 = variable21;
         ((string___String___append_t)CALL(variable17,COLOR_abstract_collection___IndexedCollection___append))(variable17, variable22) /*String::append*/;
         ((array___AbstractArray___add_t)CALL( variable14 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*args*/, variable17) /*AbstractArray::add*/;
@@ -3196,67 +3204,76 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
         ((abstract_collection___Iterator___next_t)CALL(variable15,COLOR_abstract_collection___Iterator___next))(variable15) /*Iterator::next*/;
       }
       break_105: while(0);
-      variable15 = NEW_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)); /*new String*/
+      variable15 = NEW_String_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)); /*new String*/
       ((array___AbstractArray___add_t)CALL( variable14 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*args*/, variable15) /*AbstractArray::add*/;
-      variable16 = NEW_string___String___init(); /*new String*/
-      variable17 = NEW_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
+      variable16 = NEW_String_string___String___init(); /*new String*/
+      variable17 = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
       variable18 = variable17;
       ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable18) /*String::append*/;
-      variable19 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable12 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable12 /*p*/) /*MMLocalProperty::global*/;
-      variable19 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable19,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable19) /*MMGlobalProperty::intro*/;
-      variable19 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable19,COLOR_compiling_base___MMLocalProperty___cname))(variable19) /*MMLocalProperty::cname*/;
-      variable20 = variable19;
-      ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable20) /*String::append*/;
-      variable21 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
-      variable22 = variable21;
-      ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable22) /*String::append*/;
-      variable23 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-      variable23 = ((string___Collection___join_t)CALL( variable13 /*params*/,COLOR_string___Collection___join))( variable13 /*params*/, variable23) /*Collection::join*/;
-      variable24 = variable23;
-      ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable24) /*String::append*/;
-      variable25 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
-      variable26 = variable25;
-      ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable26) /*String::append*/;
+      variable19 =  self;
+      variable19 = ((string___String___to_s_t)CALL(variable19,COLOR_string___Object___to_s))(variable19) /*String::to_s*/;
+      ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable19) /*String::append*/;
+      variable20 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+      variable21 = variable20;
+      ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable21) /*String::append*/;
+      variable22 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable12 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable12 /*p*/) /*MMLocalProperty::global*/;
+      variable22 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable22,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable22) /*MMGlobalProperty::intro*/;
+      variable22 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable22,COLOR_compiling_base___MMLocalProperty___cname))(variable22) /*MMLocalProperty::cname*/;
+      variable23 = variable22;
+      ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable23) /*String::append*/;
+      variable24 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+      variable25 = variable24;
+      ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable25) /*String::append*/;
+      variable26 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+      variable26 = ((string___Collection___join_t)CALL( variable13 /*params*/,COLOR_string___Collection___join))( variable13 /*params*/, variable26) /*Collection::join*/;
+      variable27 = variable26;
+      ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable27) /*String::append*/;
+      variable28 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+      variable29 = variable28;
+      ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable29) /*String::append*/;
       variable15 = variable16;
-      variable16 = NEW_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+      variable16 = ((string___String_____plus_t)CALL( variable15 /*s*/,COLOR_string___String_____plus))( variable15 /*s*/, variable16) /*String::+*/;
+      ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable16) /*CompilerVisitor::add_decl*/;
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
       variable16 = ((string___String_____plus_t)CALL( variable15 /*s*/,COLOR_string___String_____plus))( variable15 /*s*/, variable16) /*String::+*/;
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable16) /*CompilerVisitor::add_instr*/;
       ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/,  variable9 /*init_table_decl*/) /*CompilerVisitor::add_instr*/;
-      variable16 = NEW_string___String___init(); /*new String*/
-      variable17 = NEW_string___String___with_native(BOX_NativeString("val_t self = NEW_"), TAG_Int(17)); /*new String*/
+      variable16 = NEW_String_string___String___init(); /*new String*/
+      variable17 = NEW_String_string___String___with_native(BOX_NativeString("val_t self = NEW_"), TAG_Int(17)); /*new String*/
       variable18 = variable17;
       ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable18) /*String::append*/;
       variable19 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
       variable20 = variable19;
       variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
       ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable20) /*String::append*/;
-      variable21 = NEW_string___String___with_native(BOX_NativeString("();"), TAG_Int(3)); /*new String*/
+      variable21 = NEW_String_string___String___with_native(BOX_NativeString("();"), TAG_Int(3)); /*new String*/
       variable22 = variable21;
       ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable22) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable16) /*CompilerVisitor::add_instr*/;
-      variable16 = NEW_string___String___init(); /*new String*/
-      variable17 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable16 = NEW_String_string___String___init(); /*new String*/
+      variable17 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable18 = variable17;
       ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable18) /*String::append*/;
       variable19 = ((compiling_base___MMLocalProperty___cname_t)CALL( variable12 /*p*/,COLOR_compiling_base___MMLocalProperty___cname))( variable12 /*p*/) /*MMLocalProperty::cname*/;
       variable20 = variable19;
       ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable20) /*String::append*/;
-      variable21 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+      variable21 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
       variable22 = variable21;
       ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable22) /*String::append*/;
-      variable23 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+      variable23 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
       variable23 = ((string___Collection___join_t)CALL( variable14 /*args*/,COLOR_string___Collection___join))( variable14 /*args*/, variable23) /*Collection::join*/;
       variable24 = variable23;
       ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable24) /*String::append*/;
-      variable25 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
+      variable25 = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
       variable26 = variable25;
       ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable26) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable16) /*CompilerVisitor::add_instr*/;
-      variable16 = NEW_string___String___with_native(BOX_NativeString("return self;"), TAG_Int(12)); /*new String*/
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString("return self;"), TAG_Int(12)); /*new String*/
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable16) /*CompilerVisitor::add_instr*/;
       ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-      variable16 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable16) /*CompilerVisitor::add_instr*/;
       continue_104: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable10,COLOR_abstract_collection___Iterator___next))(variable10) /*Iterator::next*/;
@@ -3267,74 +3284,74 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable6)))) { /*if*/
       variable7 = ((compiling_base___PrimitiveInfo___cname_t)CALL( variable5 /*pi*/,COLOR_compiling_base___PrimitiveInfo___cname))( variable5 /*pi*/) /*PrimitiveInfo::cname*/;
       variable6 = variable7;
-      variable8 = NEW_string___String___init(); /*new String*/
-      variable9 = NEW_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
+      variable8 = NEW_String_string___String___init(); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
       variable11 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
       variable12 = variable11;
       variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
       variable7 = variable8;
-      variable8 = NEW_string___String___init(); /*new String*/
-      variable9 = NEW_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
+      variable8 = NEW_String_string___String___init(); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
       variable11 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
       variable12 = variable11;
       variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
       variable15 =  variable6 /*t*/;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable15) /*String::append*/;
-      variable16 = NEW_string___String___with_native(BOX_NativeString(" val) {"), TAG_Int(7)); /*new String*/
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString(" val) {"), TAG_Int(7)); /*new String*/
       variable17 = variable16;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable17) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
       ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-      variable8 = NEW_string___String___init(); /*new String*/
-      variable9 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable8 = NEW_String_string___String___init(); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
       variable11 =  variable7 /*tbox*/;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable11) /*String::append*/;
-      variable12 = NEW_string___String___with_native(BOX_NativeString(" *box = ("), TAG_Int(9)); /*new String*/
+      variable12 = NEW_String_string___String___with_native(BOX_NativeString(" *box = ("), TAG_Int(9)); /*new String*/
       variable13 = variable12;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable13) /*String::append*/;
       variable14 =  variable7 /*tbox*/;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
-      variable15 = NEW_string___String___with_native(BOX_NativeString("*)alloc(sizeof("), TAG_Int(15)); /*new String*/
+      variable15 = NEW_String_string___String___with_native(BOX_NativeString("*)alloc(sizeof("), TAG_Int(15)); /*new String*/
       variable16 = variable15;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable16) /*String::append*/;
       variable17 =  variable7 /*tbox*/;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable17) /*String::append*/;
-      variable18 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
+      variable18 = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
       variable19 = variable18;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable19) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
-      variable8 = NEW_string___String___init(); /*new String*/
-      variable9 = NEW_string___String___with_native(BOX_NativeString("box->vft = VFT_"), TAG_Int(15)); /*new String*/
+      variable8 = NEW_String_string___String___init(); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("box->vft = VFT_"), TAG_Int(15)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
       variable11 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
       variable12 = variable11;
       variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
-      variable8 = NEW_string___String___with_native(BOX_NativeString("box->val = val;"), TAG_Int(15)); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString("box->val = val;"), TAG_Int(15)); /*new String*/
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
-      variable8 = NEW_string___String___with_native(BOX_NativeString("return OBJ2VAL(box);"), TAG_Int(20)); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString("return OBJ2VAL(box);"), TAG_Int(20)); /*new String*/
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
       ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-      variable8 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
     }
   }
index b9434a6..43908a1 100644 (file)
@@ -48,139 +48,141 @@ extern const int SFT_compiling_global[];
 #define COLOR_compiling_global___ColorContext___color SFT_compiling_global[4]
 #define COLOR_compiling_global___ColorContext___has_color SFT_compiling_global[5]
 #define COLOR_compiling_global___ColorContext___color__eq SFT_compiling_global[6]
-#define ID_GlobalAnalysis SFT_compiling_global[7]
-#define COLOR_GlobalAnalysis SFT_compiling_global[8]
-#define COLOR_compiling_global___GlobalAnalysis____compiled_classes SFT_compiling_global[9]
-#define COLOR_compiling_global___GlobalAnalysis____module SFT_compiling_global[10]
-#define COLOR_compiling_global___GlobalAnalysis____max_class_table_length SFT_compiling_global[11]
-#define INIT_TABLE_POS_GlobalAnalysis SFT_compiling_global[12]
-#define COLOR_compiling_global___GlobalAnalysis___compiled_classes SFT_compiling_global[13]
-#define COLOR_compiling_global___GlobalAnalysis___module SFT_compiling_global[14]
-#define COLOR_compiling_global___GlobalAnalysis___max_class_table_length SFT_compiling_global[15]
-#define COLOR_compiling_global___GlobalAnalysis___max_class_table_length__eq SFT_compiling_global[16]
-#define COLOR_compiling_global___GlobalAnalysis___init SFT_compiling_global[17]
-#define COLOR_compiling_global___CompilerVisitor____global_analysis SFT_compiling_global[18]
-#define COLOR_compiling_global___CompilerVisitor___global_analysis SFT_compiling_global[19]
-#define COLOR_compiling_global___CompilerVisitor___global_analysis__eq SFT_compiling_global[20]
-#define ID_CompiledClass SFT_compiling_global[21]
-#define COLOR_CompiledClass SFT_compiling_global[22]
-#define COLOR_compiling_global___CompiledClass____local_class SFT_compiling_global[23]
-#define COLOR_compiling_global___CompiledClass____id SFT_compiling_global[24]
-#define COLOR_compiling_global___CompiledClass____class_table SFT_compiling_global[25]
-#define COLOR_compiling_global___CompiledClass____instance_table SFT_compiling_global[26]
-#define COLOR_compiling_global___CompiledClass____class_layout SFT_compiling_global[27]
-#define COLOR_compiling_global___CompiledClass____instance_layout SFT_compiling_global[28]
-#define INIT_TABLE_POS_CompiledClass SFT_compiling_global[29]
-#define COLOR_compiling_global___CompiledClass___local_class SFT_compiling_global[30]
-#define COLOR_compiling_global___CompiledClass___id SFT_compiling_global[31]
-#define COLOR_compiling_global___CompiledClass___id__eq SFT_compiling_global[32]
-#define COLOR_compiling_global___CompiledClass___class_table SFT_compiling_global[33]
-#define COLOR_compiling_global___CompiledClass___class_table__eq SFT_compiling_global[34]
-#define COLOR_compiling_global___CompiledClass___instance_table SFT_compiling_global[35]
-#define COLOR_compiling_global___CompiledClass___instance_table__eq SFT_compiling_global[36]
-#define COLOR_compiling_global___CompiledClass___class_layout SFT_compiling_global[37]
-#define COLOR_compiling_global___CompiledClass___class_layout__eq SFT_compiling_global[38]
-#define COLOR_compiling_global___CompiledClass___instance_layout SFT_compiling_global[39]
-#define COLOR_compiling_global___CompiledClass___instance_layout__eq SFT_compiling_global[40]
-#define COLOR_compiling_global___CompiledClass___init SFT_compiling_global[41]
-#define COLOR_compiling_global___MMGlobalProperty____pos_of SFT_compiling_global[42]
-#define COLOR_compiling_global___MMGlobalProperty___pos_of SFT_compiling_global[43]
-#define COLOR_compiling_global___MMGlobalProperty___pos_of__eq SFT_compiling_global[44]
-#define COLOR_compiling_global___MMSrcLocalClass____base_attr_pos SFT_compiling_global[45]
-#define COLOR_compiling_global___MMSrcLocalClass____class_color_pos SFT_compiling_global[46]
-#define COLOR_compiling_global___MMSrcLocalClass____class_layout SFT_compiling_global[47]
-#define COLOR_compiling_global___MMSrcLocalClass____instance_layout SFT_compiling_global[48]
-#define COLOR_compiling_global___MMSrcLocalClass___base_attr_pos SFT_compiling_global[49]
-#define COLOR_compiling_global___MMSrcLocalClass___class_color_pos SFT_compiling_global[50]
-#define COLOR_compiling_global___MMSrcLocalClass___class_layout SFT_compiling_global[51]
-#define COLOR_compiling_global___MMSrcLocalClass___instance_layout SFT_compiling_global[52]
-#define COLOR_compiling_global___MMSrcLocalClass___build_layout_in SFT_compiling_global[53]
-#define COLOR_compiling_global___MMSrcModule____local_table SFT_compiling_global[54]
-#define COLOR_compiling_global___MMSrcModule___local_analysis SFT_compiling_global[55]
-#define COLOR_compiling_global___MMSrcModule___global_analysis SFT_compiling_global[56]
-#define COLOR_compiling_global___MMSrcModule___append_to_table SFT_compiling_global[57]
-#define COLOR_compiling_global___MMSrcModule___build_tables SFT_compiling_global[58]
-#define COLOR_compiling_global___MMSrcModule___colorize SFT_compiling_global[59]
-#define COLOR_compiling_global___MMSrcModule___free_color SFT_compiling_global[60]
-#define COLOR_compiling_global___MMSrcModule___compile_tables_to_c SFT_compiling_global[61]
-#define COLOR_compiling_global___MMSrcModule___declare_class_tables_to_c SFT_compiling_global[62]
-#define COLOR_compiling_global___MMSrcModule___compile_main_part SFT_compiling_global[63]
-#define COLOR_compiling_global___MMSrcModule___compile_mod_to_c SFT_compiling_global[64]
-#define COLOR_compiling_global___MMSrcModule___compile_local_table_to_c SFT_compiling_global[65]
-#define ID_TableElt SFT_compiling_global[66]
-#define COLOR_TableElt SFT_compiling_global[67]
-#define INIT_TABLE_POS_TableElt SFT_compiling_global[68]
-#define COLOR_compiling_global___TableElt___is_related_to SFT_compiling_global[69]
-#define COLOR_compiling_global___TableElt___length SFT_compiling_global[70]
-#define COLOR_compiling_global___TableElt___item SFT_compiling_global[71]
-#define COLOR_compiling_global___TableElt___compile_to_c SFT_compiling_global[72]
-#define ID_LocalTableElt SFT_compiling_global[73]
-#define COLOR_LocalTableElt SFT_compiling_global[74]
-#define INIT_TABLE_POS_LocalTableElt SFT_compiling_global[75]
-#define COLOR_compiling_global___LocalTableElt___symbol SFT_compiling_global[76]
-#define COLOR_compiling_global___LocalTableElt___value SFT_compiling_global[77]
-#define ID_TableEltPropPos SFT_compiling_global[78]
-#define COLOR_TableEltPropPos SFT_compiling_global[79]
-#define COLOR_compiling_global___TableEltPropPos____property SFT_compiling_global[80]
-#define INIT_TABLE_POS_TableEltPropPos SFT_compiling_global[81]
-#define COLOR_compiling_global___TableEltPropPos___init SFT_compiling_global[82]
-#define ID_TableEltMethPos SFT_compiling_global[83]
-#define COLOR_TableEltMethPos SFT_compiling_global[84]
-#define INIT_TABLE_POS_TableEltMethPos SFT_compiling_global[85]
-#define COLOR_compiling_global___TableEltMethPos___init SFT_compiling_global[86]
-#define ID_TableEltSuperPos SFT_compiling_global[87]
-#define COLOR_TableEltSuperPos SFT_compiling_global[88]
-#define INIT_TABLE_POS_TableEltSuperPos SFT_compiling_global[89]
-#define COLOR_compiling_global___TableEltSuperPos___init SFT_compiling_global[90]
-#define ID_TableEltAttrPos SFT_compiling_global[91]
-#define COLOR_TableEltAttrPos SFT_compiling_global[92]
-#define INIT_TABLE_POS_TableEltAttrPos SFT_compiling_global[93]
-#define COLOR_compiling_global___TableEltAttrPos___init SFT_compiling_global[94]
-#define ID_TableEltClassPos SFT_compiling_global[95]
-#define COLOR_TableEltClassPos SFT_compiling_global[96]
-#define COLOR_compiling_global___TableEltClassPos____local_class SFT_compiling_global[97]
-#define INIT_TABLE_POS_TableEltClassPos SFT_compiling_global[98]
-#define COLOR_compiling_global___TableEltClassPos___init SFT_compiling_global[99]
-#define ID_TableEltClassIdPos SFT_compiling_global[100]
-#define COLOR_TableEltClassIdPos SFT_compiling_global[101]
-#define INIT_TABLE_POS_TableEltClassIdPos SFT_compiling_global[102]
-#define COLOR_compiling_global___TableEltClassIdPos___init SFT_compiling_global[103]
-#define ID_TableEltClassInitTablePos SFT_compiling_global[104]
-#define COLOR_TableEltClassInitTablePos SFT_compiling_global[105]
-#define INIT_TABLE_POS_TableEltClassInitTablePos SFT_compiling_global[106]
-#define COLOR_compiling_global___TableEltClassInitTablePos___init SFT_compiling_global[107]
-#define ID_TableEltClassColorPos SFT_compiling_global[108]
-#define COLOR_TableEltClassColorPos SFT_compiling_global[109]
-#define INIT_TABLE_POS_TableEltClassColorPos SFT_compiling_global[110]
-#define COLOR_compiling_global___TableEltClassColorPos___init SFT_compiling_global[111]
-#define ID_TableEltBaseAttrPos SFT_compiling_global[112]
-#define COLOR_TableEltBaseAttrPos SFT_compiling_global[113]
-#define COLOR_compiling_global___TableEltBaseAttrPos____local_class SFT_compiling_global[114]
-#define INIT_TABLE_POS_TableEltBaseAttrPos SFT_compiling_global[115]
-#define COLOR_compiling_global___TableEltBaseAttrPos___init SFT_compiling_global[116]
-#define ID_TableEltComposite SFT_compiling_global[117]
-#define COLOR_TableEltComposite SFT_compiling_global[118]
-#define COLOR_compiling_global___TableEltComposite____table SFT_compiling_global[119]
-#define COLOR_compiling_global___TableEltComposite____cc SFT_compiling_global[120]
-#define COLOR_compiling_global___TableEltComposite____offsets SFT_compiling_global[121]
-#define INIT_TABLE_POS_TableEltComposite SFT_compiling_global[122]
-#define COLOR_compiling_global___TableEltComposite___add SFT_compiling_global[123]
-#define COLOR_compiling_global___TableEltComposite___init SFT_compiling_global[124]
-#define ID_TableEltClassSelfId SFT_compiling_global[125]
-#define COLOR_TableEltClassSelfId SFT_compiling_global[126]
-#define INIT_TABLE_POS_TableEltClassSelfId SFT_compiling_global[127]
-#define COLOR_compiling_global___TableEltClassSelfId___init SFT_compiling_global[128]
-#define ID_TableEltVftPointer SFT_compiling_global[129]
-#define COLOR_TableEltVftPointer SFT_compiling_global[130]
-#define INIT_TABLE_POS_TableEltVftPointer SFT_compiling_global[131]
-#define COLOR_compiling_global___TableEltVftPointer___init SFT_compiling_global[132]
-#define ID_ClassSorter SFT_compiling_global[133]
-#define COLOR_ClassSorter SFT_compiling_global[134]
-#define INIT_TABLE_POS_ClassSorter SFT_compiling_global[135]
-#define COLOR_compiling_global___ClassSorter___init SFT_compiling_global[136]
-#define COLOR_compiling_global___MMLocalClass___compare SFT_compiling_global[137]
-#define COLOR_compiling_global___MMLocalClass___declare_tables_to_c SFT_compiling_global[138]
-#define COLOR_compiling_global___MMLocalClass___compile_tables_to_c SFT_compiling_global[139]
+#define COLOR_compiling_global___ColorContext___init SFT_compiling_global[7]
+#define ID_GlobalAnalysis SFT_compiling_global[8]
+#define COLOR_GlobalAnalysis SFT_compiling_global[9]
+#define COLOR_compiling_global___GlobalAnalysis____compiled_classes SFT_compiling_global[10]
+#define COLOR_compiling_global___GlobalAnalysis____module SFT_compiling_global[11]
+#define COLOR_compiling_global___GlobalAnalysis____max_class_table_length SFT_compiling_global[12]
+#define INIT_TABLE_POS_GlobalAnalysis SFT_compiling_global[13]
+#define COLOR_compiling_global___GlobalAnalysis___compiled_classes SFT_compiling_global[14]
+#define COLOR_compiling_global___GlobalAnalysis___module SFT_compiling_global[15]
+#define COLOR_compiling_global___GlobalAnalysis___max_class_table_length SFT_compiling_global[16]
+#define COLOR_compiling_global___GlobalAnalysis___max_class_table_length__eq SFT_compiling_global[17]
+#define COLOR_compiling_global___GlobalAnalysis___init SFT_compiling_global[18]
+#define COLOR_compiling_global___CompilerVisitor____global_analysis SFT_compiling_global[19]
+#define COLOR_compiling_global___CompilerVisitor___global_analysis SFT_compiling_global[20]
+#define COLOR_compiling_global___CompilerVisitor___global_analysis__eq SFT_compiling_global[21]
+#define ID_CompiledClass SFT_compiling_global[22]
+#define COLOR_CompiledClass SFT_compiling_global[23]
+#define COLOR_compiling_global___CompiledClass____local_class SFT_compiling_global[24]
+#define COLOR_compiling_global___CompiledClass____id SFT_compiling_global[25]
+#define COLOR_compiling_global___CompiledClass____class_table SFT_compiling_global[26]
+#define COLOR_compiling_global___CompiledClass____instance_table SFT_compiling_global[27]
+#define COLOR_compiling_global___CompiledClass____class_layout SFT_compiling_global[28]
+#define COLOR_compiling_global___CompiledClass____instance_layout SFT_compiling_global[29]
+#define INIT_TABLE_POS_CompiledClass SFT_compiling_global[30]
+#define COLOR_compiling_global___CompiledClass___local_class SFT_compiling_global[31]
+#define COLOR_compiling_global___CompiledClass___id SFT_compiling_global[32]
+#define COLOR_compiling_global___CompiledClass___id__eq SFT_compiling_global[33]
+#define COLOR_compiling_global___CompiledClass___class_table SFT_compiling_global[34]
+#define COLOR_compiling_global___CompiledClass___class_table__eq SFT_compiling_global[35]
+#define COLOR_compiling_global___CompiledClass___instance_table SFT_compiling_global[36]
+#define COLOR_compiling_global___CompiledClass___instance_table__eq SFT_compiling_global[37]
+#define COLOR_compiling_global___CompiledClass___class_layout SFT_compiling_global[38]
+#define COLOR_compiling_global___CompiledClass___class_layout__eq SFT_compiling_global[39]
+#define COLOR_compiling_global___CompiledClass___instance_layout SFT_compiling_global[40]
+#define COLOR_compiling_global___CompiledClass___instance_layout__eq SFT_compiling_global[41]
+#define COLOR_compiling_global___CompiledClass___init SFT_compiling_global[42]
+#define COLOR_compiling_global___MMGlobalProperty____pos_of SFT_compiling_global[43]
+#define COLOR_compiling_global___MMGlobalProperty___pos_of SFT_compiling_global[44]
+#define COLOR_compiling_global___MMGlobalProperty___pos_of__eq SFT_compiling_global[45]
+#define COLOR_compiling_global___MMSrcLocalClass____base_attr_pos SFT_compiling_global[46]
+#define COLOR_compiling_global___MMSrcLocalClass____class_color_pos SFT_compiling_global[47]
+#define COLOR_compiling_global___MMSrcLocalClass____class_layout SFT_compiling_global[48]
+#define COLOR_compiling_global___MMSrcLocalClass____instance_layout SFT_compiling_global[49]
+#define COLOR_compiling_global___MMSrcLocalClass___base_attr_pos SFT_compiling_global[50]
+#define COLOR_compiling_global___MMSrcLocalClass___class_color_pos SFT_compiling_global[51]
+#define COLOR_compiling_global___MMSrcLocalClass___class_layout SFT_compiling_global[52]
+#define COLOR_compiling_global___MMSrcLocalClass___instance_layout SFT_compiling_global[53]
+#define COLOR_compiling_global___MMSrcLocalClass___build_layout_in SFT_compiling_global[54]
+#define COLOR_compiling_global___MMSrcModule____local_table SFT_compiling_global[55]
+#define COLOR_compiling_global___MMSrcModule___local_analysis SFT_compiling_global[56]
+#define COLOR_compiling_global___MMSrcModule___global_analysis SFT_compiling_global[57]
+#define COLOR_compiling_global___MMSrcModule___append_to_table SFT_compiling_global[58]
+#define COLOR_compiling_global___MMSrcModule___build_tables SFT_compiling_global[59]
+#define COLOR_compiling_global___MMSrcModule___colorize SFT_compiling_global[60]
+#define COLOR_compiling_global___MMSrcModule___free_color SFT_compiling_global[61]
+#define COLOR_compiling_global___MMSrcModule___compile_tables_to_c SFT_compiling_global[62]
+#define COLOR_compiling_global___MMSrcModule___declare_class_tables_to_c SFT_compiling_global[63]
+#define COLOR_compiling_global___MMSrcModule___compile_main_part SFT_compiling_global[64]
+#define COLOR_compiling_global___MMSrcModule___compile_mod_to_c SFT_compiling_global[65]
+#define COLOR_compiling_global___MMSrcModule___compile_local_table_to_c SFT_compiling_global[66]
+#define ID_TableElt SFT_compiling_global[67]
+#define COLOR_TableElt SFT_compiling_global[68]
+#define INIT_TABLE_POS_TableElt SFT_compiling_global[69]
+#define COLOR_compiling_global___TableElt___is_related_to SFT_compiling_global[70]
+#define COLOR_compiling_global___TableElt___length SFT_compiling_global[71]
+#define COLOR_compiling_global___TableElt___item SFT_compiling_global[72]
+#define COLOR_compiling_global___TableElt___compile_to_c SFT_compiling_global[73]
+#define COLOR_compiling_global___TableElt___init SFT_compiling_global[74]
+#define ID_LocalTableElt SFT_compiling_global[75]
+#define COLOR_LocalTableElt SFT_compiling_global[76]
+#define INIT_TABLE_POS_LocalTableElt SFT_compiling_global[77]
+#define COLOR_compiling_global___LocalTableElt___symbol SFT_compiling_global[78]
+#define COLOR_compiling_global___LocalTableElt___value SFT_compiling_global[79]
+#define ID_TableEltPropPos SFT_compiling_global[80]
+#define COLOR_TableEltPropPos SFT_compiling_global[81]
+#define COLOR_compiling_global___TableEltPropPos____property SFT_compiling_global[82]
+#define INIT_TABLE_POS_TableEltPropPos SFT_compiling_global[83]
+#define COLOR_compiling_global___TableEltPropPos___init SFT_compiling_global[84]
+#define ID_TableEltMethPos SFT_compiling_global[85]
+#define COLOR_TableEltMethPos SFT_compiling_global[86]
+#define INIT_TABLE_POS_TableEltMethPos SFT_compiling_global[87]
+#define COLOR_compiling_global___TableEltMethPos___init SFT_compiling_global[88]
+#define ID_TableEltSuperPos SFT_compiling_global[89]
+#define COLOR_TableEltSuperPos SFT_compiling_global[90]
+#define INIT_TABLE_POS_TableEltSuperPos SFT_compiling_global[91]
+#define COLOR_compiling_global___TableEltSuperPos___init SFT_compiling_global[92]
+#define ID_TableEltAttrPos SFT_compiling_global[93]
+#define COLOR_TableEltAttrPos SFT_compiling_global[94]
+#define INIT_TABLE_POS_TableEltAttrPos SFT_compiling_global[95]
+#define COLOR_compiling_global___TableEltAttrPos___init SFT_compiling_global[96]
+#define ID_TableEltClassPos SFT_compiling_global[97]
+#define COLOR_TableEltClassPos SFT_compiling_global[98]
+#define COLOR_compiling_global___TableEltClassPos____local_class SFT_compiling_global[99]
+#define INIT_TABLE_POS_TableEltClassPos SFT_compiling_global[100]
+#define COLOR_compiling_global___TableEltClassPos___init SFT_compiling_global[101]
+#define ID_TableEltClassIdPos SFT_compiling_global[102]
+#define COLOR_TableEltClassIdPos SFT_compiling_global[103]
+#define INIT_TABLE_POS_TableEltClassIdPos SFT_compiling_global[104]
+#define COLOR_compiling_global___TableEltClassIdPos___init SFT_compiling_global[105]
+#define ID_TableEltClassInitTablePos SFT_compiling_global[106]
+#define COLOR_TableEltClassInitTablePos SFT_compiling_global[107]
+#define INIT_TABLE_POS_TableEltClassInitTablePos SFT_compiling_global[108]
+#define COLOR_compiling_global___TableEltClassInitTablePos___init SFT_compiling_global[109]
+#define ID_TableEltClassColorPos SFT_compiling_global[110]
+#define COLOR_TableEltClassColorPos SFT_compiling_global[111]
+#define INIT_TABLE_POS_TableEltClassColorPos SFT_compiling_global[112]
+#define COLOR_compiling_global___TableEltClassColorPos___init SFT_compiling_global[113]
+#define ID_TableEltBaseAttrPos SFT_compiling_global[114]
+#define COLOR_TableEltBaseAttrPos SFT_compiling_global[115]
+#define COLOR_compiling_global___TableEltBaseAttrPos____local_class SFT_compiling_global[116]
+#define INIT_TABLE_POS_TableEltBaseAttrPos SFT_compiling_global[117]
+#define COLOR_compiling_global___TableEltBaseAttrPos___init SFT_compiling_global[118]
+#define ID_TableEltComposite SFT_compiling_global[119]
+#define COLOR_TableEltComposite SFT_compiling_global[120]
+#define COLOR_compiling_global___TableEltComposite____table SFT_compiling_global[121]
+#define COLOR_compiling_global___TableEltComposite____cc SFT_compiling_global[122]
+#define COLOR_compiling_global___TableEltComposite____offsets SFT_compiling_global[123]
+#define INIT_TABLE_POS_TableEltComposite SFT_compiling_global[124]
+#define COLOR_compiling_global___TableEltComposite___add SFT_compiling_global[125]
+#define COLOR_compiling_global___TableEltComposite___init SFT_compiling_global[126]
+#define ID_TableEltClassSelfId SFT_compiling_global[127]
+#define COLOR_TableEltClassSelfId SFT_compiling_global[128]
+#define INIT_TABLE_POS_TableEltClassSelfId SFT_compiling_global[129]
+#define COLOR_compiling_global___TableEltClassSelfId___init SFT_compiling_global[130]
+#define ID_TableEltVftPointer SFT_compiling_global[131]
+#define COLOR_TableEltVftPointer SFT_compiling_global[132]
+#define INIT_TABLE_POS_TableEltVftPointer SFT_compiling_global[133]
+#define COLOR_compiling_global___TableEltVftPointer___init SFT_compiling_global[134]
+#define ID_ClassSorter SFT_compiling_global[135]
+#define COLOR_ClassSorter SFT_compiling_global[136]
+#define INIT_TABLE_POS_ClassSorter SFT_compiling_global[137]
+#define COLOR_compiling_global___ClassSorter___init SFT_compiling_global[138]
+#define COLOR_compiling_global___MMLocalClass___compare SFT_compiling_global[139]
+#define COLOR_compiling_global___MMLocalClass___declare_tables_to_c SFT_compiling_global[140]
+#define COLOR_compiling_global___MMLocalClass___compile_tables_to_c SFT_compiling_global[141]
 #define ATTR_compiling_global___ColorContext____colors(recv) ATTR(recv, COLOR_compiling_global___ColorContext____colors)
 typedef val_t (* compiling_global___ColorContext___color_t)(val_t  self, val_t  param0);
 val_t compiling_global___ColorContext___color(val_t  self, val_t  param0);
@@ -191,6 +193,10 @@ val_t compiling_global___ColorContext___has_color(val_t  self, val_t  param0);
 typedef void (* compiling_global___ColorContext___color__eq_t)(val_t  self, val_t  param0, val_t  param1);
 void compiling_global___ColorContext___color__eq(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_global___ColorContext___color__eq "compiling_global::ColorContext::color="
+typedef void (* compiling_global___ColorContext___init_t)(val_t  self, int* init_table);
+void compiling_global___ColorContext___init(val_t  self, int* init_table);
+val_t NEW_compiling_global___ColorContext___init();
+#define LOCATE_compiling_global___ColorContext___init "compiling_global::ColorContext::init"
 #define ATTR_compiling_global___GlobalAnalysis____compiled_classes(recv) ATTR(recv, COLOR_compiling_global___GlobalAnalysis____compiled_classes)
 typedef val_t (* compiling_global___GlobalAnalysis___compiled_classes_t)(val_t  self);
 val_t compiling_global___GlobalAnalysis___compiled_classes(val_t  self);
@@ -332,6 +338,10 @@ val_t compiling_global___TableElt___item(val_t  self, val_t  param0);
 typedef val_t (* compiling_global___TableElt___compile_to_c_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_global___TableElt___compile_to_c(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_global___TableElt___compile_to_c "compiling_global::TableElt::compile_to_c"
+typedef void (* compiling_global___TableElt___init_t)(val_t  self, int* init_table);
+void compiling_global___TableElt___init(val_t  self, int* init_table);
+val_t NEW_compiling_global___TableElt___init();
+#define LOCATE_compiling_global___TableElt___init "compiling_global::TableElt::init"
 typedef val_t (* compiling_global___LocalTableElt___symbol_t)(val_t  self);
 val_t compiling_global___LocalTableElt___symbol(val_t  self);
 #define LOCATE_compiling_global___LocalTableElt___symbol "compiling_global::LocalTableElt::symbol"
index 5a29a51..5268c2d 100644 (file)
@@ -63,7 +63,7 @@ val_t compiling_methods___CompilerVisitor___ensure_var(val_t  self, val_t  param
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = ((string___String___substring_t)CALL( variable0 /*s*/,COLOR_string___String___substring))( variable0 /*s*/,  TAG_Int(0),  TAG_Int(3)) /*String::substring*/;
-  variable2 = NEW_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
   variable1 = TAG_Bool((variable1 == variable2) || ((variable1 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, variable2) /*String::==*/)));
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 =  variable0 /*s*/;
@@ -97,18 +97,18 @@ void compiling_methods___CompilerVisitor___add_assignment(val_t  self, val_t  pa
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*v*/ ==  variable1 /*s*/) || (( variable0 /*v*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*v*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*v*/, variable1 /*s*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*v*/,COLOR_kernel___Object_____eqeq))( variable0 /*v*/,  variable1 /*s*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 =  variable0 /*v*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
     variable8 =  variable1 /*s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
     variable10 = variable9;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable10) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( self,COLOR_compiling_base___CompilerVisitor___add_instr))( self, variable2) /*CompilerVisitor::add_instr*/;
@@ -128,14 +128,14 @@ val_t compiling_methods___CompilerVisitor___variable(val_t  self, val_t  param0)
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 =  variable0 /*i*/;
   variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
   goto return_label4;
@@ -164,13 +164,13 @@ val_t compiling_methods___CompilerVisitor___get_var(val_t  self) {
   variable2 = ATTR_compiling_methods___CompilerVisitor____variable_index_max( self) /*CompilerVisitor::_variable_index_max*/;
   variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int(variable2));
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_string___String___init(); /*new String*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
+    variable1 = NEW_String_string___String___init(); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
     variable3 = variable2;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
     variable4 =  variable0 /*v*/;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
-    variable5 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_decl_t)CALL( self,COLOR_compiling_base___CompilerVisitor___add_decl))( self, variable1) /*CompilerVisitor::add_decl*/;
@@ -343,34 +343,34 @@ val_t compiling_methods___CompilerVisitor___printf_locate_error(val_t  self, val
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable2 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \""), TAG_Int(17)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \""), TAG_Int(17)); /*new String*/
   variable1 = variable2;
   variable2 = ((compiling_methods___CompilerVisitor___method_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method))( self) /*CompilerVisitor::method*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString(" in %s"), TAG_Int(6)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString(" in %s"), TAG_Int(6)); /*new String*/
     ((string___String___append_t)CALL( variable1 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*s*/, variable2) /*String::append*/;
   }
-  variable2 = NEW_string___String___with_native(BOX_NativeString(" (%s:%d)\\n\", "), TAG_Int(13)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(" (%s:%d)\\n\", "), TAG_Int(13)); /*new String*/
   ((string___String___append_t)CALL( variable1 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*s*/, variable2) /*String::append*/;
   variable2 = ((compiling_methods___CompilerVisitor___method_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method))( self) /*CompilerVisitor::method*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 = ((compiling_methods___CompilerVisitor___method_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method))( self) /*CompilerVisitor::method*/;
     variable5 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable5,COLOR_compiling_base___MMLocalProperty___cname))(variable5) /*MMLocalProperty::cname*/;
     variable6 = variable5;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-    variable7 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
     ((string___String___append_t)CALL( variable1 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*s*/, variable2) /*String::append*/;
   }
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 = ((compiling_base___CompilerVisitor___module_t)CALL( self,COLOR_compiling_base___CompilerVisitor___module))( self) /*CompilerVisitor::module*/;
@@ -378,14 +378,14 @@ val_t compiling_methods___CompilerVisitor___printf_locate_error(val_t  self, val
   variable6 = variable5;
   variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
   variable9 = ((parser_prod___PNode___line_number_t)CALL( variable0 /*node*/,COLOR_parser_prod___PNode___line_number))( variable0 /*node*/) /*PNode::line_number*/;
   variable10 = variable9;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable12) /*String::append*/;
   ((string___String___append_t)CALL( variable1 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*s*/, variable2) /*String::append*/;
@@ -549,7 +549,7 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
     variable8 = ((static_type___MMSignature___arity_t)CALL(variable8,COLOR_static_type___MMSignature___arity))(variable8) /*MMSignature::arity*/;
     variable8 = TAG_Bool((variable8)==( TAG_Int(0)));
     if (UNTAG_Bool(variable8)) { /*if*/
-      variable8 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+      variable8 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
       variable9 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method_params))( self) /*CompilerVisitor::method_params*/;
       variable10 =  TAG_Int(0);
       variable11 = TAG_Bool(UNTAG_Int( variable10 /*index*/)>=UNTAG_Int( TAG_Int(0)));
@@ -585,11 +585,11 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   val_t variable1;
   val_t variable2;
   val_t variable3;
-  val_t variable4;
-    val_t variable5;
-    static val_t once_value_variable5_20; static int once_bool_variable5_20;
-      val_t variable6;
-      static val_t once_value_variable6_21; static int once_bool_variable6_21;
+    val_t variable4;
+      val_t variable5;
+      static val_t once_value_variable5_20; static int once_bool_variable5_20;
+        val_t variable6;
+        static val_t once_value_variable6_21; static int once_bool_variable6_21;
   static val_t once_value_variable4_22; static int once_bool_variable4_22;
   static val_t once_value_variable5_23; static int once_bool_variable5_23;
     val_t variable7;
@@ -621,45 +621,51 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   variable1 =  param1;
   variable2 =  self;
   variable3 = TAG_Bool(( variable2 /*i*/==NIT_NULL) || VAL_ISA( variable2 /*i*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMMethod___compile_call, LOCATE_compiling_methods, 211); nit_exit(1);}
-  variable3 = ((syntax_base___MMLocalProperty___node_t)CALL( variable2 /*i*/,COLOR_syntax_base___MMLocalProperty___node))( variable2 /*i*/) /*MMLocalProperty::node*/;
-  variable3 = TAG_Bool((variable3==NIT_NULL) || VAL_ISA(variable3, COLOR_AInternMethPropdef, ID_AInternMethPropdef)) /*cast AInternMethPropdef*/;
-  variable4 = variable3;
-  if (!UNTAG_Bool(variable4)) { /* or */
-    variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable2 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable2 /*i*/) /*MMLocalProperty::local_class*/;
-    variable4 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___name))(variable4) /*MMLocalClass::name*/;
-    if (once_bool_variable5_20) variable5 = once_value_variable5_20;
-    else {
-      variable5 = NEW_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)); /*new String*/
-      variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
-      once_value_variable5_20 = variable5;
-      once_bool_variable5_20 = true;
+  if (UNTAG_Bool(variable3)) { /*if*/
+    variable3 = TAG_Bool(( variable2 /*i*/==NIT_NULL) || VAL_ISA( variable2 /*i*/, COLOR_MMMethSrcMethod, ID_MMMethSrcMethod)) /*cast MMMethSrcMethod*/;
+    variable4 = variable3;
+    if (UNTAG_Bool(variable4)) { /* and */
+      variable4 = ((syntax_base___MMMethSrcMethod___node_t)CALL( variable2 /*i*/,COLOR_syntax_base___MMLocalProperty___node))( variable2 /*i*/) /*MMMethSrcMethod::node*/;
+      variable4 = TAG_Bool((variable4==NIT_NULL) || VAL_ISA(variable4, COLOR_AInternMethPropdef, ID_AInternMethPropdef)) /*cast AInternMethPropdef*/;
     }
-    variable4 = TAG_Bool((variable4 == variable5) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4,variable5)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable5) /*Object::==*/)))));
-    variable5 = variable4;
-    if (UNTAG_Bool(variable5)) { /* and */
-      variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
-      if (once_bool_variable6_21) variable6 = once_value_variable6_21;
+    variable3 = variable4;
+    variable4 = variable3;
+    if (!UNTAG_Bool(variable4)) { /* or */
+      variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable2 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable2 /*i*/) /*MMLocalProperty::local_class*/;
+      variable4 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___name))(variable4) /*MMLocalClass::name*/;
+      if (once_bool_variable5_20) variable5 = once_value_variable5_20;
       else {
-        variable6 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
-        variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-        once_value_variable6_21 = variable6;
-        once_bool_variable6_21 = true;
+        variable5 = NEW_String_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)); /*new String*/
+        variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
+        once_value_variable5_20 = variable5;
+        once_bool_variable5_20 = true;
       }
-      variable5 = TAG_Bool((variable5 == variable6) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5, variable6) /*Object::==*/)))));
+      variable4 = TAG_Bool((variable4 == variable5) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4,variable5)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable5) /*Object::==*/)))));
+      variable5 = variable4;
+      if (UNTAG_Bool(variable5)) { /* and */
+        variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
+        if (once_bool_variable6_21) variable6 = once_value_variable6_21;
+        else {
+          variable6 = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
+          variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
+          once_value_variable6_21 = variable6;
+          once_bool_variable6_21 = true;
+        }
+        variable5 = TAG_Bool((variable5 == variable6) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5, variable6) /*Object::==*/)))));
+      }
+      variable4 = variable5;
     }
-    variable4 = variable5;
-  }
-  variable3 = variable4;
-  if (UNTAG_Bool(variable3)) { /*if*/
-    variable4 = ((compiling_methods___MMSrcMethod___do_compile_inside_t)CALL( variable2 /*i*/,COLOR_compiling_methods___MMSrcMethod___do_compile_inside))( variable2 /*i*/,  variable0 /*v*/,  variable1 /*cargs*/) /*MMSrcMethod::do_compile_inside*/;
     variable3 = variable4;
-    variable2 =  variable3 /*e*/;
-    goto return_label19;
+    if (UNTAG_Bool(variable3)) { /*if*/
+      variable4 = ((compiling_methods___MMSrcMethod___do_compile_inside_t)CALL( variable2 /*i*/,COLOR_compiling_methods___MMSrcMethod___do_compile_inside))( variable2 /*i*/,  variable0 /*v*/,  variable1 /*cargs*/) /*MMSrcMethod::do_compile_inside*/;
+      variable3 = variable4;
+      variable2 =  variable3 /*e*/;
+      goto return_label19;
+    }
   }
   if (once_bool_variable4_22) variable4 = once_value_variable4_22;
   else {
-    variable4 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
     variable4 = ((symbol___String___to_symbol_t)CALL(variable4,COLOR_symbol___String___to_symbol))(variable4) /*String::to_symbol*/;
     once_value_variable4_22 = variable4;
     once_bool_variable4_22 = true;
@@ -667,7 +673,7 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   variable3 = variable4;
   if (once_bool_variable5_23) variable5 = once_value_variable5_23;
   else {
-    variable5 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
     variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
     once_value_variable5_23 = variable5;
     once_bool_variable5_23 = true;
@@ -683,13 +689,13 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
     variable5 = variable6;
     variable7 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable5 /*eqp*/,COLOR_compiling_methods___MMMethod___compile_call))( variable5 /*eqp*/,  variable0 /*v*/,  variable1 /*cargs*/) /*MMMethod::compile_call*/;
     variable6 = variable7;
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(!UNTAG_Bool("), TAG_Int(21)); /*new String*/
+    variable7 = NEW_String_string___String___init(); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(!UNTAG_Bool("), TAG_Int(21)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
     variable10 =  variable6 /*eqcall*/;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
     variable2 = variable7;
@@ -700,17 +706,17 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   if (UNTAG_Bool(variable5)) { /*if*/
     variable5 = ((array___Collection___to_a_t)CALL( variable1 /*cargs*/,COLOR_array___Collection___to_a))( variable1 /*cargs*/) /*Collection::to_a*/;
     variable1 = variable5 /*cargs=*/;
-    variable5 = NEW_string___String___with_native(BOX_NativeString("init_table /*YYY*/"), TAG_Int(18)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("init_table /*YYY*/"), TAG_Int(18)); /*new String*/
     ((array___AbstractArray___add_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*cargs*/, variable5) /*AbstractArray::add*/;
   }
-  variable6 = NEW_string___String___init(); /*new String*/
-  variable7 = NEW_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
+  variable6 = NEW_String_string___String___init(); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
   variable9 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
   variable10 = variable9;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("_t)CALL("), TAG_Int(8)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("_t)CALL("), TAG_Int(8)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
   variable13 =  TAG_Int(0);
@@ -729,64 +735,64 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   variable13 = variable14;
   variable14 = variable13;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
   variable17 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
   variable17 = ((compiling_base___MMGlobalProperty___color_id_t)CALL(variable17,COLOR_compiling_base___MMGlobalProperty___color_id))(variable17) /*MMGlobalProperty::color_id*/;
   variable18 = variable17;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+  variable19 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
   variable20 = variable19;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
   variable5 = variable6;
-  variable7 = NEW_string___String___init(); /*new String*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable7 = NEW_String_string___String___init(); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
   variable10 =  variable5 /*m*/;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable13 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable13) /*Collection::join*/;
   variable14 = variable13;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
   variable17 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
   variable18 = variable17;
   variable18 = ((string___String___to_s_t)CALL(variable18,COLOR_string___Object___to_s))(variable18) /*String::to_s*/;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+  variable19 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
   variable20 = variable19;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable20) /*String::append*/;
   variable21 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
   variable22 = variable21;
   variable22 = ((string___String___to_s_t)CALL(variable22,COLOR_string___Object___to_s))(variable22) /*String::to_s*/;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable22) /*String::append*/;
-  variable23 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
+  variable23 = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
   variable24 = variable23;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable24) /*String::append*/;
   variable6 = variable7;
   variable7 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
   variable7 = TAG_Bool((variable7 ==  variable3 /*ee*/) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7, variable3 /*ee*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7,  variable3 /*ee*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("UNTAG_Bool("), TAG_Int(11)); /*new String*/
+    variable7 = NEW_String_string___String___init(); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("UNTAG_Bool("), TAG_Int(11)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
     variable10 =  variable6 /*vcall*/;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
     variable6 = variable7 /*vcall=*/;
     if (once_bool_variable8_25) variable8 = once_value_variable8_25;
     else {
-      variable8 = NEW_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
       variable8 = ((symbol___String___to_symbol_t)CALL(variable8,COLOR_symbol___String___to_symbol))(variable8) /*String::to_symbol*/;
       once_value_variable8_25 = variable8;
       once_bool_variable8_25 = true;
@@ -796,19 +802,19 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
     variable8 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable8,COLOR_abstractmetamodel___MMLocalClass___name))(variable8) /*MMLocalClass::name*/;
     variable8 = TAG_Bool((variable8 ==  variable7 /*obj*/) || ((variable8 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable8, variable7 /*obj*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))(variable8,  variable7 /*obj*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable8)) { /*if*/
-      variable8 = NEW_string___String___init(); /*new String*/
-      variable9 = NEW_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
+      variable8 = NEW_String_string___String___init(); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
       variable11 =  variable5 /*m*/;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable11) /*String::append*/;
-      variable12 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
+      variable12 = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
       variable13 = variable12;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable13) /*String::append*/;
       variable14 = ((compiling_base___MMLocalProperty___cname_t)CALL( variable2 /*i*/,COLOR_compiling_base___MMLocalProperty___cname))( variable2 /*i*/) /*MMLocalProperty::cname*/;
       variable15 = variable14;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable15) /*String::append*/;
-      variable16 = NEW_string___String___with_native(BOX_NativeString(")?(IS_EQUAL_NN("), TAG_Int(15)); /*new String*/
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString(")?(IS_EQUAL_NN("), TAG_Int(15)); /*new String*/
       variable17 = variable16;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable17) /*String::append*/;
       variable18 =  TAG_Int(0);
@@ -827,7 +833,7 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
       variable18 = variable19;
       variable19 = variable18;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable19) /*String::append*/;
-      variable20 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
+      variable20 = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
       variable21 = variable20;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable21) /*String::append*/;
       variable22 =  TAG_Int(1);
@@ -846,24 +852,24 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
       variable22 = variable23;
       variable23 = variable22;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable23) /*String::append*/;
-      variable24 = NEW_string___String___with_native(BOX_NativeString(")):("), TAG_Int(4)); /*new String*/
+      variable24 = NEW_String_string___String___with_native(BOX_NativeString(")):("), TAG_Int(4)); /*new String*/
       variable25 = variable24;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable25) /*String::append*/;
       variable26 =  variable6 /*vcall*/;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable26) /*String::append*/;
-      variable27 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+      variable27 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
       variable28 = variable27;
       ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable28) /*String::append*/;
       variable6 = variable8 /*vcall=*/;
     }
-    variable8 = NEW_string___String___init(); /*new String*/
-    variable9 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
+    variable8 = NEW_String_string___String___init(); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
     variable10 = variable9;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
     variable11 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___Collection___first))( variable1 /*cargs*/) /*IndexedCollection::first*/;
     variable12 = variable11;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable12) /*String::append*/;
-    variable13 = NEW_string___String___with_native(BOX_NativeString(" == "), TAG_Int(4)); /*new String*/
+    variable13 = NEW_String_string___String___with_native(BOX_NativeString(" == "), TAG_Int(4)); /*new String*/
     variable14 = variable13;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
     variable15 =  TAG_Int(1);
@@ -882,18 +888,18 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
     variable15 = variable16;
     variable16 = variable15;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable16) /*String::append*/;
-    variable17 = NEW_string___String___with_native(BOX_NativeString(") || (("), TAG_Int(7)); /*new String*/
+    variable17 = NEW_String_string___String___with_native(BOX_NativeString(") || (("), TAG_Int(7)); /*new String*/
     variable18 = variable17;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable18) /*String::append*/;
     variable19 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___Collection___first))( variable1 /*cargs*/) /*IndexedCollection::first*/;
     variable20 = variable19;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable20) /*String::append*/;
-    variable21 = NEW_string___String___with_native(BOX_NativeString(" != NIT_NULL) && "), TAG_Int(17)); /*new String*/
+    variable21 = NEW_String_string___String___with_native(BOX_NativeString(" != NIT_NULL) && "), TAG_Int(17)); /*new String*/
     variable22 = variable21;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable22) /*String::append*/;
     variable23 =  variable6 /*vcall*/;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable23) /*String::append*/;
-    variable24 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+    variable24 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
     variable25 = variable24;
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable25) /*String::append*/;
     variable6 = variable8 /*vcall=*/;
@@ -905,7 +911,7 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
     variable2 =  variable6 /*vcall*/;
     goto return_label19;
   } else { /*if*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
     variable7 = ((string___String_____plus_t)CALL( variable6 /*vcall*/,COLOR_string___String_____plus))( variable6 /*vcall*/, variable7) /*String::+*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
     variable2 =  NIT_NULL /*null*/;
@@ -915,8 +921,8 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   tracehead = trace.prev;
   return variable2;
 }
-val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 248, LOCATE_compiling_methods___MMMethod___compile_constructor_call};
+val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 249, LOCATE_compiling_methods___MMMethod___compile_constructor_call};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -938,51 +944,60 @@ val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t
   val_t variable18;
   val_t variable19;
   val_t variable20;
+  val_t variable21;
+  val_t variable22;
+  val_t variable23;
+  val_t variable24;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
-  variable2 = variable3;
-  variable4 = ((static_type___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
-  variable4 = ((static_type___MMSignature___recv_t)CALL(variable4,COLOR_static_type___MMSignature___recv))(variable4) /*MMSignature::recv*/;
+  variable2 =  param2;
+  variable4 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
   variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 =  variable2 /*recv*/;
+  variable7 =  variable3 /*recv*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(" = NEW_"), TAG_Int(7)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(" = NEW_"), TAG_Int(7)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
-  variable10 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
-  variable10 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable10,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable10) /*MMGlobalProperty::intro*/;
-  variable10 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable10,COLOR_compiling_base___MMLocalProperty___cname))(variable10) /*MMLocalProperty::cname*/;
+  variable10 = ((static_type___MMType___local_class_t)CALL( variable1 /*recvtype*/,COLOR_static_type___MMType___local_class))( variable1 /*recvtype*/) /*MMType::local_class*/;
   variable11 = variable10;
+  variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable13 = variable12;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-  variable14 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable14) /*Collection::join*/;
+  variable14 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
+  variable14 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable14,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable14) /*MMGlobalProperty::intro*/;
+  variable14 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable14,COLOR_compiling_base___MMLocalProperty___cname))(variable14) /*MMLocalProperty::cname*/;
   variable15 = variable14;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString("); /*new "), TAG_Int(9)); /*new String*/
+  variable16 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
   variable17 = variable16;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable17) /*String::append*/;
-  variable18 =  variable3 /*stype*/;
-  variable18 = ((string___String___to_s_t)CALL(variable18,COLOR_string___Object___to_s))(variable18) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
-  variable20 = variable19;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
+  variable18 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable18 = ((string___Collection___join_t)CALL( variable2 /*cargs*/,COLOR_string___Collection___join))( variable2 /*cargs*/, variable18) /*Collection::join*/;
+  variable19 = variable18;
+  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable19) /*String::append*/;
+  variable20 = NEW_String_string___String___with_native(BOX_NativeString("); /*new "), TAG_Int(9)); /*new String*/
+  variable21 = variable20;
+  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable21) /*String::append*/;
+  variable22 =  variable1 /*recvtype*/;
+  variable22 = ((string___String___to_s_t)CALL(variable22,COLOR_string___Object___to_s))(variable22) /*String::to_s*/;
+  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable22) /*String::append*/;
+  variable23 = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
+  variable24 = variable23;
+  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable24) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
-  variable2 =  variable2 /*recv*/;
+  variable3 =  variable3 /*recv*/;
   goto return_label29;
   return_label29: while(false);
   tracehead = trace.prev;
-  return variable2;
+  return variable3;
 }
 val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  param0, val_t  param1) {
   struct trace_t trace = {NULL, NULL, 257, LOCATE_compiling_methods___MMMethod___compile_super_call};
@@ -1012,14 +1027,14 @@ val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  para
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
   variable7 = variable6;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("_t)CALL("), TAG_Int(8)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("_t)CALL("), TAG_Int(8)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
   variable10 =  TAG_Int(0);
@@ -1038,44 +1053,44 @@ val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  para
   variable10 = variable11;
   variable11 = variable10;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
   variable13 = variable12;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
   variable14 = ((compiling_base___MMLocalProperty___color_id_for_super_t)CALL( self,COLOR_compiling_base___MMLocalProperty___color_id_for_super))( self) /*MMLocalProperty::color_id_for_super*/;
   variable15 = variable14;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+  variable16 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
   variable17 = variable16;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
   variable2 = variable3;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 =  variable2 /*m*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable10 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable10) /*Collection::join*/;
   variable11 = variable10;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString(") /*super "), TAG_Int(10)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString(") /*super "), TAG_Int(10)); /*new String*/
   variable13 = variable12;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
   variable14 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
   variable15 = variable14;
   variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+  variable16 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
   variable17 = variable16;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable17) /*String::append*/;
   variable18 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
   variable19 = variable18;
   variable19 = ((string___String___to_s_t)CALL(variable19,COLOR_string___Object___to_s))(variable19) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable19) /*String::append*/;
-  variable20 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
+  variable20 = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
   variable21 = variable20;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable21) /*String::append*/;
   variable3 = variable4;
@@ -1111,34 +1126,34 @@ val_t compiling_methods___MMAttribute___compile_access(val_t  self, val_t  param
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
   variable5 = ((compiling_base___MMGlobalProperty___attr_access_t)CALL(variable5,COLOR_compiling_base___MMGlobalProperty___attr_access))(variable5) /*MMGlobalProperty::attr_access*/;
   variable6 = variable5;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
   variable9 =  variable1 /*recv*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable11) /*String::append*/;
   variable12 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
   variable13 = variable12;
   variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+  variable14 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
   variable15 = variable14;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable15) /*String::append*/;
   variable16 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
   variable17 = variable16;
   variable17 = ((string___String___to_s_t)CALL(variable17,COLOR_string___Object___to_s))(variable17) /*String::to_s*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable17) /*String::append*/;
-  variable18 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
+  variable18 = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
   variable19 = variable18;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable19) /*String::append*/;
   goto return_label32;
@@ -1181,17 +1196,17 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[String]*/
   variable2 = variable3;
   variable3 =  NIT_NULL /*null*/;
   variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
   variable4 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable4) /*MMGlobalProperty::is_init*/;
   if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = NEW_array___Array___init(); /*new Array[E]*/
+    variable4 = NEW_Array_array___Array___init(); /*new Array[String]*/
     variable3 = variable4 /*params_new=*/;
   }
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 =  TAG_Int(0);
@@ -1210,21 +1225,21 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   variable7 = variable8;
   variable8 = variable7;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
   ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/, variable4) /*AbstractArray::add*/;
   variable4 = ((static_type___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
   variable4 = ((static_type___MMSignature___arity_t)CALL(variable4,COLOR_static_type___MMSignature___arity))(variable4) /*MMSignature::arity*/;
-  variable5 = NEW_range___Range___without_last( TAG_Int(0), variable4); /*new Range[E]*/
+  variable5 = NEW_Range_range___Range___without_last( TAG_Int(0), variable4); /*new Range[Int]*/
   variable4 = variable5;
   variable4 = ((range___Range___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Range::iterator*/;
   while (true) { /*for*/
     variable5 = ((abstract_collection___Iterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable5)) break; /*for*/
     variable5 = ((abstract_collection___Iterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*Iterator::item*/;
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
+    variable7 = NEW_String_string___String___init(); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
     variable10 = TAG_Int(UNTAG_Int( variable5 /*i*/)+UNTAG_Int( TAG_Int(1)));
@@ -1244,7 +1259,7 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
     variable10 = variable12;
     variable11 = variable10;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable12 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable13 = variable12;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
     variable6 = variable7;
@@ -1260,7 +1275,7 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
   variable4 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable4) /*MMGlobalProperty::is_init*/;
   if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = NEW_string___String___with_native(BOX_NativeString("int* init_table"), TAG_Int(15)); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString("int* init_table"), TAG_Int(15)); /*new String*/
     ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/, variable4) /*AbstractArray::add*/;
   }
   variable4 = NIT_NULL /*decl variable ret*/;
@@ -1268,77 +1283,77 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   variable5 = ((static_type___MMSignature___return_type_t)CALL(variable5,COLOR_static_type___MMSignature___return_type))(variable5) /*MMSignature::return_type*/;
   variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable5 ==  NIT_NULL /*null*/) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)); /*new String*/
     variable4 = variable5 /*ret=*/;
   } else { /*if*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)); /*new String*/
     variable4 = variable5 /*ret=*/;
   }
-  variable6 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable6 = ((string___Collection___join_t)CALL( variable2 /*params*/,COLOR_string___Collection___join))( variable2 /*params*/, variable6) /*Collection::join*/;
   variable5 = variable6;
-  variable7 = NEW_string___String___init(); /*new String*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable7 = NEW_String_string___String___init(); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
   variable10 =  variable4 /*ret*/;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
   variable13 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
   variable14 = variable13;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
   variable17 =  variable5 /*p*/;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable17) /*String::append*/;
-  variable18 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+  variable18 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
   variable19 = variable18;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable19) /*String::append*/;
   variable6 = variable7;
-  variable7 = NEW_string___String___init(); /*new String*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)); /*new String*/
+  variable7 = NEW_String_string___String___init(); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
   variable10 =  variable4 /*ret*/;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(" (* "), TAG_Int(4)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(" (* "), TAG_Int(4)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
   variable13 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
   variable14 = variable13;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString("_t)("), TAG_Int(4)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString("_t)("), TAG_Int(4)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
   variable17 =  variable5 /*p*/;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable17) /*String::append*/;
-  variable18 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
+  variable18 = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
   variable19 = variable18;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable19) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable7) /*CompilerVisitor::add_decl*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
   variable7 = ((string___String_____plus_t)CALL( variable6 /*s*/,COLOR_string___String_____plus))( variable6 /*s*/, variable7) /*String::+*/;
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable7) /*CompilerVisitor::add_decl*/;
   variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*params_new*/ ==  NIT_NULL /*null*/) || (( variable3 /*params_new*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*params_new*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*params_new*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*params_new*/,COLOR_kernel___Object_____eqeq))( variable3 /*params_new*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
+    variable7 = NEW_String_string___String___init(); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
     variable10 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
     variable11 = variable10;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+    variable12 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
     variable13 = variable12;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+    variable14 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
     variable14 = ((string___Collection___join_t)CALL( variable3 /*params_new*/,COLOR_string___Collection___join))( variable3 /*params_new*/, variable14) /*Collection::join*/;
     variable15 = variable14;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable15) /*String::append*/;
-    variable16 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
+    variable16 = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
     variable17 = variable16;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable17) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable7) /*CompilerVisitor::add_decl*/;
@@ -1366,31 +1381,32 @@ void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t
   val_t variable12;
   val_t variable13;
   val_t variable14;
+  val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   ((compiling_methods___CompilerVisitor___clear_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___clear))( variable0 /*v*/) /*CompilerVisitor::clear*/;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[String]*/
   variable1 = variable2;
-  variable2 = NEW_string___String___with_native(BOX_NativeString(" self"), TAG_Int(5)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(" self"), TAG_Int(5)); /*new String*/
   ((array___AbstractArray___add_t)CALL( variable1 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*args*/, variable2) /*AbstractArray::add*/;
   variable2 = ((static_type___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
   variable2 = ((static_type___MMSignature___arity_t)CALL(variable2,COLOR_static_type___MMSignature___arity))(variable2) /*MMSignature::arity*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
     variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable3)) break; /*for*/
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
-    variable4 = NEW_string___String___init(); /*new String*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString(" param"), TAG_Int(6)); /*new String*/
+    variable4 = NEW_String_string___String___init(); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString(" param"), TAG_Int(6)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
     variable7 =  variable3 /*i*/;
     variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
     ((array___AbstractArray___add_t)CALL( variable1 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*args*/, variable4) /*AbstractArray::add*/;
@@ -1400,113 +1416,120 @@ void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t
   break_39: while(0);
   variable3 = ((compiling_methods___MMSrcMethod___decl_csignature_t)CALL( self,COLOR_compiling_methods___MMSrcMethod___decl_csignature))( self,  variable0 /*v*/,  variable1 /*args*/) /*MMSrcMethod::decl_csignature*/;
   variable2 = variable3;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("#define LOCATE_"), TAG_Int(15)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("#define LOCATE_"), TAG_Int(15)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
   variable7 = variable6;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(" \""), TAG_Int(2)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(" \""), TAG_Int(2)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
   variable10 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___full_name))( self) /*MMLocalProperty::full_name*/;
   variable11 = variable10;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)); /*new String*/
   variable13 = variable12;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable3) /*CompilerVisitor::add_decl*/;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable2 /*cs*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
   ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
   variable4 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable0 /*v*/) /*CompilerVisitor::ctx*/;
   variable3 = variable4;
-  variable4 = NEW_compiling_base___CContext___init(); /*new CContext*/
+  variable4 = NEW_CContext_compiling_base___CContext___init(); /*new CContext*/
   ((compiling_base___CompilerVisitor___ctx__eq_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq))( variable0 /*v*/, variable4) /*CompilerVisitor::ctx=*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, NULL, "), TAG_Int(36)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 = ((syntax_base___MMLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMLocalProperty___node))( self) /*MMLocalProperty::node*/;
-  variable7 = ((parser_prod___PNode___line_number_t)CALL(variable7,COLOR_parser_prod___PNode___line_number))(variable7) /*PNode::line_number*/;
+  variable4 =  TAG_Int(0);
+  variable5 =  self;
+  variable6 = ((syntax_base___MMLocalProperty___node_t)CALL( variable5 /*s*/,COLOR_syntax_base___MMLocalProperty___node))( variable5 /*s*/) /*MMLocalProperty::node*/;
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable6 ==  NIT_NULL /*null*/) || ((variable6 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable6, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))(variable6,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable6)) { /*if*/
+    variable6 = ((syntax_base___MMLocalProperty___node_t)CALL( variable5 /*s*/,COLOR_syntax_base___MMLocalProperty___node))( variable5 /*s*/) /*MMLocalProperty::node*/;
+    variable6 = ((parser_prod___PNode___line_number_t)CALL(variable6,COLOR_parser_prod___PNode___line_number))(variable6) /*PNode::line_number*/;
+    variable4 = variable6 /*ln=*/;
+  }
+  variable6 = NEW_String_string___String___init(); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, NULL, "), TAG_Int(36)); /*new String*/
   variable8 = variable7;
-  variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(", LOCATE_"), TAG_Int(9)); /*new String*/
-  variable10 = variable9;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
-  variable12 = variable11;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable4) /*CompilerVisitor::add_decl*/;
-  variable4 = NEW_string___String___with_native(BOX_NativeString("trace.prev = tracehead; tracehead = &trace;"), TAG_Int(43)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("trace.file = LOCATE_"), TAG_Int(20)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 = ((abstractmetamodel___MMLocalProperty___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___module))( self) /*MMLocalProperty::module*/;
-  variable7 = ((abstractmetamodel___MMModule___name_t)CALL(variable7,COLOR_abstractmetamodel___MMModule___name))(variable7) /*MMModule::name*/;
+  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
+  variable9 =  variable4 /*ln*/;
+  variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
+  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(", LOCATE_"), TAG_Int(9)); /*new String*/
+  variable11 = variable10;
+  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
+  variable12 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
+  variable13 = variable12;
+  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
+  variable14 = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
+  variable15 = variable14;
+  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
+  ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable6) /*CompilerVisitor::add_decl*/;
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("trace.prev = tracehead; tracehead = &trace;"), TAG_Int(43)); /*new String*/
+  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
+  variable6 = NEW_String_string___String___init(); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("trace.file = LOCATE_"), TAG_Int(20)); /*new String*/
   variable8 = variable7;
-  variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
+  variable9 = ((abstractmetamodel___MMLocalProperty___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___module))( self) /*MMLocalProperty::module*/;
+  variable9 = ((abstractmetamodel___MMModule___name_t)CALL(variable9,COLOR_abstractmetamodel___MMModule___name))(variable9) /*MMModule::name*/;
   variable10 = variable9;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
-  variable5 = ((compiling_methods___MMSrcMethod___do_compile_inside_t)CALL( self,COLOR_compiling_methods___MMSrcMethod___do_compile_inside))( self,  variable0 /*v*/,  variable1 /*args*/) /*MMSrcMethod::do_compile_inside*/;
-  variable4 = variable5;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("tracehead = trace.prev;"), TAG_Int(23)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
-  variable5 = TAG_Bool(( variable4 /*s*/ ==  NIT_NULL /*null*/) || (( variable4 /*s*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable4 /*s*/,COLOR_kernel___Object_____eqeq))( variable4 /*s*/,  NIT_NULL /*null*/) /*String::==*/)));
-  if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("return;"), TAG_Int(7)); /*new String*/
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
+  variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
+  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+  variable12 = variable11;
+  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
+  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
+  variable7 = ((compiling_methods___MMSrcMethod___do_compile_inside_t)CALL( self,COLOR_compiling_methods___MMSrcMethod___do_compile_inside))( self,  variable0 /*v*/,  variable1 /*args*/) /*MMSrcMethod::do_compile_inside*/;
+  variable6 = variable7;
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("tracehead = trace.prev;"), TAG_Int(23)); /*new String*/
+  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
+  variable7 = TAG_Bool(( variable6 /*s*/ ==  NIT_NULL /*null*/) || (( variable6 /*s*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable6 /*s*/,COLOR_kernel___Object_____eqeq))( variable6 /*s*/,  NIT_NULL /*null*/) /*String::==*/)));
+  if (UNTAG_Bool(variable7)) { /*if*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("return;"), TAG_Int(7)); /*new String*/
+    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
   } else { /*if*/
-    variable5 = NEW_string___String___init(); /*new String*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString("return "), TAG_Int(7)); /*new String*/
-    variable7 = variable6;
-    ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
-    variable8 =  variable4 /*s*/;
-    ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-    variable10 = variable9;
-    ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
+    variable7 = NEW_String_string___String___init(); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("return "), TAG_Int(7)); /*new String*/
+    variable9 = variable8;
+    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
+    variable10 =  variable6 /*s*/;
+    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+    variable12 = variable11;
+    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
+    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
   }
-  variable5 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable0 /*v*/) /*CompilerVisitor::ctx*/;
-  ((compiling_base___CContext___append_t)CALL( variable3 /*ctx_old*/,COLOR_compiling_base___CContext___append))( variable3 /*ctx_old*/, variable5) /*CContext::append*/;
+  variable7 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable0 /*v*/) /*CompilerVisitor::ctx*/;
+  ((compiling_base___CContext___append_t)CALL( variable3 /*ctx_old*/,COLOR_compiling_base___CContext___append))( variable3 /*ctx_old*/, variable7) /*CContext::append*/;
   ((compiling_base___CompilerVisitor___ctx__eq_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq))( variable0 /*v*/,  variable3 /*ctx_old*/) /*CompilerVisitor::ctx=*/;
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___MMSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 347, LOCATE_compiling_methods___MMSrcMethod___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 350, LOCATE_compiling_methods___MMSrcMethod___do_compile_inside};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c, LOCATE_compiling_methods, 347);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c, LOCATE_compiling_methods, 350);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 352, LOCATE_compiling_methods___MMReadImplementationMethod___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 355, LOCATE_compiling_methods___MMReadImplementationMethod___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1540,7 +1563,7 @@ val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t
   return variable2;
 }
 val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 359, LOCATE_compiling_methods___MMWriteImplementationMethod___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 362, LOCATE_compiling_methods___MMWriteImplementationMethod___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1590,7 +1613,7 @@ val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t
   return variable2;
 }
 val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 367, LOCATE_compiling_methods___MMMethSrcMethod___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 370, LOCATE_compiling_methods___MMMethSrcMethod___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1605,8 +1628,137 @@ val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t  self, val_t
   tracehead = trace.prev;
   return variable2;
 }
+val_t compiling_methods___MMImplicitInit___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 377, LOCATE_compiling_methods___MMImplicitInit___do_compile_inside};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+  val_t variable3;
+  val_t variable4;
+    val_t variable5;
+    val_t variable6;
+    val_t variable7;
+      val_t variable8;
+        val_t variable9;
+        val_t variable10;
+        val_t variable11;
+        val_t variable12;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  variable0 =  param0;
+  variable1 =  param1;
+  variable3 = ((array___AbstractArray___length_t)CALL( variable1 /*params*/,COLOR_abstract_collection___Collection___length))( variable1 /*params*/) /*AbstractArray::length*/;
+  variable4 = ((syntax_base___MMImplicitInit___unassigned_attributes_t)CALL( self,COLOR_syntax_base___MMImplicitInit___unassigned_attributes))( self) /*MMImplicitInit::unassigned_attributes*/;
+  variable4 = ((array___AbstractArray___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*AbstractArray::length*/;
+  variable3 = TAG_Int(UNTAG_Int(variable3)-UNTAG_Int(variable4));
+  variable2 = variable3;
+  variable4 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*params*/,COLOR_abstract_collection___Collection___first))( variable1 /*params*/) /*IndexedCollection::first*/;
+  variable3 = variable4;
+  variable4 = ((syntax_base___MMImplicitInit___super_inits_t)CALL( self,COLOR_syntax_base___MMImplicitInit___super_inits))( self) /*MMImplicitInit::super_inits*/;
+  variable4 = ((array___AbstractArray___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*AbstractArray::iterator*/;
+  while (true) { /*for*/
+    variable5 = ((array___ArrayIterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*ArrayIterator::is_ok*/;
+    if (!UNTAG_Bool(variable5)) break; /*for*/
+    variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
+    variable6 = TAG_Bool(( variable5 /*sp*/==NIT_NULL) || VAL_ISA( variable5 /*sp*/, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
+    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMImplicitInit___do_compile_inside, LOCATE_compiling_methods, 382); nit_exit(1);}
+    variable7 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable3 /*recv*/) /*AbstractArray::add*/;
+    variable6 = variable7;
+    variable7 = ((mmbuilder___MMImplicitInit___super_init_t)CALL( self,COLOR_mmbuilder___MMImplicitInit___super_init))( self) /*MMImplicitInit::super_init*/;
+    variable7 = TAG_Bool(( variable5 /*sp*/ == variable7) || (( variable5 /*sp*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*sp*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*sp*/,variable7)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*sp*/,COLOR_kernel___Object_____eqeq))( variable5 /*sp*/, variable7) /*Object::==*/)))));
+    if (UNTAG_Bool(variable7)) { /*if*/
+      variable8 = NEW_Array_array___Array___with_capacity( variable2 /*f*/); /*new Array[String]*/
+      variable7 = variable8;
+      ((array___AbstractArray___add_t)CALL( variable7 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*args*/,  variable3 /*recv*/) /*AbstractArray::add*/;
+      variable8 = NEW_Range_range___Range___without_last( TAG_Int(1),  variable2 /*f*/); /*new Range[Int]*/
+      variable8 = ((range___Range___iterator_t)CALL(variable8,COLOR_abstract_collection___Collection___iterator))(variable8) /*Range::iterator*/;
+      while (true) { /*for*/
+        variable9 = ((abstract_collection___Iterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*Iterator::is_ok*/;
+        if (!UNTAG_Bool(variable9)) break; /*for*/
+        variable9 = ((abstract_collection___Iterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*Iterator::item*/;
+        variable10 =  variable9 /*i*/;
+        variable11 = TAG_Bool(UNTAG_Int( variable10 /*index*/)>=UNTAG_Int( TAG_Int(0)));
+        variable12 = variable11;
+        if (UNTAG_Bool(variable12)) { /* and */
+          variable12 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*AbstractArray::_length*/;
+          variable12 = TAG_Bool(UNTAG_Int( variable10 /*index*/)<UNTAG_Int(variable12));
+        }
+        variable11 = variable12;
+        if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
+        variable11 = ATTR_array___Array____items( variable1 /*params*/) /*Array::_items*/;
+        variable11 = UNBOX_NativeArray(variable11)[UNTAG_Int( variable10 /*index*/)];
+        goto return_label49;
+        return_label49: while(false);
+        variable10 = variable11;
+        ((array___AbstractArray___add_t)CALL( variable7 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*args*/, variable10) /*AbstractArray::add*/;
+        continue_48: while(0);
+        ((abstract_collection___Iterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*Iterator::next*/;
+      }
+      break_48: while(0);
+      ((compiling_methods___MMMethod___compile_call_t)CALL( variable5 /*sp*/,COLOR_compiling_methods___MMMethod___compile_call))( variable5 /*sp*/,  variable0 /*v*/,  variable7 /*args*/) /*MMMethod::compile_call*/;
+    } else { /*if*/
+      ((compiling_methods___MMMethod___compile_call_t)CALL( variable5 /*sp*/,COLOR_compiling_methods___MMMethod___compile_call))( variable5 /*sp*/,  variable0 /*v*/,  variable6 /*args_recv*/) /*MMMethod::compile_call*/;
+    }
+    continue_47: while(0);
+    ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
+  }
+  break_47: while(0);
+  variable4 = ((array___AbstractArray___length_t)CALL( variable1 /*params*/,COLOR_abstract_collection___Collection___length))( variable1 /*params*/) /*AbstractArray::length*/;
+  variable5 = NEW_Range_range___Range___without_last( variable2 /*f*/, variable4); /*new Range[Int]*/
+  variable4 = variable5;
+  variable4 = ((range___Range___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Range::iterator*/;
+  while (true) { /*for*/
+    variable5 = ((abstract_collection___Iterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable5)) break; /*for*/
+    variable5 = ((abstract_collection___Iterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*Iterator::item*/;
+    variable7 = ((syntax_base___MMImplicitInit___unassigned_attributes_t)CALL( self,COLOR_syntax_base___MMImplicitInit___unassigned_attributes))( self) /*MMImplicitInit::unassigned_attributes*/;
+    variable8 = TAG_Int(UNTAG_Int( variable5 /*i*/)-UNTAG_Int( variable2 /*f*/));
+    variable9 = variable8;
+    variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    variable11 = variable10;
+    if (UNTAG_Bool(variable11)) { /* and */
+      variable11 = variable7;
+      variable11 = ATTR_array___AbstractArray____length(variable11) /*AbstractArray::_length*/;
+      variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
+    }
+    variable10 = variable11;
+    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
+    variable10 = variable7;
+    variable10 = ATTR_array___Array____items(variable10) /*Array::_items*/;
+    variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
+    goto return_label51;
+    return_label51: while(false);
+    variable7 = variable10;
+    variable6 = variable7;
+    variable7 = ((compiling_methods___MMAttribute___compile_access_t)CALL( variable6 /*attribute*/,COLOR_compiling_methods___MMAttribute___compile_access))( variable6 /*attribute*/,  variable0 /*v*/,  variable3 /*recv*/) /*MMAttribute::compile_access*/;
+    variable8 =  variable5 /*i*/;
+    variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    variable10 = variable9;
+    if (UNTAG_Bool(variable10)) { /* and */
+      variable10 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*AbstractArray::_length*/;
+      variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
+    }
+    variable9 = variable10;
+    if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
+    variable9 = ATTR_array___Array____items( variable1 /*params*/) /*Array::_items*/;
+    variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
+    goto return_label52;
+    return_label52: while(false);
+    variable8 = variable9;
+    ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable7, variable8) /*CompilerVisitor::add_assignment*/;
+    continue_50: while(0);
+    ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
+  }
+  break_50: while(0);
+  variable2 =  NIT_NULL /*null*/;
+  goto return_label46;
+  return_label46: while(false);
+  tracehead = trace.prev;
+  return variable2;
+}
 val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 374, LOCATE_compiling_methods___MMType___compile_cast};
+  struct trace_t trace = {NULL, NULL, 404, LOCATE_compiling_methods___MMType___compile_cast};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1637,46 +1789,46 @@ val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_
   variable3 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
   variable3 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalClass___global))(variable3) /*MMLocalClass::global*/;
   variable2 = variable3;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable1 /*recv*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("==NIT_NULL) || VAL_ISA("), TAG_Int(23)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("==NIT_NULL) || VAL_ISA("), TAG_Int(23)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
   variable9 =  variable1 /*recv*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
   variable12 = ((compiling_base___MMGlobalClass___color_id_t)CALL( variable2 /*g*/,COLOR_compiling_base___MMGlobalClass___color_id))( variable2 /*g*/) /*MMGlobalClass::color_id*/;
   variable13 = variable12;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable14 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable15 = variable14;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
   variable16 = ((compiling_base___MMGlobalClass___id_id_t)CALL( variable2 /*g*/,COLOR_compiling_base___MMGlobalClass___id_id))( variable2 /*g*/) /*MMGlobalClass::id_id*/;
   variable17 = variable16;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
-  variable18 = NEW_string___String___with_native(BOX_NativeString(")) /*cast "), TAG_Int(10)); /*new String*/
+  variable18 = NEW_String_string___String___with_native(BOX_NativeString(")) /*cast "), TAG_Int(10)); /*new String*/
   variable19 = variable18;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable19) /*String::append*/;
   variable20 =  self;
   variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable20) /*String::append*/;
-  variable21 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
+  variable21 = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
   variable22 = variable21;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable22) /*String::append*/;
   variable2 = variable3;
-  goto return_label46;
-  return_label46: while(false);
+  goto return_label53;
+  return_label53: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, NULL, 383, LOCATE_compiling_methods___MMType___compile_type_check};
+  struct trace_t trace = {NULL, NULL, 413, LOCATE_compiling_methods___MMType___compile_type_check};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1713,42 +1865,42 @@ void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0,
   variable4 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
   variable4 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___global))(variable4) /*MMLocalClass::global*/;
   variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("if (("), TAG_Int(5)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("if (("), TAG_Int(5)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 =  variable1 /*recv*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("!=NIT_NULL) && !VAL_ISA("), TAG_Int(24)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("!=NIT_NULL) && !VAL_ISA("), TAG_Int(24)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
   variable10 =  variable1 /*recv*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
   variable13 = ((compiling_base___MMGlobalClass___color_id_t)CALL( variable3 /*g*/,COLOR_compiling_base___MMGlobalClass___color_id))( variable3 /*g*/) /*MMGlobalClass::color_id*/;
   variable14 = variable13;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
   variable17 = ((compiling_base___MMGlobalClass___id_id_t)CALL( variable3 /*g*/,COLOR_compiling_base___MMGlobalClass___id_id))( variable3 /*g*/) /*MMGlobalClass::id_id*/;
   variable18 = variable17;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Cast failled\"); "), TAG_Int(38)); /*new String*/
+  variable19 = NEW_String_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Cast failled\"); "), TAG_Int(38)); /*new String*/
   variable20 = variable19;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
   variable21 = ((compiling_methods___CompilerVisitor___printf_locate_error_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___printf_locate_error))( variable0 /*v*/,  variable2 /*n*/) /*CompilerVisitor::printf_locate_error*/;
   variable22 = variable21;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable22) /*String::append*/;
-  variable23 = NEW_string___String___with_native(BOX_NativeString(" nit_exit(1); } /*cast "), TAG_Int(23)); /*new String*/
+  variable23 = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1); } /*cast "), TAG_Int(23)); /*new String*/
   variable24 = variable23;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable24) /*String::append*/;
   variable25 =  self;
   variable25 = ((string___String___to_s_t)CALL(variable25,COLOR_string___Object___to_s))(variable25) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable25) /*String::append*/;
-  variable26 = NEW_string___String___with_native(BOX_NativeString("*/;"), TAG_Int(3)); /*new String*/
+  variable26 = NEW_String_string___String___with_native(BOX_NativeString("*/;"), TAG_Int(3)); /*new String*/
   variable27 = variable26;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable27) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
@@ -1756,17 +1908,17 @@ void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0,
   return;
 }
 val_t compiling_methods___AMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, NULL, 395, LOCATE_compiling_methods___AMethPropdef___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 425, LOCATE_compiling_methods___AMethPropdef___do_compile_inside};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMType___compile_type_check, LOCATE_compiling_methods, 395);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMType___compile_type_check, LOCATE_compiling_methods, 425);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, NULL, 400, LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 430, LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1806,7 +1958,7 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
     variable6 = ((parser_nodes___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AMethPropdef::n_signature*/;
     variable5 = variable6;
     variable6 = TAG_Bool(( variable5 /*sig*/==NIT_NULL) || VAL_ISA( variable5 /*sig*/, COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside, LOCATE_compiling_methods, 406); nit_exit(1);}
+    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside, LOCATE_compiling_methods, 436); nit_exit(1);}
     variable6 = ((parser_nodes___ASignature___n_params_t)CALL( variable5 /*sig*/,COLOR_parser_nodes___ASignature___n_params))( variable5 /*sig*/) /*ASignature::n_params*/;
     variable6 = ((list___List___iterator_t)CALL(variable6,COLOR_abstract_collection___Collection___iterator))(variable6) /*List::iterator*/;
     while (true) { /*for*/
@@ -1825,8 +1977,8 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
       variable10 = ((syntax_base___Variable___stype_t)CALL(variable10,COLOR_syntax_base___Variable___stype))(variable10) /*Variable::stype*/;
       variable10 = ((static_type___MMType_____l_t)CALL( variable9 /*orig_type*/,COLOR_static_type___MMType_____l))( variable9 /*orig_type*/, variable10) /*MMType::<*/;
       if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable10)))) { /*if*/
-        variable10 = NEW_string___String___init(); /*new String*/
-        variable11 = NEW_string___String___with_native(BOX_NativeString("/* check if p<"), TAG_Int(14)); /*new String*/
+        variable10 = NEW_String_string___String___init(); /*new String*/
+        variable11 = NEW_String_string___String___with_native(BOX_NativeString("/* check if p<"), TAG_Int(14)); /*new String*/
         variable12 = variable11;
         ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
         variable13 = ((mmbuilder___PParam___variable_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___variable))( variable7 /*ap*/) /*PParam::variable*/;
@@ -1834,13 +1986,13 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
         variable14 = variable13;
         variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
         ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
-        variable15 = NEW_string___String___with_native(BOX_NativeString(" with p:"), TAG_Int(8)); /*new String*/
+        variable15 = NEW_String_string___String___with_native(BOX_NativeString(" with p:"), TAG_Int(8)); /*new String*/
         variable16 = variable15;
         ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
         variable17 =  variable9 /*orig_type*/;
         variable17 = ((string___String___to_s_t)CALL(variable17,COLOR_string___Object___to_s))(variable17) /*String::to_s*/;
         ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable17) /*String::append*/;
-        variable18 = NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
+        variable18 = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
         variable19 = variable18;
         ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable19) /*String::append*/;
         ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
@@ -1859,8 +2011,8 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
         if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
         variable13 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
         variable13 = UNBOX_NativeArray(variable13)[UNTAG_Int( variable12 /*index*/)];
-        goto return_label50;
-        return_label50: while(false);
+        goto return_label57;
+        return_label57: while(false);
         variable11 = variable13;
         ((compiling_methods___MMType___compile_type_check_t)CALL(variable10,COLOR_compiling_methods___MMType___compile_type_check))(variable10,  variable0 /*v*/, variable11,  variable7 /*ap*/) /*MMType::compile_type_check*/;
       }
@@ -1877,14 +2029,14 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
       if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
       variable12 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
       variable12 = UNBOX_NativeArray(variable12)[UNTAG_Int( variable11 /*index*/)];
-      goto return_label51;
-      return_label51: while(false);
+      goto return_label58;
+      return_label58: while(false);
       variable10 = variable12;
       ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable8 /*cname*/, variable10) /*CompilerVisitor::add_assignment*/;
-      continue_49: while(0);
+      continue_56: while(0);
       ((list___ListIterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*ListIterator::next*/;
     }
-    break_49: while(0);
+    break_56: while(0);
   }
   variable6 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
   variable5 = variable6;
@@ -1897,8 +2049,8 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
   variable9 =  NIT_NULL /*null*/;
   variable10 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = NEW_string___String___init(); /*new String*/
-    variable11 = NEW_string___String___with_native(BOX_NativeString("VAL2OBJ("), TAG_Int(8)); /*new String*/
+    variable10 = NEW_String_string___String___init(); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("VAL2OBJ("), TAG_Int(8)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
     variable13 =  TAG_Int(0);
@@ -1912,12 +2064,12 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
     if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
     variable14 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
     variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-    goto return_label52;
-    return_label52: while(false);
+    goto return_label59;
+    return_label59: while(false);
     variable13 = variable14;
     variable14 = variable13;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
-    variable15 = NEW_string___String___with_native(BOX_NativeString(")->vft["), TAG_Int(7)); /*new String*/
+    variable15 = NEW_String_string___String___with_native(BOX_NativeString(")->vft["), TAG_Int(7)); /*new String*/
     variable16 = variable15;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
     variable17 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMLocalProperty::local_class*/;
@@ -1925,32 +2077,32 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
     variable17 = ((compiling_base___MMGlobalClass___init_table_pos_id_t)CALL(variable17,COLOR_compiling_base___MMGlobalClass___init_table_pos_id))(variable17) /*MMGlobalClass::init_table_pos_id*/;
     variable18 = variable17;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable18) /*String::append*/;
-    variable19 = NEW_string___String___with_native(BOX_NativeString("].i"), TAG_Int(3)); /*new String*/
+    variable19 = NEW_String_string___String___with_native(BOX_NativeString("].i"), TAG_Int(3)); /*new String*/
     variable20 = variable19;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable20) /*String::append*/;
     variable9 = variable10 /*itpos=*/;
-    variable10 = NEW_string___String___init(); /*new String*/
-    variable11 = NEW_string___String___with_native(BOX_NativeString("if (init_table["), TAG_Int(15)); /*new String*/
+    variable10 = NEW_String_string___String___init(); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("if (init_table["), TAG_Int(15)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
     variable13 =  variable9 /*itpos*/;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString("]) return;"), TAG_Int(10)); /*new String*/
+    variable14 = NEW_String_string___String___with_native(BOX_NativeString("]) return;"), TAG_Int(10)); /*new String*/
     variable15 = variable14;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable15) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
   }
   ((compiling_methods___CompilerVisitor___method_params__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params__eq))( variable0 /*v*/,  variable2 /*params*/) /*CompilerVisitor::method_params=*/;
   ((compiling_methods___CompilerVisitor___has_return__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return__eq))( variable0 /*v*/,  TAG_Bool(false)) /*CompilerVisitor::has_return=*/;
-  variable10 = NEW_string___String___init(); /*new String*/
-  variable11 = NEW_string___String___with_native(BOX_NativeString("return_label"), TAG_Int(12)); /*new String*/
+  variable10 = NEW_String_string___String___init(); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("return_label"), TAG_Int(12)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
   variable13 = ((compiling_base___CompilerVisitor___new_number_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___new_number))( variable0 /*v*/) /*CompilerVisitor::new_number*/;
   variable14 = variable13;
   variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
   ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
   ((compiling_methods___CompilerVisitor___return_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label__eq))( variable0 /*v*/, variable10) /*CompilerVisitor::return_label=*/;
@@ -1978,27 +2130,27 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
   }
   variable10 = ((compiling_methods___CompilerVisitor___has_return_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return))( variable0 /*v*/) /*CompilerVisitor::has_return*/;
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = NEW_string___String___init(); /*new String*/
-    variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable10 = NEW_String_string___String___init(); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
     variable13 = ((compiling_methods___CompilerVisitor___return_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label))( variable0 /*v*/) /*CompilerVisitor::return_label*/;
     variable14 = variable13;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
-    variable15 = NEW_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)); /*new String*/
+    variable15 = NEW_String_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)); /*new String*/
     variable16 = variable15;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
   }
   variable10 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = NEW_string___String___init(); /*new String*/
-    variable11 = NEW_string___String___with_native(BOX_NativeString("init_table["), TAG_Int(11)); /*new String*/
+    variable10 = NEW_String_string___String___init(); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("init_table["), TAG_Int(11)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
     variable13 =  variable9 /*itpos*/;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString("] = 1;"), TAG_Int(6)); /*new String*/
+    variable14 = NEW_String_string___String___with_native(BOX_NativeString("] = 1;"), TAG_Int(6)); /*new String*/
     variable15 = variable14;
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable15) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
@@ -2010,13 +2162,13 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
   ((compiling_methods___CompilerVisitor___return_value__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value__eq))( variable0 /*v*/,  variable7 /*old_return_value*/) /*CompilerVisitor::return_value=*/;
   ((compiling_methods___CompilerVisitor___has_return__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return__eq))( variable0 /*v*/,  variable8 /*old_has_return*/) /*CompilerVisitor::has_return=*/;
   variable3 =  variable10 /*ret*/;
-  goto return_label48;
-  return_label48: while(false);
+  goto return_label55;
+  return_label55: while(false);
   tracehead = trace.prev;
   return variable3;
 }
 val_t compiling_methods___ADeferredMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, NULL, 464, LOCATE_compiling_methods___ADeferredMethPropdef___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 494, LOCATE_compiling_methods___ADeferredMethPropdef___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2026,28 +2178,28 @@ val_t compiling_methods___ADeferredMethPropdef___do_compile_inside(val_t  self,
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Deferred method %s called\");"), TAG_Int(45)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Deferred method %s called\");"), TAG_Int(45)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
   variable3 = ((compiling_methods___CompilerVisitor___printf_locate_error_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___printf_locate_error))( variable0 /*v*/,  self) /*CompilerVisitor::printf_locate_error*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("nit_exit(1);"), TAG_Int(12)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("nit_exit(1);"), TAG_Int(12)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
   variable3 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMLocalProperty::signature*/;
   variable3 = ((static_type___MMSignature___return_type_t)CALL(variable3,COLOR_static_type___MMSignature___return_type))(variable3) /*MMSignature::return_type*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 ==  NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("NIT_NULL"), TAG_Int(8)); /*new String*/
-    goto return_label53;
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("NIT_NULL"), TAG_Int(8)); /*new String*/
+    goto return_label60;
   } else { /*if*/
     variable3 =  NIT_NULL /*null*/;
-    goto return_label53;
+    goto return_label60;
   }
-  return_label53: while(false);
+  return_label60: while(false);
   tracehead = trace.prev;
   return variable3;
 }
 val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, NULL, 478, LOCATE_compiling_methods___AExternMethPropdef___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 508, LOCATE_compiling_methods___AExternMethPropdef___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2080,8 +2232,8 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 = ((abstractmetamodel___MMLocalProperty___module_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___module))( variable1 /*method*/) /*MMLocalProperty::module*/;
@@ -2089,7 +2241,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   variable8 = variable7;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
   variable11 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMLocalProperty::local_class*/;
@@ -2097,7 +2249,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   variable12 = variable11;
   variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
   variable15 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMLocalProperty::local_class*/;
@@ -2105,14 +2257,14 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   variable16 = variable15;
   variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable17 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable18 = variable17;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
   variable19 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*method*/) /*MMLocalProperty::name*/;
   variable20 = variable19;
   variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
-  variable21 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable21 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable22 = variable21;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable22) /*String::append*/;
   variable23 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMLocalProperty::signature*/;
@@ -2120,7 +2272,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   variable24 = variable23;
   variable24 = ((string___String___to_s_t)CALL(variable24,COLOR_string___Object___to_s))(variable24) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable24) /*String::append*/;
-  variable25 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable25 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable26 = variable25;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable26) /*String::append*/;
   variable3 = variable4;
@@ -2142,27 +2294,27 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   variable6 = TAG_Int(UNTAG_Int(variable6)+UNTAG_Int( TAG_Int(1)));
   variable5 = TAG_Bool((variable5)!=(variable6));
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = NEW_string___String___init(); /*new String*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString("par:"), TAG_Int(4)); /*new String*/
+    variable5 = NEW_String_string___String___init(); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("par:"), TAG_Int(4)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
     variable8 = ((array___AbstractArray___length_t)CALL( variable2 /*params*/,COLOR_abstract_collection___Collection___length))( variable2 /*params*/) /*AbstractArray::length*/;
     variable9 = variable8;
     variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-    variable10 = NEW_string___String___with_native(BOX_NativeString(" sig:"), TAG_Int(5)); /*new String*/
+    variable10 = NEW_String_string___String___with_native(BOX_NativeString(" sig:"), TAG_Int(5)); /*new String*/
     variable11 = variable10;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
     variable12 = ((static_type___MMSignature___arity_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___arity))( variable4 /*sig*/) /*MMSignature::arity*/;
     variable13 = variable12;
     variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable14 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable15 = variable14;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
     ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable5) /*PNode::printl*/;
   }
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[String]*/
   variable5 = variable6;
   variable6 = ((static_type___MMSignature___recv_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___recv))( variable4 /*sig*/) /*MMSignature::recv*/;
   variable7 =  TAG_Int(0);
@@ -2176,13 +2328,13 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
   variable8 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
   variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
-  goto return_label55;
-  return_label55: while(false);
+  goto return_label62;
+  return_label62: while(false);
   variable7 = variable8;
   variable6 = ((compiling_base___MMType___unboxtype_t)CALL(variable6,COLOR_compiling_base___MMType___unboxtype))(variable6, variable7) /*MMType::unboxtype*/;
   ((array___AbstractArray___add_t)CALL( variable5 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*args*/, variable6) /*AbstractArray::add*/;
   variable6 = ((static_type___MMSignature___arity_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___arity))( variable4 /*sig*/) /*MMSignature::arity*/;
-  variable7 = NEW_range___Range___without_last( TAG_Int(0), variable6); /*new Range[E]*/
+  variable7 = NEW_Range_range___Range___without_last( TAG_Int(0), variable6); /*new Range[Int]*/
   variable6 = variable7;
   variable6 = ((range___Range___iterator_t)CALL(variable6,COLOR_abstract_collection___Collection___iterator))(variable6) /*Range::iterator*/;
   while (true) { /*for*/
@@ -2202,29 +2354,29 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
     if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
     variable11 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
     variable11 = UNBOX_NativeArray(variable11)[UNTAG_Int( variable10 /*index*/)];
-    goto return_label57;
-    return_label57: while(false);
+    goto return_label64;
+    return_label64: while(false);
     variable9 = variable11;
     variable8 = ((compiling_base___MMType___unboxtype_t)CALL(variable8,COLOR_compiling_base___MMType___unboxtype))(variable8, variable9) /*MMType::unboxtype*/;
     ((array___AbstractArray___add_t)CALL( variable5 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*args*/, variable8) /*AbstractArray::add*/;
-    continue_56: while(0);
+    continue_63: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*Iterator::next*/;
   }
-  break_56: while(0);
-  variable7 = NEW_string___String___init(); /*new String*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  break_63: while(0);
+  variable7 = NEW_String_string___String___init(); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
   variable10 =  variable3 /*ename*/;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable13 = ((string___Collection___join_t)CALL( variable5 /*args*/,COLOR_string___Collection___join))( variable5 /*args*/, variable13) /*Collection::join*/;
   variable14 = variable13;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
   variable6 = variable7;
@@ -2234,27 +2386,27 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
     variable7 = ((static_type___MMSignature___return_type_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___return_type))( variable4 /*sig*/) /*MMSignature::return_type*/;
     variable7 = ((compiling_base___MMType___boxtype_t)CALL(variable7,COLOR_compiling_base___MMType___boxtype))(variable7,  variable6 /*s*/) /*MMType::boxtype*/;
     variable3 = variable7;
-    goto return_label54;
+    goto return_label61;
   } else { /*if*/
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable7 = NEW_String_string___String___init(); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
     variable10 =  variable6 /*s*/;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
     variable3 =  NIT_NULL /*null*/;
-    goto return_label54;
+    goto return_label61;
   }
-  return_label54: while(false);
+  return_label61: while(false);
   tracehead = trace.prev;
   return variable3;
 }
 val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, NULL, 505, LOCATE_compiling_methods___AInternMethPropdef___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 535, LOCATE_compiling_methods___AInternMethPropdef___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2262,92 +2414,92 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
   val_t variable4;
   val_t variable5;
   val_t variable6;
-  static val_t once_value_variable6_59; static int once_bool_variable6_59;
-    static val_t once_value_variable6_60; static int once_bool_variable6_60;
+  static val_t once_value_variable6_66; static int once_bool_variable6_66;
+    static val_t once_value_variable6_67; static int once_bool_variable6_67;
       val_t variable7;
       val_t variable8;
       val_t variable9;
       val_t variable10;
       val_t variable11;
       val_t variable12;
-      static val_t once_value_variable6_62; static int once_bool_variable6_62;
-        static val_t once_value_variable6_64; static int once_bool_variable6_64;
-          static val_t once_value_variable6_66; static int once_bool_variable6_66;
-            static val_t once_value_variable6_68; static int once_bool_variable6_68;
-              static val_t once_value_variable6_70; static int once_bool_variable6_70;
-               static val_t once_value_variable6_72; static int once_bool_variable6_72;
-               static val_t once_value_variable6_74; static int once_bool_variable6_74;
+      static val_t once_value_variable6_69; static int once_bool_variable6_69;
+        static val_t once_value_variable6_71; static int once_bool_variable6_71;
+          static val_t once_value_variable6_73; static int once_bool_variable6_73;
+            static val_t once_value_variable6_75; static int once_bool_variable6_75;
+              static val_t once_value_variable6_77; static int once_bool_variable6_77;
+               static val_t once_value_variable6_79; static int once_bool_variable6_79;
+               static val_t once_value_variable6_81; static int once_bool_variable6_81;
                val_t variable13;
                val_t variable14;
                val_t variable15;
                val_t variable16;
-               static val_t once_value_variable6_77; static int once_bool_variable6_77;
-               static val_t once_value_variable6_80; static int once_bool_variable6_80;
-               static val_t once_value_variable6_83; static int once_bool_variable6_83;
-               static val_t once_value_variable6_86; static int once_bool_variable6_86;
-               static val_t once_value_variable6_89; static int once_bool_variable6_89;
-               static val_t once_value_variable6_92; static int once_bool_variable6_92;
-               static val_t once_value_variable6_95; static int once_bool_variable6_95;
-               static val_t once_value_variable6_98; static int once_bool_variable6_98;
-               static val_t once_value_variable6_101; static int once_bool_variable6_101;
-               static val_t once_value_variable6_104; static int once_bool_variable6_104;
-               static val_t once_value_variable6_107; static int once_bool_variable6_107;
-               static val_t once_value_variable6_110; static int once_bool_variable6_110;
-    static val_t once_value_variable6_113; static int once_bool_variable6_113;
-      static val_t once_value_variable6_114; static int once_bool_variable6_114;
-        static val_t once_value_variable6_116; static int once_bool_variable6_116;
-          static val_t once_value_variable6_118; static int once_bool_variable6_118;
-            static val_t once_value_variable6_120; static int once_bool_variable6_120;
-              static val_t once_value_variable6_122; static int once_bool_variable6_122;
-               static val_t once_value_variable6_125; static int once_bool_variable6_125;
-               static val_t once_value_variable6_128; static int once_bool_variable6_128;
-               static val_t once_value_variable6_131; static int once_bool_variable6_131;
-               static val_t once_value_variable6_134; static int once_bool_variable6_134;
-               static val_t once_value_variable6_137; static int once_bool_variable6_137;
-               static val_t once_value_variable6_140; static int once_bool_variable6_140;
-               static val_t once_value_variable6_143; static int once_bool_variable6_143;
-      static val_t once_value_variable6_146; static int once_bool_variable6_146;
-        static val_t once_value_variable6_147; static int once_bool_variable6_147;
-          static val_t once_value_variable6_149; static int once_bool_variable6_149;
-            static val_t once_value_variable6_151; static int once_bool_variable6_151;
-              static val_t once_value_variable6_153; static int once_bool_variable6_153;
-               static val_t once_value_variable6_155; static int once_bool_variable6_155;
-               static val_t once_value_variable6_157; static int once_bool_variable6_157;
-               static val_t once_value_variable6_159; static int once_bool_variable6_159;
-               static val_t once_value_variable6_161; static int once_bool_variable6_161;
+               static val_t once_value_variable6_84; static int once_bool_variable6_84;
+               static val_t once_value_variable6_87; static int once_bool_variable6_87;
+               static val_t once_value_variable6_90; static int once_bool_variable6_90;
+               static val_t once_value_variable6_93; static int once_bool_variable6_93;
+               static val_t once_value_variable6_96; static int once_bool_variable6_96;
+               static val_t once_value_variable6_99; static int once_bool_variable6_99;
+               static val_t once_value_variable6_102; static int once_bool_variable6_102;
+               static val_t once_value_variable6_105; static int once_bool_variable6_105;
+               static val_t once_value_variable6_108; static int once_bool_variable6_108;
+               static val_t once_value_variable6_111; static int once_bool_variable6_111;
+               static val_t once_value_variable6_114; static int once_bool_variable6_114;
+               static val_t once_value_variable6_117; static int once_bool_variable6_117;
+    static val_t once_value_variable6_120; static int once_bool_variable6_120;
+      static val_t once_value_variable6_121; static int once_bool_variable6_121;
+        static val_t once_value_variable6_123; static int once_bool_variable6_123;
+          static val_t once_value_variable6_125; static int once_bool_variable6_125;
+            static val_t once_value_variable6_127; static int once_bool_variable6_127;
+              static val_t once_value_variable6_129; static int once_bool_variable6_129;
+               static val_t once_value_variable6_132; static int once_bool_variable6_132;
+               static val_t once_value_variable6_135; static int once_bool_variable6_135;
+               static val_t once_value_variable6_138; static int once_bool_variable6_138;
+               static val_t once_value_variable6_141; static int once_bool_variable6_141;
+               static val_t once_value_variable6_144; static int once_bool_variable6_144;
+               static val_t once_value_variable6_147; static int once_bool_variable6_147;
+               static val_t once_value_variable6_150; static int once_bool_variable6_150;
+      static val_t once_value_variable6_153; static int once_bool_variable6_153;
+        static val_t once_value_variable6_154; static int once_bool_variable6_154;
+          static val_t once_value_variable6_156; static int once_bool_variable6_156;
+            static val_t once_value_variable6_158; static int once_bool_variable6_158;
+              static val_t once_value_variable6_160; static int once_bool_variable6_160;
+               static val_t once_value_variable6_162; static int once_bool_variable6_162;
                static val_t once_value_variable6_164; static int once_bool_variable6_164;
-               static val_t once_value_variable6_167; static int once_bool_variable6_167;
-               static val_t once_value_variable6_170; static int once_bool_variable6_170;
-               static val_t once_value_variable6_173; static int once_bool_variable6_173;
-               static val_t once_value_variable6_176; static int once_bool_variable6_176;
-               static val_t once_value_variable6_179; static int once_bool_variable6_179;
-               static val_t once_value_variable6_182; static int once_bool_variable6_182;
-               static val_t once_value_variable6_185; static int once_bool_variable6_185;
-               static val_t once_value_variable6_188; static int once_bool_variable6_188;
-               static val_t once_value_variable6_191; static int once_bool_variable6_191;
-        static val_t once_value_variable6_194; static int once_bool_variable6_194;
-          static val_t once_value_variable6_195; static int once_bool_variable6_195;
-            static val_t once_value_variable6_197; static int once_bool_variable6_197;
-              static val_t once_value_variable6_199; static int once_bool_variable6_199;
-               static val_t once_value_variable6_201; static int once_bool_variable6_201;
-               static val_t once_value_variable6_203; static int once_bool_variable6_203;
-               static val_t once_value_variable6_205; static int once_bool_variable6_205;
+               static val_t once_value_variable6_166; static int once_bool_variable6_166;
+               static val_t once_value_variable6_168; static int once_bool_variable6_168;
+               static val_t once_value_variable6_171; static int once_bool_variable6_171;
+               static val_t once_value_variable6_174; static int once_bool_variable6_174;
+               static val_t once_value_variable6_177; static int once_bool_variable6_177;
+               static val_t once_value_variable6_180; static int once_bool_variable6_180;
+               static val_t once_value_variable6_183; static int once_bool_variable6_183;
+               static val_t once_value_variable6_186; static int once_bool_variable6_186;
+               static val_t once_value_variable6_189; static int once_bool_variable6_189;
+               static val_t once_value_variable6_192; static int once_bool_variable6_192;
+               static val_t once_value_variable6_195; static int once_bool_variable6_195;
+               static val_t once_value_variable6_198; static int once_bool_variable6_198;
+        static val_t once_value_variable6_201; static int once_bool_variable6_201;
+          static val_t once_value_variable6_202; static int once_bool_variable6_202;
+            static val_t once_value_variable6_204; static int once_bool_variable6_204;
+              static val_t once_value_variable6_206; static int once_bool_variable6_206;
                static val_t once_value_variable6_208; static int once_bool_variable6_208;
-          static val_t once_value_variable6_211; static int once_bool_variable6_211;
-            static val_t once_value_variable6_212; static int once_bool_variable6_212;
-              static val_t once_value_variable6_214; static int once_bool_variable6_214;
-               static val_t once_value_variable6_217; static int once_bool_variable6_217;
+               static val_t once_value_variable6_210; static int once_bool_variable6_210;
+               static val_t once_value_variable6_212; static int once_bool_variable6_212;
+               static val_t once_value_variable6_215; static int once_bool_variable6_215;
+          static val_t once_value_variable6_218; static int once_bool_variable6_218;
+            static val_t once_value_variable6_219; static int once_bool_variable6_219;
+              static val_t once_value_variable6_221; static int once_bool_variable6_221;
+               static val_t once_value_variable6_224; static int once_bool_variable6_224;
                val_t variable17;
                val_t variable18;
                val_t variable19;
                val_t variable20;
-               static val_t once_value_variable6_221; static int once_bool_variable6_221;
-            static val_t once_value_variable6_225; static int once_bool_variable6_225;
-              static val_t once_value_variable6_226; static int once_bool_variable6_226;
                static val_t once_value_variable6_228; static int once_bool_variable6_228;
-               static val_t once_value_variable6_230; static int once_bool_variable6_230;
-               static val_t once_value_variable6_233; static int once_bool_variable6_233;
+            static val_t once_value_variable6_232; static int once_bool_variable6_232;
+              static val_t once_value_variable6_233; static int once_bool_variable6_233;
+               static val_t once_value_variable6_235; static int once_bool_variable6_235;
                static val_t once_value_variable6_237; static int once_bool_variable6_237;
+               static val_t once_value_variable6_240; static int once_bool_variable6_240;
+               static val_t once_value_variable6_244; static int once_bool_variable6_244;
                val_t variable21;
                val_t variable22;
                val_t variable23;
@@ -2356,12 +2508,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                val_t variable26;
                val_t variable27;
                val_t variable28;
-              static val_t once_value_variable6_243; static int once_bool_variable6_243;
-               static val_t once_value_variable6_245; static int once_bool_variable6_245;
-               static val_t once_value_variable6_246; static int once_bool_variable6_246;
-               static val_t once_value_variable6_249; static int once_bool_variable6_249;
-               static val_t once_value_variable6_251; static int once_bool_variable6_251;
+              static val_t once_value_variable6_250; static int once_bool_variable6_250;
+               static val_t once_value_variable6_252; static int once_bool_variable6_252;
                static val_t once_value_variable6_253; static int once_bool_variable6_253;
+               static val_t once_value_variable6_256; static int once_bool_variable6_256;
+               static val_t once_value_variable6_258; static int once_bool_variable6_258;
+               static val_t once_value_variable6_260; static int once_bool_variable6_260;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
@@ -2373,26 +2525,26 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
   variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*method*/) /*MMLocalProperty::name*/;
   variable4 = variable5;
   variable5 =  NIT_NULL /*null*/;
-  if (once_bool_variable6_59) variable6 = once_value_variable6_59;
+  if (once_bool_variable6_66) variable6 = once_value_variable6_66;
   else {
-    variable6 = NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
     variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-    once_value_variable6_59 = variable6;
-    once_bool_variable6_59 = true;
+    once_value_variable6_66 = variable6;
+    once_bool_variable6_66 = true;
   }
   variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Object::==*/)))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    if (once_bool_variable6_60) variable6 = once_value_variable6_60;
+    if (once_bool_variable6_67) variable6 = once_value_variable6_67;
     else {
-      variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
       variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-      once_value_variable6_60 = variable6;
-      once_bool_variable6_60 = true;
+      once_value_variable6_67 = variable6;
+      once_bool_variable6_67 = true;
     }
     variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
     if (UNTAG_Bool(variable6)) { /*if*/
-      variable6 = NEW_string___String___init(); /*new String*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable6 = NEW_String_string___String___init(); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
       variable9 =  TAG_Int(0);
@@ -2406,27 +2558,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
       if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
       variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
       variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-      goto return_label61;
-      return_label61: while(false);
+      goto return_label68;
+      return_label68: while(false);
       variable9 = variable10;
       variable10 = variable9;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-      variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable12 = variable11;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
       variable5 = variable6 /*s=*/;
     } else { /*if*/
-      if (once_bool_variable6_62) variable6 = once_value_variable6_62;
+      if (once_bool_variable6_69) variable6 = once_value_variable6_69;
       else {
-        variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
+        variable6 = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
         variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-        once_value_variable6_62 = variable6;
-        once_bool_variable6_62 = true;
+        once_value_variable6_69 = variable6;
+        once_bool_variable6_69 = true;
       }
       variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
       if (UNTAG_Bool(variable6)) { /*if*/
-        variable6 = NEW_string___String___init(); /*new String*/
-        variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(-UNTAG_Int("), TAG_Int(19)); /*new String*/
+        variable6 = NEW_String_string___String___init(); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(-UNTAG_Int("), TAG_Int(19)); /*new String*/
         variable8 = variable7;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
         variable9 =  TAG_Int(0);
@@ -2440,27 +2592,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
         if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
         variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
         variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-        goto return_label63;
-        return_label63: while(false);
+        goto return_label70;
+        return_label70: while(false);
         variable9 = variable10;
         variable10 = variable9;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-        variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+        variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
         variable12 = variable11;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
         variable5 = variable6 /*s=*/;
       } else { /*if*/
-        if (once_bool_variable6_64) variable6 = once_value_variable6_64;
+        if (once_bool_variable6_71) variable6 = once_value_variable6_71;
         else {
-          variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
+          variable6 = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
           variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-          once_value_variable6_64 = variable6;
-          once_bool_variable6_64 = true;
+          once_value_variable6_71 = variable6;
+          once_bool_variable6_71 = true;
         }
         variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
         if (UNTAG_Bool(variable6)) { /*if*/
-          variable6 = NEW_string___String___init(); /*new String*/
-          variable7 = NEW_string___String___with_native(BOX_NativeString("printf(\"%d\\n\", UNTAG_Int("), TAG_Int(25)); /*new String*/
+          variable6 = NEW_String_string___String___init(); /*new String*/
+          variable7 = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%d\\n\", UNTAG_Int("), TAG_Int(25)); /*new String*/
           variable8 = variable7;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
           variable9 =  TAG_Int(0);
@@ -2474,27 +2626,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
           if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
           variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
           variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-          goto return_label65;
-          return_label65: while(false);
+          goto return_label72;
+          return_label72: while(false);
           variable9 = variable10;
           variable10 = variable9;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-          variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
+          variable11 = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
           variable12 = variable11;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
           ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
         } else { /*if*/
-          if (once_bool_variable6_66) variable6 = once_value_variable6_66;
+          if (once_bool_variable6_73) variable6 = once_value_variable6_73;
           else {
-            variable6 = NEW_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
+            variable6 = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
             variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-            once_value_variable6_66 = variable6;
-            once_bool_variable6_66 = true;
+            once_value_variable6_73 = variable6;
+            once_bool_variable6_73 = true;
           }
           variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
           if (UNTAG_Bool(variable6)) { /*if*/
-            variable6 = NEW_string___String___init(); /*new String*/
-            variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Int("), TAG_Int(19)); /*new String*/
+            variable6 = NEW_String_string___String___init(); /*new String*/
+            variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Int("), TAG_Int(19)); /*new String*/
             variable8 = variable7;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
             variable9 =  TAG_Int(0);
@@ -2508,27 +2660,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
             variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
             variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-            goto return_label67;
-            return_label67: while(false);
+            goto return_label74;
+            return_label74: while(false);
             variable9 = variable10;
             variable10 = variable9;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-            variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+            variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
             variable12 = variable11;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
             variable5 = variable6 /*s=*/;
           } else { /*if*/
-            if (once_bool_variable6_68) variable6 = once_value_variable6_68;
+            if (once_bool_variable6_75) variable6 = once_value_variable6_75;
             else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)); /*new String*/
+              variable6 = NEW_String_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)); /*new String*/
               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_68 = variable6;
-              once_bool_variable6_68 = true;
+              once_value_variable6_75 = variable6;
+              once_bool_variable6_75 = true;
             }
             variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
             if (UNTAG_Bool(variable6)) { /*if*/
-              variable6 = NEW_string___String___init(); /*new String*/
-              variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
+              variable6 = NEW_String_string___String___init(); /*new String*/
+              variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
               variable8 = variable7;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
               variable9 =  TAG_Int(0);
@@ -2542,27 +2694,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-              goto return_label69;
-              return_label69: while(false);
+              goto return_label76;
+              return_label76: while(false);
               variable9 = variable10;
               variable10 = variable9;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-              variable11 = NEW_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)); /*new String*/
+              variable11 = NEW_String_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)); /*new String*/
               variable12 = variable11;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
               variable5 = variable6 /*s=*/;
             } else { /*if*/
-              if (once_bool_variable6_70) variable6 = once_value_variable6_70;
+              if (once_bool_variable6_77) variable6 = once_value_variable6_77;
               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_70 = variable6;
-               once_bool_variable6_70 = true;
+               once_value_variable6_77 = variable6;
+               once_bool_variable6_77 = true;
               }
               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -2576,27 +2728,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label71;
-               return_label71: while(false);
+               goto return_label78;
+               return_label78: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
               } else { /*if*/
-               if (once_bool_variable6_72) variable6 = once_value_variable6_72;
+               if (once_bool_variable6_79) variable6 = once_value_variable6_79;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("to_f"), TAG_Int(4)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("to_f"), TAG_Int(4)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_72 = variable6;
-               once_bool_variable6_72 = true;
+               once_value_variable6_79 = variable6;
+               once_bool_variable6_79 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float((float)UNTAG_Int("), TAG_Int(27)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float((float)UNTAG_Int("), TAG_Int(27)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -2610,27 +2762,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label73;
-               return_label73: while(false);
+               goto return_label80;
+               return_label80: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_74) variable6 = once_value_variable6_74;
+               if (once_bool_variable6_81) variable6 = once_value_variable6_81;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_74 = variable6;
-               once_bool_variable6_74 = true;
+               once_value_variable6_81 = variable6;
+               once_bool_variable6_81 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -2644,12 +2796,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label75;
-               return_label75: while(false);
+               goto return_label82;
+               return_label82: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -2663,27 +2815,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label76;
-               return_label76: while(false);
+               goto return_label83;
+               return_label83: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_77) variable6 = once_value_variable6_77;
+               if (once_bool_variable6_84) variable6 = once_value_variable6_84;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_77 = variable6;
-               once_bool_variable6_77 = true;
+               once_value_variable6_84 = variable6;
+               once_bool_variable6_84 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -2697,12 +2849,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label78;
-               return_label78: while(false);
+               goto return_label85;
+               return_label85: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")-UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -2716,27 +2868,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label79;
-               return_label79: while(false);
+               goto return_label86;
+               return_label86: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_80) variable6 = once_value_variable6_80;
+               if (once_bool_variable6_87) variable6 = once_value_variable6_87;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_80 = variable6;
-               once_bool_variable6_80 = true;
+               once_value_variable6_87 = variable6;
+               once_bool_variable6_87 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -2750,12 +2902,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label81;
-               return_label81: while(false);
+               goto return_label88;
+               return_label88: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")*UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")*UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -2769,27 +2921,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label82;
-               return_label82: while(false);
+               goto return_label89;
+               return_label89: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_83) variable6 = once_value_variable6_83;
+               if (once_bool_variable6_90) variable6 = once_value_variable6_90;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_83 = variable6;
-               once_bool_variable6_83 = true;
+               once_value_variable6_90 = variable6;
+               once_bool_variable6_90 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -2803,12 +2955,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label84;
-               return_label84: while(false);
+               goto return_label91;
+               return_label91: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")/UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")/UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -2822,27 +2974,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label85;
-               return_label85: while(false);
+               goto return_label92;
+               return_label92: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_86) variable6 = once_value_variable6_86;
+               if (once_bool_variable6_93) variable6 = once_value_variable6_93;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_86 = variable6;
-               once_bool_variable6_86 = true;
+               once_value_variable6_93 = variable6;
+               once_bool_variable6_93 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -2856,12 +3008,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label87;
-               return_label87: while(false);
+               goto return_label94;
+               return_label94: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")%UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")%UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -2875,27 +3027,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label88;
-               return_label88: while(false);
+               goto return_label95;
+               return_label95: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_89) variable6 = once_value_variable6_89;
+               if (once_bool_variable6_96) variable6 = once_value_variable6_96;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_89 = variable6;
-               once_bool_variable6_89 = true;
+               once_value_variable6_96 = variable6;
+               once_bool_variable6_96 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -2909,12 +3061,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label90;
-               return_label90: while(false);
+               goto return_label97;
+               return_label97: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")<UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -2928,27 +3080,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label91;
-               return_label91: while(false);
+               goto return_label98;
+               return_label98: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_92) variable6 = once_value_variable6_92;
+               if (once_bool_variable6_99) variable6 = once_value_variable6_99;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_92 = variable6;
-               once_bool_variable6_92 = true;
+               once_value_variable6_99 = variable6;
+               once_bool_variable6_99 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -2962,12 +3114,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label93;
-               return_label93: while(false);
+               goto return_label100;
+               return_label100: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")>UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -2981,27 +3133,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label94;
-               return_label94: while(false);
+               goto return_label101;
+               return_label101: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_95) variable6 = once_value_variable6_95;
+               if (once_bool_variable6_102) variable6 = once_value_variable6_102;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_95 = variable6;
-               once_bool_variable6_95 = true;
+               once_value_variable6_102 = variable6;
+               once_bool_variable6_102 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3015,12 +3167,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label96;
-               return_label96: while(false);
+               goto return_label103;
+               return_label103: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<=UNTAG_Int("), TAG_Int(13)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")<=UNTAG_Int("), TAG_Int(13)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3034,27 +3186,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label97;
-               return_label97: while(false);
+               goto return_label104;
+               return_label104: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_98) variable6 = once_value_variable6_98;
+               if (once_bool_variable6_105) variable6 = once_value_variable6_105;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_98 = variable6;
-               once_bool_variable6_98 = true;
+               once_value_variable6_105 = variable6;
+               once_bool_variable6_105 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3068,12 +3220,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label99;
-               return_label99: while(false);
+               goto return_label106;
+               return_label106: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>=UNTAG_Int("), TAG_Int(13)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")>=UNTAG_Int("), TAG_Int(13)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3087,27 +3239,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label100;
-               return_label100: while(false);
+               goto return_label107;
+               return_label107: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_101) variable6 = once_value_variable6_101;
+               if (once_bool_variable6_108) variable6 = once_value_variable6_108;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("lshift"), TAG_Int(6)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("lshift"), TAG_Int(6)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_101 = variable6;
-               once_bool_variable6_101 = true;
+               once_value_variable6_108 = variable6;
+               once_bool_variable6_108 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3121,12 +3273,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label102;
-               return_label102: while(false);
+               goto return_label109;
+               return_label109: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<<UNTAG_Int("), TAG_Int(13)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")<<UNTAG_Int("), TAG_Int(13)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3140,27 +3292,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label103;
-               return_label103: while(false);
+               goto return_label110;
+               return_label110: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_104) variable6 = once_value_variable6_104;
+               if (once_bool_variable6_111) variable6 = once_value_variable6_111;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("rshift"), TAG_Int(6)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("rshift"), TAG_Int(6)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_104 = variable6;
-               once_bool_variable6_104 = true;
+               once_value_variable6_111 = variable6;
+               once_bool_variable6_111 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3174,12 +3326,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label105;
-               return_label105: while(false);
+               goto return_label112;
+               return_label112: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>>UNTAG_Int("), TAG_Int(13)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")>>UNTAG_Int("), TAG_Int(13)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3193,27 +3345,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label106;
-               return_label106: while(false);
+               goto return_label113;
+               return_label113: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_107) variable6 = once_value_variable6_107;
+               if (once_bool_variable6_114) variable6 = once_value_variable6_114;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_107 = variable6;
-               once_bool_variable6_107 = true;
+               once_value_variable6_114 = variable6;
+               once_bool_variable6_114 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3227,12 +3379,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label108;
-               return_label108: while(false);
+               goto return_label115;
+               return_label115: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3246,27 +3398,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label109;
-               return_label109: while(false);
+               goto return_label116;
+               return_label116: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_110) variable6 = once_value_variable6_110;
+               if (once_bool_variable6_117) variable6 = once_value_variable6_117;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_110 = variable6;
-               once_bool_variable6_110 = true;
+               once_value_variable6_117 = variable6;
+               once_bool_variable6_117 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3280,12 +3432,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label111;
-               return_label111: while(false);
+               goto return_label118;
+               return_label118: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3299,12 +3451,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label112;
-               return_label112: while(false);
+               goto return_label119;
+               return_label119: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
@@ -3329,26 +3481,26 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
       }
     }
   } else { /*if*/
-    if (once_bool_variable6_113) variable6 = once_value_variable6_113;
+    if (once_bool_variable6_120) variable6 = once_value_variable6_120;
     else {
-      variable6 = NEW_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
       variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-      once_value_variable6_113 = variable6;
-      once_bool_variable6_113 = true;
+      once_value_variable6_120 = variable6;
+      once_bool_variable6_120 = true;
     }
     variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Object::==*/)))));
     if (UNTAG_Bool(variable6)) { /*if*/
-      if (once_bool_variable6_114) variable6 = once_value_variable6_114;
+      if (once_bool_variable6_121) variable6 = once_value_variable6_121;
       else {
-        variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
+        variable6 = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
         variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-        once_value_variable6_114 = variable6;
-        once_bool_variable6_114 = true;
+        once_value_variable6_121 = variable6;
+        once_bool_variable6_121 = true;
       }
       variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
       if (UNTAG_Bool(variable6)) { /*if*/
-        variable6 = NEW_string___String___init(); /*new String*/
-        variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((bigint)UNBOX_Float("), TAG_Int(28)); /*new String*/
+        variable6 = NEW_String_string___String___init(); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)UNBOX_Float("), TAG_Int(28)); /*new String*/
         variable8 = variable7;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
         variable9 =  TAG_Int(0);
@@ -3362,27 +3514,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
         if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
         variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
         variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-        goto return_label115;
-        return_label115: while(false);
+        goto return_label122;
+        return_label122: while(false);
         variable9 = variable10;
         variable10 = variable9;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-        variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+        variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
         variable12 = variable11;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
         variable5 = variable6 /*s=*/;
       } else { /*if*/
-        if (once_bool_variable6_116) variable6 = once_value_variable6_116;
+        if (once_bool_variable6_123) variable6 = once_value_variable6_123;
         else {
-          variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
+          variable6 = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
           variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-          once_value_variable6_116 = variable6;
-          once_bool_variable6_116 = true;
+          once_value_variable6_123 = variable6;
+          once_bool_variable6_123 = true;
         }
         variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
         if (UNTAG_Bool(variable6)) { /*if*/
-          variable6 = NEW_string___String___init(); /*new String*/
-          variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(-UNBOX_Float("), TAG_Int(23)); /*new String*/
+          variable6 = NEW_String_string___String___init(); /*new String*/
+          variable7 = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(-UNBOX_Float("), TAG_Int(23)); /*new String*/
           variable8 = variable7;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
           variable9 =  TAG_Int(0);
@@ -3396,27 +3548,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
           if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
           variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
           variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-          goto return_label117;
-          return_label117: while(false);
+          goto return_label124;
+          return_label124: while(false);
           variable9 = variable10;
           variable10 = variable9;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-          variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+          variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
           variable12 = variable11;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
           variable5 = variable6 /*s=*/;
         } else { /*if*/
-          if (once_bool_variable6_118) variable6 = once_value_variable6_118;
+          if (once_bool_variable6_125) variable6 = once_value_variable6_125;
           else {
-            variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
+            variable6 = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
             variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-            once_value_variable6_118 = variable6;
-            once_bool_variable6_118 = true;
+            once_value_variable6_125 = variable6;
+            once_bool_variable6_125 = true;
           }
           variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
           if (UNTAG_Bool(variable6)) { /*if*/
-            variable6 = NEW_string___String___init(); /*new String*/
-            variable7 = NEW_string___String___with_native(BOX_NativeString("printf(\"%f\\n\", UNBOX_Float("), TAG_Int(27)); /*new String*/
+            variable6 = NEW_String_string___String___init(); /*new String*/
+            variable7 = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%f\\n\", UNBOX_Float("), TAG_Int(27)); /*new String*/
             variable8 = variable7;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
             variable9 =  TAG_Int(0);
@@ -3430,27 +3582,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
             variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
             variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-            goto return_label119;
-            return_label119: while(false);
+            goto return_label126;
+            return_label126: while(false);
             variable9 = variable10;
             variable10 = variable9;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-            variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
+            variable11 = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
             variable12 = variable11;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
             ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
           } else { /*if*/
-            if (once_bool_variable6_120) variable6 = once_value_variable6_120;
+            if (once_bool_variable6_127) variable6 = once_value_variable6_127;
             else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
+              variable6 = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_120 = variable6;
-              once_bool_variable6_120 = true;
+              once_value_variable6_127 = variable6;
+              once_bool_variable6_127 = true;
             }
             variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
             if (UNTAG_Bool(variable6)) { /*if*/
-              variable6 = NEW_string___String___init(); /*new String*/
-              variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((bigint)UNBOX_Float("), TAG_Int(28)); /*new String*/
+              variable6 = NEW_String_string___String___init(); /*new String*/
+              variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)UNBOX_Float("), TAG_Int(28)); /*new String*/
               variable8 = variable7;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
               variable9 =  TAG_Int(0);
@@ -3464,27 +3616,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-              goto return_label121;
-              return_label121: while(false);
+              goto return_label128;
+              return_label128: while(false);
               variable9 = variable10;
               variable10 = variable9;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-              variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+              variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
               variable12 = variable11;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
               variable5 = variable6 /*s=*/;
             } else { /*if*/
-              if (once_bool_variable6_122) variable6 = once_value_variable6_122;
+              if (once_bool_variable6_129) variable6 = once_value_variable6_129;
               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_122 = variable6;
-               once_bool_variable6_122 = true;
+               once_value_variable6_129 = variable6;
+               once_bool_variable6_129 = true;
               }
               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3498,12 +3650,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label123;
-               return_label123: while(false);
+               goto return_label130;
+               return_label130: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNBOX_Float("), TAG_Int(14)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")+UNBOX_Float("), TAG_Int(14)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3517,27 +3669,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label124;
-               return_label124: while(false);
+               goto return_label131;
+               return_label131: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
               } else { /*if*/
-               if (once_bool_variable6_125) variable6 = once_value_variable6_125;
+               if (once_bool_variable6_132) variable6 = once_value_variable6_132;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_125 = variable6;
-               once_bool_variable6_125 = true;
+               once_value_variable6_132 = variable6;
+               once_bool_variable6_132 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3551,12 +3703,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label126;
-               return_label126: while(false);
+               goto return_label133;
+               return_label133: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-UNBOX_Float("), TAG_Int(14)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")-UNBOX_Float("), TAG_Int(14)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3570,27 +3722,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label127;
-               return_label127: while(false);
+               goto return_label134;
+               return_label134: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_128) variable6 = once_value_variable6_128;
+               if (once_bool_variable6_135) variable6 = once_value_variable6_135;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_128 = variable6;
-               once_bool_variable6_128 = true;
+               once_value_variable6_135 = variable6;
+               once_bool_variable6_135 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3604,12 +3756,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label129;
-               return_label129: while(false);
+               goto return_label136;
+               return_label136: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")*UNBOX_Float("), TAG_Int(14)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")*UNBOX_Float("), TAG_Int(14)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3623,27 +3775,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label130;
-               return_label130: while(false);
+               goto return_label137;
+               return_label137: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_131) variable6 = once_value_variable6_131;
+               if (once_bool_variable6_138) variable6 = once_value_variable6_138;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_131 = variable6;
-               once_bool_variable6_131 = true;
+               once_value_variable6_138 = variable6;
+               once_bool_variable6_138 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3657,12 +3809,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label132;
-               return_label132: while(false);
+               goto return_label139;
+               return_label139: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")/UNBOX_Float("), TAG_Int(14)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")/UNBOX_Float("), TAG_Int(14)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3676,27 +3828,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label133;
-               return_label133: while(false);
+               goto return_label140;
+               return_label140: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_134) variable6 = once_value_variable6_134;
+               if (once_bool_variable6_141) variable6 = once_value_variable6_141;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_134 = variable6;
-               once_bool_variable6_134 = true;
+               once_value_variable6_141 = variable6;
+               once_bool_variable6_141 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3710,12 +3862,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label135;
-               return_label135: while(false);
+               goto return_label142;
+               return_label142: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<UNBOX_Float("), TAG_Int(14)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")<UNBOX_Float("), TAG_Int(14)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3729,27 +3881,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label136;
-               return_label136: while(false);
+               goto return_label143;
+               return_label143: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_137) variable6 = once_value_variable6_137;
+               if (once_bool_variable6_144) variable6 = once_value_variable6_144;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_137 = variable6;
-               once_bool_variable6_137 = true;
+               once_value_variable6_144 = variable6;
+               once_bool_variable6_144 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3763,12 +3915,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label138;
-               return_label138: while(false);
+               goto return_label145;
+               return_label145: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>UNBOX_Float("), TAG_Int(14)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")>UNBOX_Float("), TAG_Int(14)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3782,27 +3934,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label139;
-               return_label139: while(false);
+               goto return_label146;
+               return_label146: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_140) variable6 = once_value_variable6_140;
+               if (once_bool_variable6_147) variable6 = once_value_variable6_147;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_140 = variable6;
-               once_bool_variable6_140 = true;
+               once_value_variable6_147 = variable6;
+               once_bool_variable6_147 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3816,12 +3968,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label141;
-               return_label141: while(false);
+               goto return_label148;
+               return_label148: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<=UNBOX_Float("), TAG_Int(15)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")<=UNBOX_Float("), TAG_Int(15)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3835,27 +3987,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label142;
-               return_label142: while(false);
+               goto return_label149;
+               return_label149: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_143) variable6 = once_value_variable6_143;
+               if (once_bool_variable6_150) variable6 = once_value_variable6_150;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_143 = variable6;
-               once_bool_variable6_143 = true;
+               once_value_variable6_150 = variable6;
+               once_bool_variable6_150 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -3869,12 +4021,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label144;
-               return_label144: while(false);
+               goto return_label151;
+               return_label151: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>=UNBOX_Float("), TAG_Int(15)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")>=UNBOX_Float("), TAG_Int(15)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -3888,12 +4040,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label145;
-               return_label145: while(false);
+               goto return_label152;
+               return_label152: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
@@ -3910,26 +4062,26 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
         }
       }
     } else { /*if*/
-      if (once_bool_variable6_146) variable6 = once_value_variable6_146;
+      if (once_bool_variable6_153) variable6 = once_value_variable6_153;
       else {
-        variable6 = NEW_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
+        variable6 = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
         variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-        once_value_variable6_146 = variable6;
-        once_bool_variable6_146 = true;
+        once_value_variable6_153 = variable6;
+        once_bool_variable6_153 = true;
       }
       variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Object::==*/)))));
       if (UNTAG_Bool(variable6)) { /*if*/
-        if (once_bool_variable6_147) variable6 = once_value_variable6_147;
+        if (once_bool_variable6_154) variable6 = once_value_variable6_154;
         else {
-          variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
+          variable6 = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
           variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-          once_value_variable6_147 = variable6;
-          once_bool_variable6_147 = true;
+          once_value_variable6_154 = variable6;
+          once_bool_variable6_154 = true;
         }
         variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
         if (UNTAG_Bool(variable6)) { /*if*/
-          variable6 = NEW_string___String___init(); /*new String*/
-          variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)); /*new String*/
+          variable6 = NEW_String_string___String___init(); /*new String*/
+          variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)); /*new String*/
           variable8 = variable7;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
           variable9 =  TAG_Int(0);
@@ -3943,27 +4095,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
           if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
           variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
           variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-          goto return_label148;
-          return_label148: while(false);
+          goto return_label155;
+          return_label155: while(false);
           variable9 = variable10;
           variable10 = variable9;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-          variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+          variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
           variable12 = variable11;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
           variable5 = variable6 /*s=*/;
         } else { /*if*/
-          if (once_bool_variable6_149) variable6 = once_value_variable6_149;
+          if (once_bool_variable6_156) variable6 = once_value_variable6_156;
           else {
-            variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
+            variable6 = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
             variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-            once_value_variable6_149 = variable6;
-            once_bool_variable6_149 = true;
+            once_value_variable6_156 = variable6;
+            once_bool_variable6_156 = true;
           }
           variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
           if (UNTAG_Bool(variable6)) { /*if*/
-            variable6 = NEW_string___String___init(); /*new String*/
-            variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(-UNTAG_Char("), TAG_Int(21)); /*new String*/
+            variable6 = NEW_String_string___String___init(); /*new String*/
+            variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(-UNTAG_Char("), TAG_Int(21)); /*new String*/
             variable8 = variable7;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
             variable9 =  TAG_Int(0);
@@ -3977,27 +4129,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
             variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
             variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-            goto return_label150;
-            return_label150: while(false);
+            goto return_label157;
+            return_label157: while(false);
             variable9 = variable10;
             variable10 = variable9;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-            variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+            variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
             variable12 = variable11;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
             variable5 = variable6 /*s=*/;
           } else { /*if*/
-            if (once_bool_variable6_151) variable6 = once_value_variable6_151;
+            if (once_bool_variable6_158) variable6 = once_value_variable6_158;
             else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
+              variable6 = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_151 = variable6;
-              once_bool_variable6_151 = true;
+              once_value_variable6_158 = variable6;
+              once_bool_variable6_158 = true;
             }
             variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
             if (UNTAG_Bool(variable6)) { /*if*/
-              variable6 = NEW_string___String___init(); /*new String*/
-              variable7 = NEW_string___String___with_native(BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char("), TAG_Int(39)); /*new String*/
+              variable6 = NEW_String_string___String___init(); /*new String*/
+              variable7 = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char("), TAG_Int(39)); /*new String*/
               variable8 = variable7;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
               variable9 =  TAG_Int(0);
@@ -4011,27 +4163,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-              goto return_label152;
-              return_label152: while(false);
+              goto return_label159;
+              return_label159: while(false);
               variable9 = variable10;
               variable10 = variable9;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-              variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
+              variable11 = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
               variable12 = variable11;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
               ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
             } else { /*if*/
-              if (once_bool_variable6_153) variable6 = once_value_variable6_153;
+              if (once_bool_variable6_160) variable6 = once_value_variable6_160;
               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_153 = variable6;
-               once_bool_variable6_153 = true;
+               once_value_variable6_160 = variable6;
+               once_bool_variable6_160 = true;
               }
               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char("), TAG_Int(34)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char("), TAG_Int(34)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4045,27 +4197,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label154;
-               return_label154: while(false);
+               goto return_label161;
+               return_label161: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
               } else { /*if*/
-               if (once_bool_variable6_155) variable6 = once_value_variable6_155;
+               if (once_bool_variable6_162) variable6 = once_value_variable6_162;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_155 = variable6;
-               once_bool_variable6_155 = true;
+               once_value_variable6_162 = variable6;
+               once_bool_variable6_162 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4079,27 +4231,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label156;
-               return_label156: while(false);
+               goto return_label163;
+               return_label163: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_157) variable6 = once_value_variable6_157;
+               if (once_bool_variable6_164) variable6 = once_value_variable6_164;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_157 = variable6;
-               once_bool_variable6_157 = true;
+               once_value_variable6_164 = variable6;
+               once_bool_variable6_164 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4113,27 +4265,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label158;
-               return_label158: while(false);
+               goto return_label165;
+               return_label165: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_159) variable6 = once_value_variable6_159;
+               if (once_bool_variable6_166) variable6 = once_value_variable6_166;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_159 = variable6;
-               once_bool_variable6_159 = true;
+               once_value_variable6_166 = variable6;
+               once_bool_variable6_166 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4147,27 +4299,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label160;
-               return_label160: while(false);
+               goto return_label167;
+               return_label167: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-'0')"), TAG_Int(6)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")-'0')"), TAG_Int(6)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_161) variable6 = once_value_variable6_161;
+               if (once_bool_variable6_168) variable6 = once_value_variable6_168;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_161 = variable6;
-               once_bool_variable6_161 = true;
+               once_value_variable6_168 = variable6;
+               once_bool_variable6_168 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4181,12 +4333,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label162;
-               return_label162: while(false);
+               goto return_label169;
+               return_label169: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Char("), TAG_Int(13)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Char("), TAG_Int(13)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4200,27 +4352,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label163;
-               return_label163: while(false);
+               goto return_label170;
+               return_label170: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_164) variable6 = once_value_variable6_164;
+               if (once_bool_variable6_171) variable6 = once_value_variable6_171;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_164 = variable6;
-               once_bool_variable6_164 = true;
+               once_value_variable6_171 = variable6;
+               once_bool_variable6_171 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4234,12 +4386,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label165;
-               return_label165: while(false);
+               goto return_label172;
+               return_label172: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-UNTAG_Char("), TAG_Int(13)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")-UNTAG_Char("), TAG_Int(13)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4253,27 +4405,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label166;
-               return_label166: while(false);
+               goto return_label173;
+               return_label173: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_167) variable6 = once_value_variable6_167;
+               if (once_bool_variable6_174) variable6 = once_value_variable6_174;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_167 = variable6;
-               once_bool_variable6_167 = true;
+               once_value_variable6_174 = variable6;
+               once_bool_variable6_174 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4287,12 +4439,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label168;
-               return_label168: while(false);
+               goto return_label175;
+               return_label175: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")*UNTAG_Char("), TAG_Int(13)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")*UNTAG_Char("), TAG_Int(13)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4306,27 +4458,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label169;
-               return_label169: while(false);
+               goto return_label176;
+               return_label176: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_170) variable6 = once_value_variable6_170;
+               if (once_bool_variable6_177) variable6 = once_value_variable6_177;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_170 = variable6;
-               once_bool_variable6_170 = true;
+               once_value_variable6_177 = variable6;
+               once_bool_variable6_177 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4340,12 +4492,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label171;
-               return_label171: while(false);
+               goto return_label178;
+               return_label178: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")/UNTAG_Char("), TAG_Int(13)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")/UNTAG_Char("), TAG_Int(13)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4359,27 +4511,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label172;
-               return_label172: while(false);
+               goto return_label179;
+               return_label179: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_173) variable6 = once_value_variable6_173;
+               if (once_bool_variable6_180) variable6 = once_value_variable6_180;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_173 = variable6;
-               once_bool_variable6_173 = true;
+               once_value_variable6_180 = variable6;
+               once_bool_variable6_180 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4393,12 +4545,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label174;
-               return_label174: while(false);
+               goto return_label181;
+               return_label181: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")%UNTAG_Char("), TAG_Int(13)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")%UNTAG_Char("), TAG_Int(13)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4412,27 +4564,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label175;
-               return_label175: while(false);
+               goto return_label182;
+               return_label182: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_176) variable6 = once_value_variable6_176;
+               if (once_bool_variable6_183) variable6 = once_value_variable6_183;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_176 = variable6;
-               once_bool_variable6_176 = true;
+               once_value_variable6_183 = variable6;
+               once_bool_variable6_183 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4446,12 +4598,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label177;
-               return_label177: while(false);
+               goto return_label184;
+               return_label184: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<UNTAG_Char("), TAG_Int(13)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")<UNTAG_Char("), TAG_Int(13)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4465,27 +4617,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label178;
-               return_label178: while(false);
+               goto return_label185;
+               return_label185: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_179) variable6 = once_value_variable6_179;
+               if (once_bool_variable6_186) variable6 = once_value_variable6_186;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_179 = variable6;
-               once_bool_variable6_179 = true;
+               once_value_variable6_186 = variable6;
+               once_bool_variable6_186 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4499,12 +4651,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label180;
-               return_label180: while(false);
+               goto return_label187;
+               return_label187: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>UNTAG_Char("), TAG_Int(13)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")>UNTAG_Char("), TAG_Int(13)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4518,27 +4670,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label181;
-               return_label181: while(false);
+               goto return_label188;
+               return_label188: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_182) variable6 = once_value_variable6_182;
+               if (once_bool_variable6_189) variable6 = once_value_variable6_189;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_182 = variable6;
-               once_bool_variable6_182 = true;
+               once_value_variable6_189 = variable6;
+               once_bool_variable6_189 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4552,12 +4704,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label183;
-               return_label183: while(false);
+               goto return_label190;
+               return_label190: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<=UNTAG_Char("), TAG_Int(14)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")<=UNTAG_Char("), TAG_Int(14)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4571,27 +4723,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label184;
-               return_label184: while(false);
+               goto return_label191;
+               return_label191: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_185) variable6 = once_value_variable6_185;
+               if (once_bool_variable6_192) variable6 = once_value_variable6_192;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_185 = variable6;
-               once_bool_variable6_185 = true;
+               once_value_variable6_192 = variable6;
+               once_bool_variable6_192 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4605,12 +4757,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label186;
-               return_label186: while(false);
+               goto return_label193;
+               return_label193: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>=UNTAG_Char("), TAG_Int(14)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")>=UNTAG_Char("), TAG_Int(14)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4624,27 +4776,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label187;
-               return_label187: while(false);
+               goto return_label194;
+               return_label194: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_188) variable6 = once_value_variable6_188;
+               if (once_bool_variable6_195) variable6 = once_value_variable6_195;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_188 = variable6;
-               once_bool_variable6_188 = true;
+               once_value_variable6_195 = variable6;
+               once_bool_variable6_195 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4658,12 +4810,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label189;
-               return_label189: while(false);
+               goto return_label196;
+               return_label196: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4677,27 +4829,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label190;
-               return_label190: while(false);
+               goto return_label197;
+               return_label197: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_191) variable6 = once_value_variable6_191;
+               if (once_bool_variable6_198) variable6 = once_value_variable6_198;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_191 = variable6;
-               once_bool_variable6_191 = true;
+               once_value_variable6_198 = variable6;
+               once_bool_variable6_198 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4711,12 +4863,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label192;
-               return_label192: while(false);
+               goto return_label199;
+               return_label199: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4730,12 +4882,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label193;
-               return_label193: while(false);
+               goto return_label200;
+               return_label200: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
@@ -4758,26 +4910,26 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
           }
         }
       } else { /*if*/
-        if (once_bool_variable6_194) variable6 = once_value_variable6_194;
+        if (once_bool_variable6_201) variable6 = once_value_variable6_201;
         else {
-          variable6 = NEW_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
+          variable6 = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
           variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-          once_value_variable6_194 = variable6;
-          once_bool_variable6_194 = true;
+          once_value_variable6_201 = variable6;
+          once_bool_variable6_201 = true;
         }
         variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Object::==*/)))));
         if (UNTAG_Bool(variable6)) { /*if*/
-          if (once_bool_variable6_195) variable6 = once_value_variable6_195;
+          if (once_bool_variable6_202) variable6 = once_value_variable6_202;
           else {
-            variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
+            variable6 = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
             variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-            once_value_variable6_195 = variable6;
-            once_bool_variable6_195 = true;
+            once_value_variable6_202 = variable6;
+            once_bool_variable6_202 = true;
           }
           variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
           if (UNTAG_Bool(variable6)) { /*if*/
-            variable6 = NEW_string___String___init(); /*new String*/
-            variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)); /*new String*/
+            variable6 = NEW_String_string___String___init(); /*new String*/
+            variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)); /*new String*/
             variable8 = variable7;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
             variable9 =  TAG_Int(0);
@@ -4791,27 +4943,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
             variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
             variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-            goto return_label196;
-            return_label196: while(false);
+            goto return_label203;
+            return_label203: while(false);
             variable9 = variable10;
             variable10 = variable9;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-            variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+            variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
             variable12 = variable11;
             ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
             variable5 = variable6 /*s=*/;
           } else { /*if*/
-            if (once_bool_variable6_197) variable6 = once_value_variable6_197;
+            if (once_bool_variable6_204) variable6 = once_value_variable6_204;
             else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
+              variable6 = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_197 = variable6;
-              once_bool_variable6_197 = true;
+              once_value_variable6_204 = variable6;
+              once_bool_variable6_204 = true;
             }
             variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
             if (UNTAG_Bool(variable6)) { /*if*/
-              variable6 = NEW_string___String___init(); /*new String*/
-              variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(-UNTAG_Bool("), TAG_Int(21)); /*new String*/
+              variable6 = NEW_String_string___String___init(); /*new String*/
+              variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(-UNTAG_Bool("), TAG_Int(21)); /*new String*/
               variable8 = variable7;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
               variable9 =  TAG_Int(0);
@@ -4825,27 +4977,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-              goto return_label198;
-              return_label198: while(false);
+              goto return_label205;
+              return_label205: while(false);
               variable9 = variable10;
               variable10 = variable9;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-              variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+              variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
               variable12 = variable11;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
               variable5 = variable6 /*s=*/;
             } else { /*if*/
-              if (once_bool_variable6_199) variable6 = once_value_variable6_199;
+              if (once_bool_variable6_206) variable6 = once_value_variable6_206;
               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_199 = variable6;
-               once_bool_variable6_199 = true;
+               once_value_variable6_206 = variable6;
+               once_bool_variable6_206 = true;
               }
               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("(void)printf(UNTAG_Bool("), TAG_Int(24)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("(void)printf(UNTAG_Bool("), TAG_Int(24)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4859,27 +5011,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label200;
-               return_label200: while(false);
+               goto return_label207;
+               return_label207: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")?\"true\\n\":\"false\\n\");"), TAG_Int(22)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")?\"true\\n\":\"false\\n\");"), TAG_Int(22)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
               } else { /*if*/
-               if (once_bool_variable6_201) variable6 = once_value_variable6_201;
+               if (once_bool_variable6_208) variable6 = once_value_variable6_208;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_201 = variable6;
-               once_bool_variable6_201 = true;
+               once_value_variable6_208 = variable6;
+               once_bool_variable6_208 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Bool("), TAG_Int(20)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Bool("), TAG_Int(20)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4893,27 +5045,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label202;
-               return_label202: while(false);
+               goto return_label209;
+               return_label209: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_203) variable6 = once_value_variable6_203;
+               if (once_bool_variable6_210) variable6 = once_value_variable6_210;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_203 = variable6;
-               once_bool_variable6_203 = true;
+               once_value_variable6_210 = variable6;
+               once_bool_variable6_210 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4927,27 +5079,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label204;
-               return_label204: while(false);
+               goto return_label211;
+               return_label211: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_205) variable6 = once_value_variable6_205;
+               if (once_bool_variable6_212) variable6 = once_value_variable6_212;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_205 = variable6;
-               once_bool_variable6_205 = true;
+               once_value_variable6_212 = variable6;
+               once_bool_variable6_212 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -4961,12 +5113,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label206;
-               return_label206: while(false);
+               goto return_label213;
+               return_label213: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -4980,27 +5132,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label207;
-               return_label207: while(false);
+               goto return_label214;
+               return_label214: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_208) variable6 = once_value_variable6_208;
+               if (once_bool_variable6_215) variable6 = once_value_variable6_215;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_208 = variable6;
-               once_bool_variable6_208 = true;
+               once_value_variable6_215 = variable6;
+               once_bool_variable6_215 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -5014,12 +5166,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label209;
-               return_label209: while(false);
+               goto return_label216;
+               return_label216: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -5033,12 +5185,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label210;
-               return_label210: while(false);
+               goto return_label217;
+               return_label217: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
@@ -5050,26 +5202,26 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             }
           }
         } else { /*if*/
-          if (once_bool_variable6_211) variable6 = once_value_variable6_211;
+          if (once_bool_variable6_218) variable6 = once_value_variable6_218;
           else {
-            variable6 = NEW_string___String___with_native(BOX_NativeString("NativeArray"), TAG_Int(11)); /*new String*/
+            variable6 = NEW_String_string___String___with_native(BOX_NativeString("NativeArray"), TAG_Int(11)); /*new String*/
             variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-            once_value_variable6_211 = variable6;
-            once_bool_variable6_211 = true;
+            once_value_variable6_218 = variable6;
+            once_bool_variable6_218 = true;
           }
           variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Object::==*/)))));
           if (UNTAG_Bool(variable6)) { /*if*/
-            if (once_bool_variable6_212) variable6 = once_value_variable6_212;
+            if (once_bool_variable6_219) variable6 = once_value_variable6_219;
             else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
+              variable6 = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_212 = variable6;
-              once_bool_variable6_212 = true;
+              once_value_variable6_219 = variable6;
+              once_bool_variable6_219 = true;
             }
             variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
             if (UNTAG_Bool(variable6)) { /*if*/
-              variable6 = NEW_string___String___init(); /*new String*/
-              variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeArray("), TAG_Int(26)); /*new String*/
+              variable6 = NEW_String_string___String___init(); /*new String*/
+              variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeArray("), TAG_Int(26)); /*new String*/
               variable8 = variable7;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
               variable9 =  TAG_Int(0);
@@ -5083,27 +5235,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-              goto return_label213;
-              return_label213: while(false);
+              goto return_label220;
+              return_label220: while(false);
               variable9 = variable10;
               variable10 = variable9;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-              variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+              variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
               variable12 = variable11;
               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
               variable5 = variable6 /*s=*/;
             } else { /*if*/
-              if (once_bool_variable6_214) variable6 = once_value_variable6_214;
+              if (once_bool_variable6_221) variable6 = once_value_variable6_221;
               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_214 = variable6;
-               once_bool_variable6_214 = true;
+               once_value_variable6_221 = variable6;
+               once_bool_variable6_221 = true;
               }
               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -5117,12 +5269,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label215;
-               return_label215: while(false);
+               goto return_label222;
+               return_label222: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -5136,27 +5288,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label216;
-               return_label216: while(false);
+               goto return_label223;
+               return_label223: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString(")]"), TAG_Int(2)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString(")]"), TAG_Int(2)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
               } else { /*if*/
-               if (once_bool_variable6_217) variable6 = once_value_variable6_217;
+               if (once_bool_variable6_224) variable6 = once_value_variable6_224;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_217 = variable6;
-               once_bool_variable6_217 = true;
+               once_value_variable6_224 = variable6;
+               once_bool_variable6_224 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -5170,12 +5322,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label218;
-               return_label218: while(false);
+               goto return_label225;
+               return_label225: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -5189,12 +5341,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label219;
-               return_label219: while(false);
+               goto return_label226;
+               return_label226: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString(")]="), TAG_Int(3)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString(")]="), TAG_Int(3)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable17 =  TAG_Int(2);
@@ -5208,27 +5360,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
-               goto return_label220;
-               return_label220: while(false);
+               goto return_label227;
+               return_label227: while(false);
                variable17 = variable18;
                variable18 = variable17;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-               variable19 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+               variable19 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
                variable20 = variable19;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
                ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
                } else { /*if*/
-               if (once_bool_variable6_221) variable6 = once_value_variable6_221;
+               if (once_bool_variable6_228) variable6 = once_value_variable6_228;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_221 = variable6;
-               once_bool_variable6_221 = true;
+               once_value_variable6_228 = variable6;
+               once_bool_variable6_228 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeArray("), TAG_Int(31)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeArray("), TAG_Int(31)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(1);
@@ -5242,12 +5394,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label222;
-               return_label222: while(false);
+               goto return_label229;
+               return_label229: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("), UNBOX_NativeArray("), TAG_Int(21)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString("), UNBOX_NativeArray("), TAG_Int(21)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(0);
@@ -5261,12 +5413,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label223;
-               return_label223: while(false);
+               goto return_label230;
+               return_label230: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable17 =  TAG_Int(2);
@@ -5280,12 +5432,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
-               goto return_label224;
-               return_label224: while(false);
+               goto return_label231;
+               return_label231: while(false);
                variable17 = variable18;
                variable18 = variable17;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-               variable19 = NEW_string___String___with_native(BOX_NativeString(")*sizeof(val_t));"), TAG_Int(17)); /*new String*/
+               variable19 = NEW_String_string___String___with_native(BOX_NativeString(")*sizeof(val_t));"), TAG_Int(17)); /*new String*/
                variable20 = variable19;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
                ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
@@ -5294,26 +5446,26 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               }
             }
           } else { /*if*/
-            if (once_bool_variable6_225) variable6 = once_value_variable6_225;
+            if (once_bool_variable6_232) variable6 = once_value_variable6_232;
             else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("NativeString"), TAG_Int(12)); /*new String*/
+              variable6 = NEW_String_string___String___with_native(BOX_NativeString("NativeString"), TAG_Int(12)); /*new String*/
               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_225 = variable6;
-              once_bool_variable6_225 = true;
+              once_value_variable6_232 = variable6;
+              once_bool_variable6_232 = true;
             }
             variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Object::==*/)))));
             if (UNTAG_Bool(variable6)) { /*if*/
-              if (once_bool_variable6_226) variable6 = once_value_variable6_226;
+              if (once_bool_variable6_233) variable6 = once_value_variable6_233;
               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_226 = variable6;
-               once_bool_variable6_226 = true;
+               once_value_variable6_233 = variable6;
+               once_bool_variable6_233 = true;
               }
               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeString("), TAG_Int(27)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeString("), TAG_Int(27)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -5327,27 +5479,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label227;
-               return_label227: while(false);
+               goto return_label234;
+               return_label234: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
               } else { /*if*/
-               if (once_bool_variable6_228) variable6 = once_value_variable6_228;
+               if (once_bool_variable6_235) variable6 = once_value_variable6_235;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("atoi"), TAG_Int(4)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("atoi"), TAG_Int(4)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_228 = variable6;
-               once_bool_variable6_228 = true;
+               once_value_variable6_235 = variable6;
+               once_bool_variable6_235 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString("), TAG_Int(32)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString("), TAG_Int(32)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -5361,27 +5513,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label229;
-               return_label229: while(false);
+               goto return_label236;
+               return_label236: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_230) variable6 = once_value_variable6_230;
+               if (once_bool_variable6_237) variable6 = once_value_variable6_237;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_230 = variable6;
-               once_bool_variable6_230 = true;
+               once_value_variable6_237 = variable6;
+               once_bool_variable6_237 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNBOX_NativeString("), TAG_Int(28)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNBOX_NativeString("), TAG_Int(28)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -5395,12 +5547,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label231;
-               return_label231: while(false);
+               goto return_label238;
+               return_label238: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -5414,27 +5566,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label232;
-               return_label232: while(false);
+               goto return_label239;
+               return_label239: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString(")])"), TAG_Int(3)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString(")])"), TAG_Int(3)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_233) variable6 = once_value_variable6_233;
+               if (once_bool_variable6_240) variable6 = once_value_variable6_240;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_233 = variable6;
-               once_bool_variable6_233 = true;
+               once_value_variable6_240 = variable6;
+               once_bool_variable6_240 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("UNBOX_NativeString("), TAG_Int(19)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeString("), TAG_Int(19)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -5448,12 +5600,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label234;
-               return_label234: while(false);
+               goto return_label241;
+               return_label241: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -5467,12 +5619,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label235;
-               return_label235: while(false);
+               goto return_label242;
+               return_label242: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString(")]=UNTAG_Char("), TAG_Int(14)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString(")]=UNTAG_Char("), TAG_Int(14)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable17 =  TAG_Int(2);
@@ -5486,27 +5638,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
-               goto return_label236;
-               return_label236: while(false);
+               goto return_label243;
+               return_label243: while(false);
                variable17 = variable18;
                variable18 = variable17;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-               variable19 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
+               variable19 = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
                variable20 = variable19;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
                ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
                } else { /*if*/
-               if (once_bool_variable6_237) variable6 = once_value_variable6_237;
+               if (once_bool_variable6_244) variable6 = once_value_variable6_244;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_237 = variable6;
-               once_bool_variable6_237 = true;
+               once_value_variable6_244 = variable6;
+               once_bool_variable6_244 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeString("), TAG_Int(32)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeString("), TAG_Int(32)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(1);
@@ -5520,12 +5672,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label238;
-               return_label238: while(false);
+               goto return_label245;
+               return_label245: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(4);
@@ -5539,12 +5691,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label239;
-               return_label239: while(false);
+               goto return_label246;
+               return_label246: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("), UNBOX_NativeString("), TAG_Int(22)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString("), UNBOX_NativeString("), TAG_Int(22)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable17 =  TAG_Int(0);
@@ -5558,12 +5710,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
-               goto return_label240;
-               return_label240: while(false);
+               goto return_label247;
+               return_label247: while(false);
                variable17 = variable18;
                variable18 = variable17;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-               variable19 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
+               variable19 = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
                variable20 = variable19;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
                variable21 =  TAG_Int(3);
@@ -5577,12 +5729,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable22 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable22 = UNBOX_NativeArray(variable22)[UNTAG_Int( variable21 /*index*/)];
-               goto return_label241;
-               return_label241: while(false);
+               goto return_label248;
+               return_label248: while(false);
                variable21 = variable22;
                variable22 = variable21;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable22) /*String::append*/;
-               variable23 = NEW_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)); /*new String*/
+               variable23 = NEW_String_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)); /*new String*/
                variable24 = variable23;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable24) /*String::append*/;
                variable25 =  TAG_Int(2);
@@ -5596,12 +5748,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable26 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable26 = UNBOX_NativeArray(variable26)[UNTAG_Int( variable25 /*index*/)];
-               goto return_label242;
-               return_label242: while(false);
+               goto return_label249;
+               return_label249: while(false);
                variable25 = variable26;
                variable26 = variable25;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable26) /*String::append*/;
-               variable27 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
+               variable27 = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
                variable28 = variable27;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable28) /*String::append*/;
                ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
@@ -5611,17 +5763,17 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                }
               }
             } else { /*if*/
-              if (once_bool_variable6_243) variable6 = once_value_variable6_243;
+              if (once_bool_variable6_250) variable6 = once_value_variable6_250;
               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_243 = variable6;
-               once_bool_variable6_243 = true;
+               once_value_variable6_250 = variable6;
+               once_bool_variable6_250 = true;
               }
               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((bigint)"), TAG_Int(16)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)"), TAG_Int(16)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -5635,39 +5787,39 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label244;
-               return_label244: while(false);
+               goto return_label251;
+               return_label251: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
               } else { /*if*/
-               if (once_bool_variable6_245) variable6 = once_value_variable6_245;
+               if (once_bool_variable6_252) variable6 = once_value_variable6_252;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("sys"), TAG_Int(3)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("sys"), TAG_Int(3)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_245 = variable6;
-               once_bool_variable6_245 = true;
+               once_value_variable6_252 = variable6;
+               once_bool_variable6_252 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___with_native(BOX_NativeString("(G_sys)"), TAG_Int(7)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("(G_sys)"), TAG_Int(7)); /*new String*/
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_246) variable6 = once_value_variable6_246;
+               if (once_bool_variable6_253) variable6 = once_value_variable6_253;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("is_same_type"), TAG_Int(12)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("is_same_type"), TAG_Int(12)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_246 = variable6;
-               once_bool_variable6_246 = true;
+               once_value_variable6_253 = variable6;
+               once_bool_variable6_253 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool((VAL2VFT("), TAG_Int(18)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool((VAL2VFT("), TAG_Int(18)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(0);
@@ -5681,12 +5833,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label247;
-               return_label247: while(false);
+               goto return_label254;
+               return_label254: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")==VAL2VFT("), TAG_Int(11)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(")==VAL2VFT("), TAG_Int(11)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable13 =  TAG_Int(1);
@@ -5700,27 +5852,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label248;
-               return_label248: while(false);
+               goto return_label255;
+               return_label255: while(false);
                variable13 = variable14;
                variable14 = variable13;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_249) variable6 = once_value_variable6_249;
+               if (once_bool_variable6_256) variable6 = once_value_variable6_256;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("exit"), TAG_Int(4)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("exit"), TAG_Int(4)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_249 = variable6;
-               once_bool_variable6_249 = true;
+               once_value_variable6_256 = variable6;
+               once_bool_variable6_256 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("exit(UNTAG_Int("), TAG_Int(15)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("exit(UNTAG_Int("), TAG_Int(15)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(1);
@@ -5734,27 +5886,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label250;
-               return_label250: while(false);
+               goto return_label257;
+               return_label257: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
                } else { /*if*/
-               if (once_bool_variable6_251) variable6 = once_value_variable6_251;
+               if (once_bool_variable6_258) variable6 = once_value_variable6_258;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("calloc_array"), TAG_Int(12)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("calloc_array"), TAG_Int(12)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_251 = variable6;
-               once_bool_variable6_251 = true;
+               once_value_variable6_258 = variable6;
+               once_bool_variable6_258 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_NativeArray((val_t*)malloc((UNTAG_Int("), TAG_Int(42)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeArray((val_t*)malloc((UNTAG_Int("), TAG_Int(42)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(1);
@@ -5768,27 +5920,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label252;
-               return_label252: while(false);
+               goto return_label259;
+               return_label259: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(") * sizeof(val_t))))"), TAG_Int(20)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(") * sizeof(val_t))))"), TAG_Int(20)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               if (once_bool_variable6_253) variable6 = once_value_variable6_253;
+               if (once_bool_variable6_260) variable6 = once_value_variable6_260;
                else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("calloc_string"), TAG_Int(13)); /*new String*/
+               variable6 = NEW_String_string___String___with_native(BOX_NativeString("calloc_string"), TAG_Int(13)); /*new String*/
                variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_253 = variable6;
-               once_bool_variable6_253 = true;
+               once_value_variable6_260 = variable6;
+               once_bool_variable6_260 = true;
                }
                variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Object::==*/)))));
                if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_NativeString((char*)malloc((UNTAG_Int("), TAG_Int(42)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeString((char*)malloc((UNTAG_Int("), TAG_Int(42)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  TAG_Int(1);
@@ -5802,24 +5954,24 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
                variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
                variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label254;
-               return_label254: while(false);
+               goto return_label261;
+               return_label261: while(false);
                variable9 = variable10;
                variable10 = variable9;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(") * sizeof(char))))"), TAG_Int(19)); /*new String*/
+               variable11 = NEW_String_string___String___with_native(BOX_NativeString(") * sizeof(char))))"), TAG_Int(19)); /*new String*/
                variable12 = variable11;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
                variable5 = variable6 /*s=*/;
                } else { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Intern "), TAG_Int(24)); /*new String*/
+               variable6 = NEW_String_string___String___init(); /*new String*/
+               variable7 = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Intern "), TAG_Int(24)); /*new String*/
                variable8 = variable7;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
                variable9 =  variable4 /*n*/;
                variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-               variable10 = NEW_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1);"), TAG_Int(18)); /*new String*/
+               variable10 = NEW_String_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1);"), TAG_Int(18)); /*new String*/
                variable11 = variable10;
                ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
                ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
@@ -5844,27 +5996,27 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
   }
   variable6 = variable7;
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString("NIT_NULL /*stub*/"), TAG_Int(17)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("NIT_NULL /*stub*/"), TAG_Int(17)); /*new String*/
     variable5 = variable6 /*s=*/;
   }
   variable3 =  variable5 /*s*/;
-  goto return_label58;
-  return_label58: while(false);
+  goto return_label65;
+  return_label65: while(false);
   tracehead = trace.prev;
   return variable3;
 }
 val_t compiling_methods___PExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 680, LOCATE_compiling_methods___PExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 710, LOCATE_compiling_methods___PExpr___compile_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 680);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 710);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void compiling_methods___PExpr___prepare_compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 684, LOCATE_compiling_methods___PExpr___prepare_compile_stmt};
+  struct trace_t trace = {NULL, NULL, 714, LOCATE_compiling_methods___PExpr___prepare_compile_stmt};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
@@ -5873,19 +6025,19 @@ void compiling_methods___PExpr___prepare_compile_stmt(val_t  self, val_t  param0
   return;
 }
 void compiling_methods___PExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 689, LOCATE_compiling_methods___PExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 719, LOCATE_compiling_methods___PExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("Error!"), TAG_Int(6)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("Error!"), TAG_Int(6)); /*new String*/
   ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable1) /*PNode::printl*/;
   tracehead = trace.prev;
   return;
 }
 void compiling_methods___ABlockExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 695, LOCATE_compiling_methods___ABlockExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 725, LOCATE_compiling_methods___ABlockExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -5899,15 +6051,15 @@ void compiling_methods___ABlockExpr___compile_stmt(val_t  self, val_t  param0) {
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
     ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/,  variable2 /*n*/) /*CompilerVisitor::compile_stmt*/;
-    continue_258: while(0);
+    continue_265: while(0);
     ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
   }
-  break_258: while(0);
+  break_265: while(0);
   tracehead = trace.prev;
   return;
 }
 void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 704, LOCATE_compiling_methods___AVardeclExpr___prepare_compile_stmt};
+  struct trace_t trace = {NULL, NULL, 734, LOCATE_compiling_methods___AVardeclExpr___prepare_compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5924,7 +6076,7 @@ void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t  self, val_t
   return;
 }
 void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 710, LOCATE_compiling_methods___AVardeclExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 740, LOCATE_compiling_methods___AVardeclExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5952,14 +6104,14 @@ void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0)
     variable3 = ((syntax_base___AVardeclExpr___variable_t)CALL( self,COLOR_syntax_base___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
     variable3 = ((syntax_base___Variable___stype_t)CALL(variable3,COLOR_syntax_base___Variable___stype))(variable3) /*Variable::stype*/;
     variable2 = variable3;
-    variable3 = NEW_string___String___init(); /*new String*/
-    variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable3 = NEW_String_string___String___init(); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable5 = variable4;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
     variable6 = ((compiling_base___MMType___default_cvalue_t)CALL( variable2 /*t*/,COLOR_compiling_base___MMType___default_cvalue))( variable2 /*t*/) /*MMType::default_cvalue*/;
     variable7 = variable6;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(" /*decl variable "), TAG_Int(17)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString(" /*decl variable "), TAG_Int(17)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
     variable10 = ((syntax_base___AVardeclExpr___variable_t)CALL( self,COLOR_syntax_base___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
@@ -5967,7 +6119,7 @@ void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0)
     variable11 = variable10;
     variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
+    variable12 = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
     variable13 = variable12;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
     ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable1 /*cname*/, variable3) /*CompilerVisitor::add_assignment*/;
@@ -5981,7 +6133,7 @@ void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0)
   return;
 }
 void compiling_methods___AReturnExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 724, LOCATE_compiling_methods___AReturnExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 754, LOCATE_compiling_methods___AReturnExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -6003,14 +6155,14 @@ void compiling_methods___AReturnExpr___compile_stmt(val_t  self, val_t  param0)
     variable2 = ((compiling_methods___CompilerVisitor___return_value_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value))( variable0 /*v*/) /*CompilerVisitor::return_value*/;
     ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable2,  variable1 /*e*/) /*CompilerVisitor::add_assignment*/;
   }
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((compiling_methods___CompilerVisitor___return_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label))( variable0 /*v*/) /*CompilerVisitor::return_label*/;
   variable5 = variable4;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
@@ -6018,7 +6170,7 @@ void compiling_methods___AReturnExpr___compile_stmt(val_t  self, val_t  param0)
   return;
 }
 void compiling_methods___ABreakExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 736, LOCATE_compiling_methods___ABreakExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 766, LOCATE_compiling_methods___ABreakExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6030,14 +6182,14 @@ void compiling_methods___ABreakExpr___compile_stmt(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
   variable5 = variable4;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
@@ -6045,7 +6197,7 @@ void compiling_methods___ABreakExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 void compiling_methods___AContinueExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 743, LOCATE_compiling_methods___AContinueExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 773, LOCATE_compiling_methods___AContinueExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6057,14 +6209,14 @@ void compiling_methods___AContinueExpr___compile_stmt(val_t  self, val_t  param0
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((compiling_methods___CompilerVisitor___continue_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label))( variable0 /*v*/) /*CompilerVisitor::continue_label*/;
   variable5 = variable4;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
@@ -6072,7 +6224,7 @@ void compiling_methods___AContinueExpr___compile_stmt(val_t  self, val_t  param0
   return;
 }
 void compiling_methods___AAbortExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 750, LOCATE_compiling_methods___AAbortExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 780, LOCATE_compiling_methods___AAbortExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6084,14 +6236,14 @@ void compiling_methods___AAbortExpr___compile_stmt(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Aborted\"); "), TAG_Int(28)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Aborted\"); "), TAG_Int(28)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((compiling_methods___CompilerVisitor___printf_locate_error_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___printf_locate_error))( variable0 /*v*/,  self) /*CompilerVisitor::printf_locate_error*/;
   variable5 = variable4;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(" nit_exit(1);"), TAG_Int(13)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1);"), TAG_Int(13)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
@@ -6099,7 +6251,7 @@ void compiling_methods___AAbortExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 void compiling_methods___ADoExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 757, LOCATE_compiling_methods___ADoExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 787, LOCATE_compiling_methods___ADoExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6115,7 +6267,7 @@ void compiling_methods___ADoExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 766, LOCATE_compiling_methods___AIfExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 796, LOCATE_compiling_methods___AIfExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6130,13 +6282,13 @@ void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0) {
   variable2 = ((parser_nodes___AIfExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_expr))( self) /*AIfExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
   variable1 = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 =  variable1 /*e*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
@@ -6152,20 +6304,20 @@ void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0) {
   variable2 = ((parser_nodes___AIfExpr___n_else_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_else))( self) /*AIfExpr::n_else*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)); /*new String*/
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
     ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
     variable2 = ((parser_nodes___AIfExpr___n_else_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_else))( self) /*AIfExpr::n_else*/;
     ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_stmt*/;
     ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
   }
-  variable2 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 787, LOCATE_compiling_methods___AIfexprExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 817, LOCATE_compiling_methods___AIfexprExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6180,13 +6332,13 @@ val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0)
   variable2 = ((parser_nodes___AIfexprExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_expr))( self) /*AIfexprExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
   variable1 = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 =  variable1 /*e*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
@@ -6197,7 +6349,7 @@ val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0)
   variable3 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable3) /*CompilerVisitor::ensure_var*/;
   variable2 = variable3;
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
   ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable2 /*e*/) /*CompilerVisitor::free_var*/;
   ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
@@ -6207,26 +6359,26 @@ val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0)
   variable3 = variable4;
   ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable2 /*e*/,  variable3 /*e2*/) /*CompilerVisitor::add_assignment*/;
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable4 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
   variable1 =  variable2 /*e*/;
-  goto return_label267;
-  return_label267: while(false);
+  goto return_label274;
+  return_label274: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void compiling_methods___AControlableBlock___compile_inside_block(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 807, LOCATE_compiling_methods___AControlableBlock___compile_inside_block};
+  struct trace_t trace = {NULL, NULL, 837, LOCATE_compiling_methods___AControlableBlock___compile_inside_block};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AIfexprExpr___compile_expr, LOCATE_compiling_methods, 807);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AIfexprExpr___compile_expr, LOCATE_compiling_methods, 837);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void compiling_methods___AControlableBlock___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 808, LOCATE_compiling_methods___AControlableBlock___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 838, LOCATE_compiling_methods___AControlableBlock___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6246,25 +6398,25 @@ void compiling_methods___AControlableBlock___compile_stmt(val_t  self, val_t  pa
   variable2 = variable3;
   variable4 = ((compiling_base___CompilerVisitor___new_number_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___new_number))( variable0 /*v*/) /*CompilerVisitor::new_number*/;
   variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("break_"), TAG_Int(6)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("break_"), TAG_Int(6)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 =  variable3 /*id*/;
   variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
   ((compiling_methods___CompilerVisitor___break_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label__eq))( variable0 /*v*/, variable4) /*CompilerVisitor::break_label=*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("continue_"), TAG_Int(9)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("continue_"), TAG_Int(9)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 =  variable3 /*id*/;
   variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
   ((compiling_methods___CompilerVisitor___continue_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label__eq))( variable0 /*v*/, variable4) /*CompilerVisitor::continue_label=*/;
@@ -6275,7 +6427,7 @@ void compiling_methods___AControlableBlock___compile_stmt(val_t  self, val_t  pa
   return;
 }
 void compiling_methods___AWhileExpr___compile_inside_block(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 825, LOCATE_compiling_methods___AWhileExpr___compile_inside_block};
+  struct trace_t trace = {NULL, NULL, 855, LOCATE_compiling_methods___AWhileExpr___compile_inside_block};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6288,19 +6440,19 @@ void compiling_methods___AWhileExpr___compile_inside_block(val_t  self, val_t  p
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("while (true) { /*while*/"), TAG_Int(24)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("while (true) { /*while*/"), TAG_Int(24)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
   ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
   variable2 = ((parser_nodes___AWhileExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AWhileExpr___n_expr))( self) /*AWhileExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
   variable1 = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 =  variable1 /*e*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")) break; /* while*/"), TAG_Int(20)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(")) break; /* while*/"), TAG_Int(20)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
@@ -6311,28 +6463,28 @@ void compiling_methods___AWhileExpr___compile_inside_block(val_t  self, val_t  p
     variable2 = ((parser_nodes___AWhileExpr___n_block_t)CALL( self,COLOR_parser_nodes___AWhileExpr___n_block))( self) /*AWhileExpr::n_block*/;
     ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_stmt*/;
   }
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 = ((compiling_methods___CompilerVisitor___continue_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label))( variable0 /*v*/) /*CompilerVisitor::continue_label*/;
   variable6 = variable5;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable2 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
   variable6 = variable5;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
@@ -6340,7 +6492,7 @@ void compiling_methods___AWhileExpr___compile_inside_block(val_t  self, val_t  p
   return;
 }
 void compiling_methods___AForExpr___compile_inside_block(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 843, LOCATE_compiling_methods___AForExpr___compile_inside_block};
+  struct trace_t trace = {NULL, NULL, 873, LOCATE_compiling_methods___AForExpr___compile_inside_block};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6352,21 +6504,21 @@ void compiling_methods___AForExpr___compile_inside_block(val_t  self, val_t  par
   return;
 }
 void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 850, LOCATE_compiling_methods___AForVardeclExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 880, LOCATE_compiling_methods___AForVardeclExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
-  static val_t once_value_variable4_272; static int once_bool_variable4_272;
+  static val_t once_value_variable4_279; static int once_bool_variable4_279;
   val_t variable5;
   val_t variable6;
   val_t variable7;
-  static val_t once_value_variable7_273; static int once_bool_variable7_273;
+  static val_t once_value_variable7_280; static int once_bool_variable7_280;
   val_t variable8;
-  static val_t once_value_variable8_274; static int once_bool_variable8_274;
+  static val_t once_value_variable8_281; static int once_bool_variable8_281;
   val_t variable9;
-  static val_t once_value_variable9_275; static int once_bool_variable9_275;
+  static val_t once_value_variable9_282; static int once_bool_variable9_282;
   val_t variable10;
   val_t variable11;
   val_t variable12;
@@ -6385,20 +6537,20 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   variable3 = ((parser_nodes___AForVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AForVardeclExpr___n_expr))( self) /*AForVardeclExpr::n_expr*/;
   variable3 = ((typing___PExpr___stype_t)CALL(variable3,COLOR_syntax_base___PExpr___stype))(variable3) /*PExpr::stype*/;
   variable3 = ((static_type___MMType___local_class_t)CALL(variable3,COLOR_static_type___MMType___local_class))(variable3) /*MMType::local_class*/;
-  if (once_bool_variable4_272) variable4 = once_value_variable4_272;
+  if (once_bool_variable4_279) variable4 = once_value_variable4_279;
   else {
-    variable4 = NEW_string___String___with_native(BOX_NativeString("iterator"), TAG_Int(8)); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString("iterator"), TAG_Int(8)); /*new String*/
     variable4 = ((symbol___String___to_symbol_t)CALL(variable4,COLOR_symbol___String___to_symbol))(variable4) /*String::to_symbol*/;
-    once_value_variable4_272 = variable4;
-    once_bool_variable4_272 = true;
+    once_value_variable4_279 = variable4;
+    once_bool_variable4_279 = true;
   }
   variable3 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable3, variable4) /*MMLocalClass::select_method*/;
   variable2 = variable3;
   variable3 = TAG_Bool(( variable2 /*prop*/ ==  NIT_NULL /*null*/) || (( variable2 /*prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*prop*/,COLOR_kernel___Object_____eqeq))( variable2 /*prop*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("No iterator"), TAG_Int(11)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("No iterator"), TAG_Int(11)); /*new String*/
     ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable3) /*PNode::printl*/;
-    goto return_label271;
+    goto return_label278;
   }
   variable4 = ((static_type___MMLocalProperty___signature_t)CALL( variable2 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable2 /*prop*/) /*MMLocalProperty::signature*/;
   variable4 = ((static_type___MMSignature___return_type_t)CALL(variable4,COLOR_static_type___MMSignature___return_type))(variable4) /*MMSignature::return_type*/;
@@ -6406,79 +6558,79 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable1 /*e*/) /*CompilerVisitor::free_var*/;
   variable5 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
   variable4 = variable5;
-  variable5 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
   ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable1 /*e*/) /*AbstractArray::add*/;
   variable5 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable2 /*prop*/,COLOR_compiling_methods___MMMethod___compile_call))( variable2 /*prop*/,  variable0 /*v*/, variable5) /*MMMethod::compile_call*/;
   ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable4 /*iter*/, variable5) /*CompilerVisitor::add_assignment*/;
   variable6 = ((static_type___MMType___local_class_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___local_class))( variable3 /*ittype*/) /*MMType::local_class*/;
-  if (once_bool_variable7_273) variable7 = once_value_variable7_273;
+  if (once_bool_variable7_280) variable7 = once_value_variable7_280;
   else {
-    variable7 = NEW_string___String___with_native(BOX_NativeString("is_ok"), TAG_Int(5)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("is_ok"), TAG_Int(5)); /*new String*/
     variable7 = ((symbol___String___to_symbol_t)CALL(variable7,COLOR_symbol___String___to_symbol))(variable7) /*String::to_symbol*/;
-    once_value_variable7_273 = variable7;
-    once_bool_variable7_273 = true;
+    once_value_variable7_280 = variable7;
+    once_bool_variable7_280 = true;
   }
   variable6 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable6, variable7) /*MMLocalClass::select_method*/;
   variable5 = variable6;
   variable6 = TAG_Bool(( variable5 /*prop2*/ ==  NIT_NULL /*null*/) || (( variable5 /*prop2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*prop2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*prop2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*prop2*/,COLOR_kernel___Object_____eqeq))( variable5 /*prop2*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString("No is_ok"), TAG_Int(8)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("No is_ok"), TAG_Int(8)); /*new String*/
     ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable6) /*PNode::printl*/;
-    goto return_label271;
+    goto return_label278;
   }
   variable7 = ((static_type___MMType___local_class_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___local_class))( variable3 /*ittype*/) /*MMType::local_class*/;
-  if (once_bool_variable8_274) variable8 = once_value_variable8_274;
+  if (once_bool_variable8_281) variable8 = once_value_variable8_281;
   else {
-    variable8 = NEW_string___String___with_native(BOX_NativeString("item"), TAG_Int(4)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("item"), TAG_Int(4)); /*new String*/
     variable8 = ((symbol___String___to_symbol_t)CALL(variable8,COLOR_symbol___String___to_symbol))(variable8) /*String::to_symbol*/;
-    once_value_variable8_274 = variable8;
-    once_bool_variable8_274 = true;
+    once_value_variable8_281 = variable8;
+    once_bool_variable8_281 = true;
   }
   variable7 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable7, variable8) /*MMLocalClass::select_method*/;
   variable6 = variable7;
   variable7 = TAG_Bool(( variable6 /*prop3*/ ==  NIT_NULL /*null*/) || (( variable6 /*prop3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*prop3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*prop3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*prop3*/,COLOR_kernel___Object_____eqeq))( variable6 /*prop3*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString("No item"), TAG_Int(7)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("No item"), TAG_Int(7)); /*new String*/
     ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable7) /*PNode::printl*/;
-    goto return_label271;
+    goto return_label278;
   }
   variable8 = ((static_type___MMType___local_class_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___local_class))( variable3 /*ittype*/) /*MMType::local_class*/;
-  if (once_bool_variable9_275) variable9 = once_value_variable9_275;
+  if (once_bool_variable9_282) variable9 = once_value_variable9_282;
   else {
-    variable9 = NEW_string___String___with_native(BOX_NativeString("next"), TAG_Int(4)); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString("next"), TAG_Int(4)); /*new String*/
     variable9 = ((symbol___String___to_symbol_t)CALL(variable9,COLOR_symbol___String___to_symbol))(variable9) /*String::to_symbol*/;
-    once_value_variable9_275 = variable9;
-    once_bool_variable9_275 = true;
+    once_value_variable9_282 = variable9;
+    once_bool_variable9_282 = true;
   }
   variable8 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable8,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable8, variable9) /*MMLocalClass::select_method*/;
   variable7 = variable8;
   variable8 = TAG_Bool(( variable7 /*prop4*/ ==  NIT_NULL /*null*/) || (( variable7 /*prop4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*prop4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*prop4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*prop4*/,COLOR_kernel___Object_____eqeq))( variable7 /*prop4*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("No next"), TAG_Int(7)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("No next"), TAG_Int(7)); /*new String*/
     ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable8) /*PNode::printl*/;
-    goto return_label271;
+    goto return_label278;
   }
-  variable8 = NEW_string___String___with_native(BOX_NativeString("while (true) { /*for*/"), TAG_Int(22)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("while (true) { /*for*/"), TAG_Int(22)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
   ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
   variable9 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
   variable8 = variable9;
-  variable9 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
   ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  variable4 /*iter*/) /*AbstractArray::add*/;
   variable9 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable5 /*prop2*/,COLOR_compiling_methods___MMMethod___compile_call))( variable5 /*prop2*/,  variable0 /*v*/, variable9) /*MMMethod::compile_call*/;
   ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable8 /*ok*/, variable9) /*CompilerVisitor::add_assignment*/;
-  variable9 = NEW_string___String___init(); /*new String*/
-  variable10 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
+  variable9 = NEW_String_string___String___init(); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable11) /*String::append*/;
   variable12 =  variable8 /*ok*/;
   ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(")) break; /*for*/"), TAG_Int(17)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString(")) break; /*for*/"), TAG_Int(17)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable14) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable9) /*CompilerVisitor::add_instr*/;
   ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable8 /*ok*/) /*CompilerVisitor::free_var*/;
-  variable10 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
   ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  variable4 /*iter*/) /*AbstractArray::add*/;
   variable10 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable6 /*prop3*/,COLOR_compiling_methods___MMMethod___compile_call))( variable6 /*prop3*/,  variable0 /*v*/, variable10) /*MMMethod::compile_call*/;
   variable9 = variable10;
@@ -6490,50 +6642,50 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   variable11 = ((parser_prod___PNode___parent_t)CALL( self,COLOR_parser_prod___PNode___parent))( self) /*PNode::parent*/;
   variable10 = variable11;
   variable11 = TAG_Bool(( variable10 /*par*/==NIT_NULL) || VAL_ISA( variable10 /*par*/, COLOR_AForExpr, ID_AForExpr)) /*cast AForExpr*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, LOCATE_compiling_methods, 887); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, LOCATE_compiling_methods, 917); nit_exit(1);}
   variable12 = ((parser_nodes___AForExpr___n_block_t)CALL( variable10 /*par*/,COLOR_parser_nodes___AForExpr___n_block))( variable10 /*par*/) /*AForExpr::n_block*/;
   variable11 = variable12;
   variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable11 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable11 /*n_block*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
     ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/,  variable11 /*n_block*/) /*CompilerVisitor::compile_stmt*/;
   }
-  variable12 = NEW_string___String___init(); /*new String*/
-  variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable12 = NEW_String_string___String___init(); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable14) /*String::append*/;
   variable15 = ((compiling_methods___CompilerVisitor___continue_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label))( variable0 /*v*/) /*CompilerVisitor::continue_label*/;
   variable16 = variable15;
   ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
+  variable17 = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
   variable18 = variable17;
   ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable18) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable12) /*CompilerVisitor::add_instr*/;
-  variable12 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
   ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  variable4 /*iter*/) /*AbstractArray::add*/;
   variable12 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable7 /*prop4*/,COLOR_compiling_methods___MMMethod___compile_call))( variable7 /*prop4*/,  variable0 /*v*/, variable12) /*MMMethod::compile_call*/;
   variable9 = variable12 /*e=*/;
   variable12 = TAG_Bool(( variable9 /*e*/ ==  NIT_NULL /*null*/) || (( variable9 /*e*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable9 /*e*/,COLOR_kernel___Object_____eqeq))( variable9 /*e*/,  NIT_NULL /*null*/) /*String::==*/)));
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, LOCATE_compiling_methods, 894); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, LOCATE_compiling_methods, 924); nit_exit(1);}
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable12) /*CompilerVisitor::add_instr*/;
-  variable12 = NEW_string___String___init(); /*new String*/
-  variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable12 = NEW_String_string___String___init(); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable14) /*String::append*/;
   variable15 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
   variable16 = variable15;
   ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
+  variable17 = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
   variable18 = variable17;
   ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable18) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable12) /*CompilerVisitor::add_instr*/;
-  return_label271: while(false);
+  return_label278: while(false);
   tracehead = trace.prev;
   return;
 }
 void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 902, LOCATE_compiling_methods___AAssertExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 932, LOCATE_compiling_methods___AAssertExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6556,42 +6708,42 @@ void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0)
   variable2 = ((parser_nodes___AAssertExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_expr))( self) /*AAssertExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
   variable1 = variable2;
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable2 = variable3;
   variable3 = ((parser_nodes___AAssertExpr___n_id_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_id))( self) /*AAssertExpr::n_id*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 ==  NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_string___String___init(); /*new String*/
-    variable4 = NEW_string___String___with_native(BOX_NativeString(" '"), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___init(); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString(" '"), TAG_Int(2)); /*new String*/
     variable5 = variable4;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
     variable6 = ((parser_nodes___AAssertExpr___n_id_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_id))( self) /*AAssertExpr::n_id*/;
     variable6 = ((lexer___Token___text_t)CALL(variable6,COLOR_lexer___Token___text))(variable6) /*Token::text*/;
     variable7 = variable6;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString("' "), TAG_Int(2)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("' "), TAG_Int(2)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
     variable2 = variable3 /*s=*/;
   }
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable1 /*e*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Assert%s failed\", \""), TAG_Int(41)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Assert%s failed\", \""), TAG_Int(41)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
   variable9 =  variable2 /*s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("\"); "), TAG_Int(4)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("\"); "), TAG_Int(4)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
   variable12 = ((compiling_methods___CompilerVisitor___printf_locate_error_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___printf_locate_error))( variable0 /*v*/,  self) /*CompilerVisitor::printf_locate_error*/;
   variable13 = variable12;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString(" nit_exit(1);}"), TAG_Int(14)); /*new String*/
+  variable14 = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1);}"), TAG_Int(14)); /*new String*/
   variable15 = variable14;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
@@ -6599,7 +6751,7 @@ void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0)
   return;
 }
 val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 914, LOCATE_compiling_methods___AVarExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 944, LOCATE_compiling_methods___AVarExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6615,8 +6767,8 @@ val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
@@ -6624,7 +6776,7 @@ val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
   variable4 = ((abstract_collection___Map_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable5) /*Map::[]*/;
   variable5 = variable4;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   variable8 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
@@ -6632,16 +6784,16 @@ val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
-  goto return_label277;
-  return_label277: while(false);
+  goto return_label284;
+  return_label284: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 921, LOCATE_compiling_methods___AVarAssignExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 951, LOCATE_compiling_methods___AVarAssignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6664,13 +6816,13 @@ void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param
   variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
   variable3 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
   variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable3) /*Map::[]*/;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable1 /*e*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
   variable9 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
@@ -6678,7 +6830,7 @@ void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param
   variable10 = variable9;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("=*/"), TAG_Int(3)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("=*/"), TAG_Int(3)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
   ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable2, variable3) /*CompilerVisitor::add_assignment*/;
@@ -6686,7 +6838,7 @@ void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param
   return;
 }
 void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 929, LOCATE_compiling_methods___AVarReassignExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 959, LOCATE_compiling_methods___AVarReassignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6713,7 +6865,7 @@ void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  par
   variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
   variable2 = variable3;
   variable4 = ((typing___AReassignFormExpr___assign_method_t)CALL( self,COLOR_typing___AReassignFormExpr___assign_method))( self) /*AReassignFormExpr::assign_method*/;
-  variable5 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
   ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable1 /*e1*/) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable2 /*e2*/) /*AbstractArray::add*/;
   variable4 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable4,COLOR_compiling_methods___MMMethod___compile_call))(variable4,  variable0 /*v*/, variable5) /*MMMethod::compile_call*/;
@@ -6721,13 +6873,13 @@ void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  par
   variable4 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
   variable5 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
   variable4 = ((abstract_collection___Map_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable5) /*Map::[]*/;
-  variable5 = NEW_string___String___init(); /*new String*/
-  variable6 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___init(); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
   variable8 =  variable3 /*e3*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
   variable11 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
@@ -6735,7 +6887,7 @@ void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  par
   variable12 = variable11;
   variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable14) /*String::append*/;
   ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable4, variable5) /*CompilerVisitor::add_assignment*/;
@@ -6743,7 +6895,7 @@ void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  par
   return;
 }
 val_t compiling_methods___ASelfExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 939, LOCATE_compiling_methods___ASelfExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 969, LOCATE_compiling_methods___ASelfExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6766,16 +6918,16 @@ val_t compiling_methods___ASelfExpr___compile_expr(val_t  self, val_t  param0) {
   variable3 = variable1;
   variable3 = ATTR_array___Array____items(variable3) /*Array::_items*/;
   variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
-  goto return_label281;
-  return_label281: while(false);
+  goto return_label288;
+  return_label288: while(false);
   variable1 = variable3;
-  goto return_label280;
-  return_label280: while(false);
+  goto return_label287;
+  return_label287: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AOrExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 946, LOCATE_compiling_methods___AOrExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 976, LOCATE_compiling_methods___AOrExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6791,13 +6943,13 @@ val_t compiling_methods___AOrExpr___compile_expr(val_t  self, val_t  param0) {
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable2) /*CompilerVisitor::ensure_var*/;
   variable1 = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 =  variable1 /*e*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /* or */"), TAG_Int(13)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(")) { /* or */"), TAG_Int(13)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
@@ -6808,16 +6960,16 @@ val_t compiling_methods___AOrExpr___compile_expr(val_t  self, val_t  param0) {
   variable2 = variable3;
   ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable1 /*e*/,  variable2 /*e2*/) /*CompilerVisitor::add_assignment*/;
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
   variable1 =  variable1 /*e*/;
-  goto return_label282;
-  return_label282: while(false);
+  goto return_label289;
+  return_label289: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AAndExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 961, LOCATE_compiling_methods___AAndExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 991, LOCATE_compiling_methods___AAndExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6833,13 +6985,13 @@ val_t compiling_methods___AAndExpr___compile_expr(val_t  self, val_t  param0) {
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable2) /*CompilerVisitor::ensure_var*/;
   variable1 = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 =  variable1 /*e*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /* and */"), TAG_Int(14)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(")) { /* and */"), TAG_Int(14)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
@@ -6850,16 +7002,16 @@ val_t compiling_methods___AAndExpr___compile_expr(val_t  self, val_t  param0) {
   variable2 = variable3;
   ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable1 /*e*/,  variable2 /*e2*/) /*CompilerVisitor::add_assignment*/;
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
   variable1 =  variable1 /*e*/;
-  goto return_label283;
-  return_label283: while(false);
+  goto return_label290;
+  return_label290: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___ANotExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 976, LOCATE_compiling_methods___ANotExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1006, LOCATE_compiling_methods___ANotExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6871,24 +7023,24 @@ val_t compiling_methods___ANotExpr___compile_expr(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(!UNTAG_Bool("), TAG_Int(22)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(!UNTAG_Bool("), TAG_Int(22)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((parser_nodes___ANotExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ANotExpr___n_expr))( self) /*ANotExpr::n_expr*/;
   variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
   variable5 = variable4;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  goto return_label284;
-  return_label284: while(false);
+  goto return_label291;
+  return_label291: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AEeExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 983, LOCATE_compiling_methods___AEeExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1013, LOCATE_compiling_methods___AEeExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6910,28 +7062,28 @@ val_t compiling_methods___AEeExpr___compile_expr(val_t  self, val_t  param0) {
   variable3 = ((parser_nodes___AEeExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___AEeExpr___n_expr2))( self) /*AEeExpr::n_expr2*/;
   variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
   variable2 = variable3;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(IS_EQUAL_NN("), TAG_Int(21)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(IS_EQUAL_NN("), TAG_Int(21)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable1 /*e*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
   variable9 =  variable2 /*e2*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
   variable1 = variable3;
-  goto return_label285;
-  return_label285: while(false);
+  goto return_label292;
+  return_label292: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AIsaExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 992, LOCATE_compiling_methods___AIsaExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1022, LOCATE_compiling_methods___AIsaExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6945,13 +7097,13 @@ val_t compiling_methods___AIsaExpr___compile_expr(val_t  self, val_t  param0) {
   variable2 = ((typing___PType___stype_t)CALL(variable2,COLOR_typing___PType___stype))(variable2) /*PType::stype*/;
   variable2 = ((compiling_methods___MMType___compile_cast_t)CALL(variable2,COLOR_compiling_methods___MMType___compile_cast))(variable2,  variable0 /*v*/,  variable1 /*e*/) /*MMType::compile_cast*/;
   variable1 = variable2;
-  goto return_label286;
-  return_label286: while(false);
+  goto return_label293;
+  return_label293: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AAsCastExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1000, LOCATE_compiling_methods___AAsCastExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1030, LOCATE_compiling_methods___AAsCastExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6965,39 +7117,39 @@ val_t compiling_methods___AAsCastExpr___compile_expr(val_t  self, val_t  param0)
   variable2 = ((typing___PType___stype_t)CALL(variable2,COLOR_typing___PType___stype))(variable2) /*PType::stype*/;
   ((compiling_methods___MMType___compile_type_check_t)CALL(variable2,COLOR_compiling_methods___MMType___compile_type_check))(variable2,  variable0 /*v*/,  variable1 /*e*/,  self) /*MMType::compile_type_check*/;
   variable1 =  variable1 /*e*/;
-  goto return_label287;
-  return_label287: while(false);
+  goto return_label294;
+  return_label294: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___ATrueExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1009, LOCATE_compiling_methods___ATrueExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1039, LOCATE_compiling_methods___ATrueExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(true)"), TAG_Int(15)); /*new String*/
-  goto return_label288;
-  return_label288: while(false);
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(true)"), TAG_Int(15)); /*new String*/
+  goto return_label295;
+  return_label295: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AFalseExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1016, LOCATE_compiling_methods___AFalseExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1046, LOCATE_compiling_methods___AFalseExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(false)"), TAG_Int(16)); /*new String*/
-  goto return_label289;
-  return_label289: while(false);
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(false)"), TAG_Int(16)); /*new String*/
+  goto return_label296;
+  return_label296: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AIntExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1023, LOCATE_compiling_methods___AIntExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1053, LOCATE_compiling_methods___AIntExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7009,24 +7161,24 @@ val_t compiling_methods___AIntExpr___compile_expr(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Int("), TAG_Int(9)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Int("), TAG_Int(9)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((parser_nodes___AIntExpr___n_number_t)CALL( self,COLOR_parser_nodes___AIntExpr___n_number))( self) /*AIntExpr::n_number*/;
   variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*Token::text*/;
   variable5 = variable4;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  goto return_label290;
-  return_label290: while(false);
+  goto return_label297;
+  return_label297: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AFloatExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1030, LOCATE_compiling_methods___AFloatExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1060, LOCATE_compiling_methods___AFloatExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7038,24 +7190,24 @@ val_t compiling_methods___AFloatExpr___compile_expr(val_t  self, val_t  param0)
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("BOX_Float("), TAG_Int(10)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float("), TAG_Int(10)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((parser_nodes___AFloatExpr___n_float_t)CALL( self,COLOR_parser_nodes___AFloatExpr___n_float))( self) /*AFloatExpr::n_float*/;
   variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*Token::text*/;
   variable5 = variable4;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  goto return_label291;
-  return_label291: while(false);
+  goto return_label298;
+  return_label298: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___ACharExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1037, LOCATE_compiling_methods___ACharExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1067, LOCATE_compiling_methods___ACharExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7067,29 +7219,29 @@ val_t compiling_methods___ACharExpr___compile_expr(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Char("), TAG_Int(10)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Char("), TAG_Int(10)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((parser_nodes___ACharExpr___n_char_t)CALL( self,COLOR_parser_nodes___ACharExpr___n_char))( self) /*ACharExpr::n_char*/;
   variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*Token::text*/;
   variable5 = variable4;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  goto return_label292;
-  return_label292: while(false);
+  goto return_label299;
+  return_label299: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AStringFormExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1044, LOCATE_compiling_methods___AStringFormExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1074, LOCATE_compiling_methods___AStringFormExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
-  static val_t once_value_variable3_294; static int once_bool_variable3_294;
+  static val_t once_value_variable3_301; static int once_bool_variable3_301;
   val_t variable4;
   val_t variable5;
   val_t variable6;
@@ -7097,64 +7249,66 @@ val_t compiling_methods___AStringFormExpr___compile_expr(val_t  self, val_t  par
   val_t variable8;
   val_t variable9;
   val_t variable10;
+  val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
   variable2 = ((static_type___MMType___local_class_t)CALL(variable2,COLOR_static_type___MMType___local_class))(variable2) /*MMType::local_class*/;
-  if (once_bool_variable3_294) variable3 = once_value_variable3_294;
+  if (once_bool_variable3_301) variable3 = once_value_variable3_301;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("with_native"), TAG_Int(11)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("with_native"), TAG_Int(11)); /*new String*/
     variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
-    once_value_variable3_294 = variable3;
-    once_bool_variable3_294 = true;
+    once_value_variable3_301 = variable3;
+    once_bool_variable3_301 = true;
   }
   variable2 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable2, variable3) /*MMLocalClass::select_method*/;
   variable1 = variable2;
   ((compiling_methods___AStringFormExpr___compute_string_info_t)CALL( self,COLOR_compiling_methods___AStringFormExpr___compute_string_info))( self) /*AStringFormExpr::compute_string_info*/;
-  variable2 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("BOX_NativeString(\""), TAG_Int(18)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 = ATTR_compiling_methods___AStringFormExpr____cstring( self) /*AStringFormExpr::_cstring*/;
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("\")"), TAG_Int(2)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*AbstractArray::add*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)); /*new String*/
+  variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
+  variable3 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeString(\""), TAG_Int(18)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 = ATTR_compiling_methods___AStringFormExpr____cstring_length( self) /*AStringFormExpr::_cstring_length*/;
+  variable7 = ATTR_compiling_methods___AStringFormExpr____cstring( self) /*AStringFormExpr::_cstring*/;
   variable8 = variable7;
-  variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("\")"), TAG_Int(2)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable4) /*AbstractArray::add*/;
-  variable2 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable2) /*MMMethod::compile_constructor_call*/;
+  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable4) /*AbstractArray::add*/;
+  variable5 = NEW_String_string___String___init(); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)); /*new String*/
+  variable7 = variable6;
+  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
+  variable8 = ATTR_compiling_methods___AStringFormExpr____cstring_length( self) /*AStringFormExpr::_cstring_length*/;
+  variable9 = variable8;
+  variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
+  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+  variable11 = variable10;
+  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
+  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable5) /*AbstractArray::add*/;
+  variable2 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable2, variable3) /*MMMethod::compile_constructor_call*/;
   variable1 = variable2;
-  goto return_label293;
-  return_label293: while(false);
+  goto return_label300;
+  return_label300: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AStringFormExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1051, LOCATE_compiling_methods___AStringFormExpr___string_text};
+  struct trace_t trace = {NULL, NULL, 1081, LOCATE_compiling_methods___AStringFormExpr___string_text};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AStringFormExpr___compile_expr, LOCATE_compiling_methods, 1051);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AStringFormExpr___compile_expr, LOCATE_compiling_methods, 1081);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void compiling_methods___AStringFormExpr___compute_string_info(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1060, LOCATE_compiling_methods___AStringFormExpr___compute_string_info};
+  struct trace_t trace = {NULL, NULL, 1090, LOCATE_compiling_methods___AStringFormExpr___compute_string_info};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7168,7 +7322,7 @@ void compiling_methods___AStringFormExpr___compute_string_info(val_t  self) {
   variable0 =  TAG_Int(0);
   variable2 = ((compiling_methods___AStringFormExpr___string_text_t)CALL( self,COLOR_compiling_methods___AStringFormExpr___string_text))( self) /*AStringFormExpr::string_text*/;
   variable1 = variable2;
-  variable3 = NEW_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
   variable2 = variable3;
   variable3 =  TAG_Int(0);
   while (true) { /*while*/
@@ -7199,16 +7353,16 @@ void compiling_methods___AStringFormExpr___compute_string_info(val_t  self) {
     ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/,  variable4 /*c*/) /*String::add*/;
     variable5 = TAG_Int(UNTAG_Int( variable3 /*i*/)+UNTAG_Int( TAG_Int(1)));
     variable3 = variable5 /*i=*/;
-    continue_296: while(0);
+    continue_303: while(0);
   }
-  break_296: while(0);
+  break_303: while(0);
   ATTR_compiling_methods___AStringFormExpr____cstring( self) /*AStringFormExpr::_cstring*/ =  variable2 /*res*/;
   ATTR_compiling_methods___AStringFormExpr____cstring_length( self) /*AStringFormExpr::_cstring_length*/ =  variable0 /*len*/;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___AStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1087, LOCATE_compiling_methods___AStringExpr___string_text};
+  struct trace_t trace = {NULL, NULL, 1117, LOCATE_compiling_methods___AStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7220,13 +7374,13 @@ val_t compiling_methods___AStringExpr___string_text(val_t  self) {
   variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
   variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0,  TAG_Int(1), variable1) /*String::substring*/;
-  goto return_label297;
-  return_label297: while(false);
+  goto return_label304;
+  return_label304: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_methods___AStartStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1090, LOCATE_compiling_methods___AStartStringExpr___string_text};
+  struct trace_t trace = {NULL, NULL, 1120, LOCATE_compiling_methods___AStartStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7238,13 +7392,13 @@ val_t compiling_methods___AStartStringExpr___string_text(val_t  self) {
   variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
   variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0,  TAG_Int(1), variable1) /*String::substring*/;
-  goto return_label298;
-  return_label298: while(false);
+  goto return_label305;
+  return_label305: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_methods___AMidStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1093, LOCATE_compiling_methods___AMidStringExpr___string_text};
+  struct trace_t trace = {NULL, NULL, 1123, LOCATE_compiling_methods___AMidStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7256,13 +7410,13 @@ val_t compiling_methods___AMidStringExpr___string_text(val_t  self) {
   variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
   variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0,  TAG_Int(1), variable1) /*String::substring*/;
-  goto return_label299;
-  return_label299: while(false);
+  goto return_label306;
+  return_label306: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_methods___AEndStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1096, LOCATE_compiling_methods___AEndStringExpr___string_text};
+  struct trace_t trace = {NULL, NULL, 1126, LOCATE_compiling_methods___AEndStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7274,23 +7428,23 @@ val_t compiling_methods___AEndStringExpr___string_text(val_t  self) {
   variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
   variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0,  TAG_Int(1), variable1) /*String::substring*/;
-  goto return_label300;
-  return_label300: while(false);
+  goto return_label307;
+  return_label307: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_methods___ASuperstringExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1100, LOCATE_compiling_methods___ASuperstringExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1130, LOCATE_compiling_methods___ASuperstringExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
-  static val_t once_value_variable3_302; static int once_bool_variable3_302;
+  static val_t once_value_variable3_309; static int once_bool_variable3_309;
   val_t variable4;
   val_t variable5;
-  static val_t once_value_variable5_303; static int once_bool_variable5_303;
+  static val_t once_value_variable5_310; static int once_bool_variable5_310;
   val_t variable6;
-  static val_t once_value_variable6_304; static int once_bool_variable6_304;
+  static val_t once_value_variable6_311; static int once_bool_variable6_311;
     val_t variable7;
     val_t variable8;
     val_t variable9;
@@ -7299,37 +7453,38 @@ val_t compiling_methods___ASuperstringExpr___compile_expr(val_t  self, val_t  pa
   variable0 =  param0;
   variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
   variable2 = ((static_type___MMType___local_class_t)CALL(variable2,COLOR_static_type___MMType___local_class))(variable2) /*MMType::local_class*/;
-  if (once_bool_variable3_302) variable3 = once_value_variable3_302;
+  if (once_bool_variable3_309) variable3 = once_value_variable3_309;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
     variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
-    once_value_variable3_302 = variable3;
-    once_bool_variable3_302 = true;
+    once_value_variable3_309 = variable3;
+    once_bool_variable3_309 = true;
   }
   variable2 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable2, variable3) /*MMLocalClass::select_method*/;
   variable1 = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
-  variable3 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable3) /*MMMethod::compile_constructor_call*/;
+  variable3 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
+  variable4 = NEW_Array_array___Array___init(); /*new Array[String]*/
+  variable3 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable3, variable4) /*MMMethod::compile_constructor_call*/;
   variable2 = variable3;
   variable4 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
   variable4 = ((static_type___MMType___local_class_t)CALL(variable4,COLOR_static_type___MMType___local_class))(variable4) /*MMType::local_class*/;
-  if (once_bool_variable5_303) variable5 = once_value_variable5_303;
+  if (once_bool_variable5_310) variable5 = once_value_variable5_310;
   else {
-    variable5 = NEW_string___String___with_native(BOX_NativeString("append"), TAG_Int(6)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("append"), TAG_Int(6)); /*new String*/
     variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
-    once_value_variable5_303 = variable5;
-    once_bool_variable5_303 = true;
+    once_value_variable5_310 = variable5;
+    once_bool_variable5_310 = true;
   }
   variable4 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable4, variable5) /*MMLocalClass::select_method*/;
   variable3 = variable4;
   variable5 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
   variable5 = ((static_type___MMType___local_class_t)CALL(variable5,COLOR_static_type___MMType___local_class))(variable5) /*MMType::local_class*/;
-  if (once_bool_variable6_304) variable6 = once_value_variable6_304;
+  if (once_bool_variable6_311) variable6 = once_value_variable6_311;
   else {
-    variable6 = NEW_string___String___with_native(BOX_NativeString("to_s"), TAG_Int(4)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("to_s"), TAG_Int(4)); /*new String*/
     variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-    once_value_variable6_304 = variable6;
-    once_bool_variable6_304 = true;
+    once_value_variable6_311 = variable6;
+    once_bool_variable6_311 = true;
   }
   variable5 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable5, variable6) /*MMLocalClass::select_method*/;
   variable4 = variable5;
@@ -7346,45 +7501,45 @@ val_t compiling_methods___ASuperstringExpr___compile_expr(val_t  self, val_t  pa
     variable9 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
     variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable8 == variable9) || ((variable8 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable8,variable9)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))(variable8, variable9) /*Object::==*/)))))));
     if (UNTAG_Bool(variable8)) { /*if*/
-      variable8 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+      variable8 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
       ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable7 /*e*/) /*AbstractArray::add*/;
       variable8 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable4 /*prop3*/,COLOR_compiling_methods___MMMethod___compile_call))( variable4 /*prop3*/,  variable0 /*v*/, variable8) /*MMMethod::compile_call*/;
       ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable7 /*e*/, variable8) /*CompilerVisitor::add_assignment*/;
     }
-    variable8 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable8 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable2 /*recv*/) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable7 /*e*/) /*AbstractArray::add*/;
     ((compiling_methods___MMMethod___compile_call_t)CALL( variable3 /*prop2*/,COLOR_compiling_methods___MMMethod___compile_call))( variable3 /*prop2*/,  variable0 /*v*/, variable8) /*MMMethod::compile_call*/;
-    continue_305: while(0);
+    continue_312: while(0);
     ((list___ListIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ListIterator::next*/;
   }
-  break_305: while(0);
+  break_312: while(0);
   variable1 =  variable2 /*recv*/;
-  goto return_label301;
-  return_label301: while(false);
+  goto return_label308;
+  return_label308: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___ANullExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1121, LOCATE_compiling_methods___ANullExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1151, LOCATE_compiling_methods___ANullExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(" NIT_NULL /*null*/"), TAG_Int(18)); /*new String*/
-  goto return_label306;
-  return_label306: while(false);
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString(" NIT_NULL /*null*/"), TAG_Int(18)); /*new String*/
+  goto return_label313;
+  return_label313: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AArrayExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1128, LOCATE_compiling_methods___AArrayExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1158, LOCATE_compiling_methods___AArrayExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
-  static val_t once_value_variable3_308; static int once_bool_variable3_308;
+  static val_t once_value_variable3_315; static int once_bool_variable3_315;
   val_t variable4;
   val_t variable5;
   val_t variable6;
@@ -7392,45 +7547,47 @@ val_t compiling_methods___AArrayExpr___compile_expr(val_t  self, val_t  param0)
   val_t variable8;
   val_t variable9;
   val_t variable10;
-  static val_t once_value_variable5_309; static int once_bool_variable5_309;
+  val_t variable11;
+  static val_t once_value_variable5_316; static int once_bool_variable5_316;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
   variable2 = ((static_type___MMType___local_class_t)CALL(variable2,COLOR_static_type___MMType___local_class))(variable2) /*MMType::local_class*/;
-  if (once_bool_variable3_308) variable3 = once_value_variable3_308;
+  if (once_bool_variable3_315) variable3 = once_value_variable3_315;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("with_capacity"), TAG_Int(13)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("with_capacity"), TAG_Int(13)); /*new String*/
     variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
-    once_value_variable3_308 = variable3;
-    once_bool_variable3_308 = true;
+    once_value_variable3_315 = variable3;
+    once_bool_variable3_315 = true;
   }
   variable2 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable2, variable3) /*MMLocalClass::select_method*/;
   variable1 = variable2;
-  variable3 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 = ((parser_nodes___AArrayExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___AArrayExpr___n_exprs))( self) /*AArrayExpr::n_exprs*/;
-  variable7 = ((list___List___length_t)CALL(variable7,COLOR_abstract_collection___Collection___length))(variable7) /*List::length*/;
-  variable8 = variable7;
-  variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
-  variable10 = variable9;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable4) /*AbstractArray::add*/;
-  variable3 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable3) /*MMMethod::compile_constructor_call*/;
+  variable3 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
+  variable4 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable5 = NEW_String_string___String___init(); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)); /*new String*/
+  variable7 = variable6;
+  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
+  variable8 = ((parser_nodes___AArrayExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___AArrayExpr___n_exprs))( self) /*AArrayExpr::n_exprs*/;
+  variable8 = ((list___List___length_t)CALL(variable8,COLOR_abstract_collection___Collection___length))(variable8) /*List::length*/;
+  variable9 = variable8;
+  variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
+  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+  variable11 = variable10;
+  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
+  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable5) /*AbstractArray::add*/;
+  variable3 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable3, variable4) /*MMMethod::compile_constructor_call*/;
   variable2 = variable3;
   variable4 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
   variable4 = ((static_type___MMType___local_class_t)CALL(variable4,COLOR_static_type___MMType___local_class))(variable4) /*MMType::local_class*/;
-  if (once_bool_variable5_309) variable5 = once_value_variable5_309;
+  if (once_bool_variable5_316) variable5 = once_value_variable5_316;
   else {
-    variable5 = NEW_string___String___with_native(BOX_NativeString("add"), TAG_Int(3)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("add"), TAG_Int(3)); /*new String*/
     variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
-    once_value_variable5_309 = variable5;
-    once_bool_variable5_309 = true;
+    once_value_variable5_316 = variable5;
+    once_bool_variable5_316 = true;
   }
   variable4 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable4, variable5) /*MMLocalClass::select_method*/;
   variable3 = variable4;
@@ -7442,27 +7599,28 @@ val_t compiling_methods___AArrayExpr___compile_expr(val_t  self, val_t  param0)
     variable5 = ((list___ListIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ListIterator::item*/;
     variable7 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/,  variable5 /*ne*/) /*CompilerVisitor::compile_expr*/;
     variable6 = variable7;
-    variable7 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable7 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable2 /*recv*/) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable6 /*e*/) /*AbstractArray::add*/;
     ((compiling_methods___MMMethod___compile_call_t)CALL( variable3 /*prop2*/,COLOR_compiling_methods___MMMethod___compile_call))( variable3 /*prop2*/,  variable0 /*v*/, variable7) /*MMMethod::compile_call*/;
-    continue_310: while(0);
+    continue_317: while(0);
     ((list___ListIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ListIterator::next*/;
   }
-  break_310: while(0);
+  break_317: while(0);
   variable1 =  variable2 /*recv*/;
-  goto return_label307;
-  return_label307: while(false);
+  goto return_label314;
+  return_label314: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___ARangeExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1143, LOCATE_compiling_methods___ARangeExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1173, LOCATE_compiling_methods___ARangeExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
+  val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
@@ -7477,64 +7635,65 @@ val_t compiling_methods___ARangeExpr___compile_expr(val_t  self, val_t  param0)
   variable4 = ((parser_nodes___ARangeExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___ARangeExpr___n_expr2))( self) /*ARangeExpr::n_expr2*/;
   variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
   variable3 = variable4;
-  variable4 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable2 /*e*/) /*AbstractArray::add*/;
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable3 /*e2*/) /*AbstractArray::add*/;
-  variable4 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable4) /*MMMethod::compile_constructor_call*/;
+  variable4 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
+  variable5 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable2 /*e*/) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable3 /*e2*/) /*AbstractArray::add*/;
+  variable4 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable4, variable5) /*MMMethod::compile_constructor_call*/;
   variable1 = variable4;
-  goto return_label311;
-  return_label311: while(false);
+  goto return_label318;
+  return_label318: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___ARangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1150, LOCATE_compiling_methods___ARangeExpr___propname};
+  struct trace_t trace = {NULL, NULL, 1180, LOCATE_compiling_methods___ARangeExpr___propname};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ARangeExpr___compile_expr, LOCATE_compiling_methods, 1150);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ARangeExpr___compile_expr, LOCATE_compiling_methods, 1180);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_methods___ACrangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1155, LOCATE_compiling_methods___ACrangeExpr___propname};
+  struct trace_t trace = {NULL, NULL, 1185, LOCATE_compiling_methods___ACrangeExpr___propname};
   val_t variable0;
-  static val_t once_value_variable0_313; static int once_bool_variable0_313;
+  static val_t once_value_variable0_320; static int once_bool_variable0_320;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
-  if (once_bool_variable0_313) variable0 = once_value_variable0_313;
+  if (once_bool_variable0_320) variable0 = once_value_variable0_320;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_313 = variable0;
-    once_bool_variable0_313 = true;
+    once_value_variable0_320 = variable0;
+    once_bool_variable0_320 = true;
   }
-  goto return_label312;
-  return_label312: while(false);
+  goto return_label319;
+  return_label319: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_methods___AOrangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1158, LOCATE_compiling_methods___AOrangeExpr___propname};
+  struct trace_t trace = {NULL, NULL, 1188, LOCATE_compiling_methods___AOrangeExpr___propname};
   val_t variable0;
-  static val_t once_value_variable0_315; static int once_bool_variable0_315;
+  static val_t once_value_variable0_322; static int once_bool_variable0_322;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
-  if (once_bool_variable0_315) variable0 = once_value_variable0_315;
+  if (once_bool_variable0_322) variable0 = once_value_variable0_322;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("without_last"), TAG_Int(12)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("without_last"), TAG_Int(12)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_315 = variable0;
-    once_bool_variable0_315 = true;
+    once_value_variable0_322 = variable0;
+    once_bool_variable0_322 = true;
   }
-  goto return_label314;
-  return_label314: while(false);
+  goto return_label321;
+  return_label321: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1162, LOCATE_compiling_methods___ASuperExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 1192, LOCATE_compiling_methods___ASuperExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7550,13 +7709,13 @@ void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*e*/ ==  NIT_NULL /*null*/) || (( variable1 /*e*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*e*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*e*/,COLOR_kernel___Object_____eqeq))( variable1 /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 =  variable1 /*e*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
@@ -7565,7 +7724,7 @@ void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1168, LOCATE_compiling_methods___ASuperExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1198, LOCATE_compiling_methods___ASuperExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7592,7 +7751,7 @@ val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0)
     variable1 = variable2 /*arity=*/;
   }
   variable3 = TAG_Int(UNTAG_Int( variable1 /*arity*/)+UNTAG_Int( TAG_Int(1)));
-  variable4 = NEW_array___Array___with_capacity(variable3); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___with_capacity(variable3); /*new Array[String]*/
   variable3 = variable4;
   variable2 = variable3;
   variable3 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
@@ -7609,15 +7768,15 @@ val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0)
   variable5 = variable3;
   variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
   variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
-  goto return_label318;
-  return_label318: while(false);
+  goto return_label325;
+  return_label325: while(false);
   variable3 = variable5;
   ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable3) /*AbstractArray::add*/;
   variable3 = ((parser_nodes___ASuperExpr___n_args_t)CALL( self,COLOR_parser_nodes___ASuperExpr___n_args))( self) /*ASuperExpr::n_args*/;
   variable3 = ((list___List___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*List::length*/;
   variable3 = TAG_Bool((variable3)!=( variable1 /*arity*/));
   if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_range___Range___without_last( TAG_Int(0),  variable1 /*arity*/); /*new Range[E]*/
+    variable3 = NEW_Range_range___Range___without_last( TAG_Int(0),  variable1 /*arity*/); /*new Range[Int]*/
     variable3 = ((range___Range___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Range::iterator*/;
     while (true) { /*for*/
       variable4 = ((abstract_collection___Iterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*Iterator::is_ok*/;
@@ -7638,14 +7797,14 @@ val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0)
       variable8 = variable5;
       variable8 = ATTR_array___Array____items(variable8) /*Array::_items*/;
       variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
-      goto return_label320;
-      return_label320: while(false);
+      goto return_label327;
+      return_label327: while(false);
       variable5 = variable8;
       ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable5) /*AbstractArray::add*/;
-      continue_319: while(0);
+      continue_326: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
     }
-    break_319: while(0);
+    break_326: while(0);
   } else { /*if*/
     variable3 = ((parser_nodes___ASuperExpr___n_args_t)CALL( self,COLOR_parser_nodes___ASuperExpr___n_args))( self) /*ASuperExpr::n_args*/;
     variable3 = ((list___List___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*List::iterator*/;
@@ -7655,10 +7814,10 @@ val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0)
       variable4 = ((list___ListIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ListIterator::item*/;
       variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/,  variable4 /*na*/) /*CompilerVisitor::compile_expr*/;
       ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable5) /*AbstractArray::add*/;
-      continue_321: while(0);
+      continue_328: while(0);
       ((list___ListIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ListIterator::next*/;
     }
-    break_321: while(0);
+    break_328: while(0);
   }
   variable3 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 ==  NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7666,26 +7825,26 @@ val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0)
     variable3 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
     variable3 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable3,COLOR_compiling_methods___MMMethod___compile_call))(variable3,  variable0 /*v*/,  variable2 /*args*/) /*MMMethod::compile_call*/;
     variable1 = variable3;
-    goto return_label317;
+    goto return_label324;
   } else { /*if*/
     variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
     variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___global))(variable3) /*MMLocalProperty::global*/;
     variable3 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable3,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable3) /*MMGlobalProperty::is_init*/;
     if (UNTAG_Bool(variable3)) { /*if*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)); /*new String*/
       ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable3) /*AbstractArray::add*/;
     }
     variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
     variable3 = ((compiling_methods___MMMethod___compile_super_call_t)CALL(variable3,COLOR_compiling_methods___MMMethod___compile_super_call))(variable3,  variable0 /*v*/,  variable2 /*args*/) /*MMMethod::compile_super_call*/;
     variable1 = variable3;
-    goto return_label317;
+    goto return_label324;
   }
-  return_label317: while(false);
+  return_label324: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AAttrExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1196, LOCATE_compiling_methods___AAttrExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1226, LOCATE_compiling_methods___AAttrExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7698,13 +7857,13 @@ val_t compiling_methods___AAttrExpr___compile_expr(val_t  self, val_t  param0) {
   variable2 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrFormExpr::prop*/;
   variable2 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable2,COLOR_compiling_methods___MMAttribute___compile_access))(variable2,  variable0 /*v*/,  variable1 /*e*/) /*MMAttribute::compile_access*/;
   variable1 = variable2;
-  goto return_label322;
-  return_label322: while(false);
+  goto return_label329;
+  return_label329: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void compiling_methods___AAttrAssignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1204, LOCATE_compiling_methods___AAttrAssignExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 1234, LOCATE_compiling_methods___AAttrAssignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7725,7 +7884,7 @@ void compiling_methods___AAttrAssignExpr___compile_stmt(val_t  self, val_t  para
   return;
 }
 void compiling_methods___AAttrReassignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1212, LOCATE_compiling_methods___AAttrReassignExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 1242, LOCATE_compiling_methods___AAttrReassignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7746,7 +7905,7 @@ void compiling_methods___AAttrReassignExpr___compile_stmt(val_t  self, val_t  pa
   variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
   variable3 = variable4;
   variable5 = ((typing___AReassignFormExpr___assign_method_t)CALL( self,COLOR_typing___AReassignFormExpr___assign_method))( self) /*AReassignFormExpr::assign_method*/;
-  variable6 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
   ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable2 /*e2*/) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable3 /*e3*/) /*AbstractArray::add*/;
   variable5 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable5,COLOR_compiling_methods___MMMethod___compile_call))(variable5,  variable0 /*v*/, variable6) /*MMMethod::compile_call*/;
@@ -7756,7 +7915,7 @@ void compiling_methods___AAttrReassignExpr___compile_stmt(val_t  self, val_t  pa
   return;
 }
 val_t compiling_methods___ASendExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1223, LOCATE_compiling_methods___ASendExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1253, LOCATE_compiling_methods___ASendExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7769,7 +7928,7 @@ val_t compiling_methods___ASendExpr___compile_expr(val_t  self, val_t  param0) {
   variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
   variable1 = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[String]*/
   variable2 = variable3;
   ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/,  variable1 /*recv*/) /*AbstractArray::add*/;
   variable3 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*AAbsSendExpr::arguments*/;
@@ -7780,10 +7939,10 @@ val_t compiling_methods___ASendExpr___compile_expr(val_t  self, val_t  param0) {
     variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
     variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/,  variable4 /*a*/) /*CompilerVisitor::compile_expr*/;
     ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/, variable5) /*AbstractArray::add*/;
-    continue_326: while(0);
+    continue_333: while(0);
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
-  break_326: while(0);
+  break_333: while(0);
   variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
   variable4 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable4,COLOR_compiling_methods___MMMethod___compile_call))(variable4,  variable0 /*v*/,  variable2 /*cargs*/) /*MMMethod::compile_call*/;
   variable3 = variable4;
@@ -7795,13 +7954,13 @@ val_t compiling_methods___ASendExpr___compile_expr(val_t  self, val_t  param0) {
     ((compiling_methods___CompilerVisitor___invoke_super_init_calls_after_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___invoke_super_init_calls_after))( variable0 /*v*/, variable4) /*CompilerVisitor::invoke_super_init_calls_after*/;
   }
   variable1 =  variable3 /*e*/;
-  goto return_label325;
-  return_label325: while(false);
+  goto return_label332;
+  return_label332: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void compiling_methods___ASendExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1239, LOCATE_compiling_methods___ASendExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 1269, LOCATE_compiling_methods___ASendExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7812,7 +7971,7 @@ void compiling_methods___ASendExpr___compile_stmt(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*e*/ ==  NIT_NULL /*null*/) || (( variable1 /*e*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*e*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*e*/,COLOR_kernel___Object_____eqeq))( variable1 /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
     variable2 = ((string___String_____plus_t)CALL( variable1 /*e*/,COLOR_string___String_____plus))( variable1 /*e*/, variable2) /*String::+*/;
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
   }
@@ -7820,7 +7979,7 @@ void compiling_methods___ASendExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1249, LOCATE_compiling_methods___ASendReassignExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1279, LOCATE_compiling_methods___ASendReassignExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7835,7 +7994,7 @@ val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  p
   variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
   variable1 = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[String]*/
   variable2 = variable3;
   ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/,  variable1 /*recv*/) /*AbstractArray::add*/;
   variable3 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*AAbsSendExpr::arguments*/;
@@ -7846,10 +8005,10 @@ val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  p
     variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
     variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/,  variable4 /*a*/) /*CompilerVisitor::compile_expr*/;
     ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/, variable5) /*AbstractArray::add*/;
-    continue_329: while(0);
+    continue_336: while(0);
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
-  break_329: while(0);
+  break_336: while(0);
   variable4 = ((typing___ASendReassignExpr___read_prop_t)CALL( self,COLOR_typing___ASendReassignExpr___read_prop))( self) /*ASendReassignExpr::read_prop*/;
   variable4 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable4,COLOR_compiling_methods___MMMethod___compile_call))(variable4,  variable0 /*v*/,  variable2 /*cargs*/) /*MMMethod::compile_call*/;
   variable3 = variable4;
@@ -7857,7 +8016,7 @@ val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  p
   variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable5) /*CompilerVisitor::compile_expr*/;
   variable4 = variable5;
   variable6 = ((typing___AReassignFormExpr___assign_method_t)CALL( self,COLOR_typing___AReassignFormExpr___assign_method))( self) /*AReassignFormExpr::assign_method*/;
-  variable7 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
   ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable3 /*e2*/) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable4 /*e3*/) /*AbstractArray::add*/;
   variable6 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable6,COLOR_compiling_methods___MMMethod___compile_call))(variable6,  variable0 /*v*/, variable7) /*MMMethod::compile_call*/;
@@ -7866,13 +8025,13 @@ val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  p
   variable6 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
   variable6 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable6,COLOR_compiling_methods___MMMethod___compile_call))(variable6,  variable0 /*v*/,  variable2 /*cargs*/) /*MMMethod::compile_call*/;
   variable1 = variable6;
-  goto return_label328;
-  return_label328: while(false);
+  goto return_label335;
+  return_label335: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___ANewExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1267, LOCATE_compiling_methods___ANewExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1297, LOCATE_compiling_methods___ANewExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7881,7 +8040,7 @@ val_t compiling_methods___ANewExpr___compile_expr(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[String]*/
   variable1 = variable2;
   variable2 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*AAbsSendExpr::arguments*/;
   variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*AbstractArray::iterator*/;
@@ -7891,20 +8050,21 @@ val_t compiling_methods___ANewExpr___compile_expr(val_t  self, val_t  param0) {
     variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
     variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/,  variable3 /*a*/) /*CompilerVisitor::compile_expr*/;
     ((array___AbstractArray___add_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*cargs*/, variable4) /*AbstractArray::add*/;
-    continue_331: while(0);
+    continue_338: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
-  break_331: while(0);
+  break_338: while(0);
   variable2 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
-  variable2 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL(variable2,COLOR_compiling_methods___MMMethod___compile_constructor_call))(variable2,  variable0 /*v*/,  variable1 /*cargs*/) /*MMMethod::compile_constructor_call*/;
+  variable3 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
+  variable2 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL(variable2,COLOR_compiling_methods___MMMethod___compile_constructor_call))(variable2,  variable0 /*v*/, variable3,  variable1 /*cargs*/) /*MMMethod::compile_constructor_call*/;
   variable1 = variable2;
-  goto return_label330;
-  return_label330: while(false);
+  goto return_label337;
+  return_label337: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AProxyExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1278, LOCATE_compiling_methods___AProxyExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1308, LOCATE_compiling_methods___AProxyExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7912,13 +8072,13 @@ val_t compiling_methods___AProxyExpr___compile_expr(val_t  self, val_t  param0)
   variable0 =  param0;
   variable1 = ((parser_nodes___AProxyExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AProxyExpr___n_expr))( self) /*AProxyExpr::n_expr*/;
   variable1 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable1) /*CompilerVisitor::compile_expr*/;
-  goto return_label332;
-  return_label332: while(false);
+  goto return_label339;
+  return_label339: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AOnceExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1285, LOCATE_compiling_methods___AOnceExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1315, LOCATE_compiling_methods___AOnceExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7947,66 +8107,66 @@ val_t compiling_methods___AOnceExpr___compile_expr(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable3 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
   variable2 = variable3;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("static val_t once_value_"), TAG_Int(24)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("static val_t once_value_"), TAG_Int(24)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable2 /*cvar*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
   variable9 =  variable1 /*i*/;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("; static int once_bool_"), TAG_Int(23)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString("; static int once_bool_"), TAG_Int(23)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
   variable12 =  variable2 /*cvar*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable14) /*String::append*/;
   variable15 =  variable1 /*i*/;
   variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+  variable16 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
   variable17 = variable16;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable3) /*CompilerVisitor::add_decl*/;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("if (once_bool_"), TAG_Int(14)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("if (once_bool_"), TAG_Int(14)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable2 /*cvar*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
   variable9 =  variable1 /*i*/;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(") "), TAG_Int(2)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(") "), TAG_Int(2)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
   variable12 =  variable2 /*cvar*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(" = once_value_"), TAG_Int(14)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString(" = once_value_"), TAG_Int(14)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable14) /*String::append*/;
   variable15 =  variable2 /*cvar*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable16 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable17 = variable16;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
   variable18 =  variable1 /*i*/;
   variable18 = ((string___String___to_s_t)CALL(variable18,COLOR_string___Object___to_s))(variable18) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+  variable19 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
   variable20 = variable19;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable20) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("else {"), TAG_Int(6)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("else {"), TAG_Int(6)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
   ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
   ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable2 /*cvar*/) /*CompilerVisitor::free_var*/;
@@ -8014,49 +8174,49 @@ val_t compiling_methods___AOnceExpr___compile_expr(val_t  self, val_t  param0) {
   variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
   variable3 = variable4;
   ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable2 /*cvar*/,  variable3 /*e*/) /*CompilerVisitor::add_assignment*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("once_value_"), TAG_Int(11)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("once_value_"), TAG_Int(11)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 =  variable2 /*cvar*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
   variable10 =  variable1 /*i*/;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
   variable13 =  variable2 /*cvar*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+  variable14 = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
   variable15 = variable14;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("once_bool_"), TAG_Int(10)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("once_bool_"), TAG_Int(10)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 =  variable2 /*cvar*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
   variable10 =  variable1 /*i*/;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(" = true;"), TAG_Int(8)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(" = true;"), TAG_Int(8)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable4 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
   variable1 =  variable2 /*cvar*/;
-  goto return_label333;
-  return_label333: while(false);
+  goto return_label340;
+  return_label340: while(false);
   tracehead = trace.prev;
   return variable1;
 }
index 1c03190..3739981 100644 (file)
@@ -152,8 +152,8 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
 typedef val_t (* compiling_methods___MMMethod___compile_call_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___MMMethod___compile_call "compiling_methods::MMMethod::compile_call"
-typedef val_t (* compiling_methods___MMMethod___compile_constructor_call_t)(val_t  self, val_t  param0, val_t  param1);
-val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t  param0, val_t  param1);
+typedef val_t (* compiling_methods___MMMethod___compile_constructor_call_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_compiling_methods___MMMethod___compile_constructor_call "compiling_methods::MMMethod::compile_constructor_call"
 typedef val_t (* compiling_methods___MMMethod___compile_super_call_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  param0, val_t  param1);
@@ -182,6 +182,9 @@ val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t
 typedef val_t (* compiling_methods___MMMethSrcMethod___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___MMMethSrcMethod___do_compile_inside "compiling_methods::MMMethSrcMethod::(compiling_methods::MMSrcMethod::do_compile_inside)"
+typedef val_t (* compiling_methods___MMImplicitInit___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___MMImplicitInit___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___MMImplicitInit___do_compile_inside "compiling_methods::MMImplicitInit::(compiling_methods::MMSrcMethod::do_compile_inside)"
 typedef val_t (* compiling_methods___MMType___compile_cast_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___MMType___compile_cast "compiling_methods::MMType::compile_cast"
index b7e0612..8696ff8 100644 (file)
@@ -8,7 +8,7 @@ void control_flow___MMSrcModule___do_control_flow(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_control_flow;
   variable0 =  param0;
-  variable2 = NEW_control_flow___ControlFlowVisitor___init( variable0 /*tc*/,  self); /*new ControlFlowVisitor*/
+  variable2 = NEW_ControlFlowVisitor_control_flow___ControlFlowVisitor___init( variable0 /*tc*/,  self); /*new ControlFlowVisitor*/
   variable1 = variable2;
   variable2 = ((syntax_base___MMSrcModule___node_t)CALL( self,COLOR_syntax_base___MMSrcModule___node))( self) /*MMSrcModule::node*/;
   ((control_flow___ControlFlowVisitor___visit_t)CALL( variable1 /*tv*/,COLOR_parser_prod___Visitor___visit))( variable1 /*tv*/, variable2) /*ControlFlowVisitor::visit*/;
@@ -76,14 +76,14 @@ void control_flow___ControlFlowVisitor___check_is_set(val_t  self, val_t  param0
   variable2 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( self,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( self) /*ControlFlowVisitor::control_flow_ctx*/;
   variable2 = ((control_flow___ControlFlowContext___is_set_t)CALL(variable2,COLOR_control_flow___ControlFlowContext___is_set))(variable2,  variable1 /*v*/) /*ControlFlowContext::is_set*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2)))) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("Error: variable '"), TAG_Int(17)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("Error: variable '"), TAG_Int(17)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 =  variable1 /*v*/;
     variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString("' is possibly unset."), TAG_Int(20)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("' is possibly unset."), TAG_Int(20)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( self,COLOR_syntax_base___AbsSyntaxVisitor___error))( self,  variable0 /*n*/, variable2) /*AbsSyntaxVisitor::error*/;
@@ -92,9 +92,9 @@ void control_flow___ControlFlowVisitor___check_is_set(val_t  self, val_t  param0
     while (true) { /*while*/
       variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*cfc*/ ==  NIT_NULL /*null*/) || (( variable2 /*cfc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*cfc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*cfc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*cfc*/,COLOR_kernel___Object_____eqeq))( variable2 /*cfc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (!UNTAG_Bool(variable3)) break; /* while*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString("cfc: "), TAG_Int(5)); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("cfc: "), TAG_Int(5)); /*new String*/
       variable4 = ((control_flow___ControlFlowContext___set_variables_t)CALL( variable2 /*cfc*/,COLOR_control_flow___ControlFlowContext___set_variables))( variable2 /*cfc*/) /*ControlFlowContext::set_variables*/;
-      variable5 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
       variable4 = ((string___Collection___join_t)CALL(variable4,COLOR_string___Collection___join))(variable4, variable5) /*Collection::join*/;
       variable3 = ((string___String_____plus_t)CALL(variable3,COLOR_string___String_____plus))(variable3, variable4) /*String::+*/;
       ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable3) /*Object::print*/;
@@ -241,7 +241,7 @@ val_t control_flow___ControlFlowContext___sub(val_t  self) {
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_control_flow;
-  variable0 = NEW_control_flow___ControlFlowContext___with( self); /*new ControlFlowContext*/
+  variable0 = NEW_ControlFlowContext_control_flow___ControlFlowContext___with( self); /*new ControlFlowContext*/
   goto return_label7;
   return_label7: while(false);
   tracehead = trace.prev;
@@ -294,7 +294,7 @@ void control_flow___AMethPropdef___accept_control_flow(val_t  self, val_t  param
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_control_flow;
   variable0 =  param0;
-  variable1 = NEW_control_flow___ControlFlowContext___init(); /*new ControlFlowContext*/
+  variable1 = NEW_ControlFlowContext_control_flow___ControlFlowContext___init(); /*new ControlFlowContext*/
   ((control_flow___ControlFlowVisitor___control_flow_ctx__eq_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx__eq))( variable0 /*v*/, variable1) /*ControlFlowVisitor::control_flow_ctx=*/;
   ((control_flow___AMethPropdef___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AMethPropdef___accept_control_flow))( self,  param0) /*super AMethPropdef::accept_control_flow*/;
   tracehead = trace.prev;
@@ -321,7 +321,7 @@ void control_flow___AConcreteMethPropdef___accept_control_flow(val_t  self, val_
   }
   variable1 = variable2;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Control error: Reached end of function."), TAG_Int(39)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("Control error: Reached end of function."), TAG_Int(39)); /*new String*/
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable1) /*AbsSyntaxVisitor::error*/;
   }
   tracehead = trace.prev;
@@ -385,7 +385,7 @@ void control_flow___ABlockExpr___accept_control_flow(val_t  self, val_t  param0)
     if (UNTAG_Bool(variable3)) { /*if*/
       variable3 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
       ((control_flow___ControlFlowContext___already_unreash__eq_t)CALL(variable3,COLOR_control_flow___ControlFlowContext___already_unreash__eq))(variable3,  TAG_Bool(true)) /*ControlFlowContext::already_unreash=*/;
-      variable3 = NEW_string___String___with_native(BOX_NativeString("Warning: unreachable statement."), TAG_Int(31)); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("Warning: unreachable statement."), TAG_Int(31)); /*new String*/
       ((syntax_base___AbsSyntaxVisitor___warning_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning))( variable0 /*v*/,  variable2 /*e*/, variable3) /*AbsSyntaxVisitor::warning*/;
     }
     ((control_flow___ControlFlowVisitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/,  variable2 /*e*/) /*ControlFlowVisitor::visit*/;
@@ -432,7 +432,7 @@ void control_flow___ABreakExpr___accept_control_flow(val_t  self, val_t  param0)
   variable1 = variable2;
   variable2 = TAG_Bool(( variable1 /*block*/ ==  NIT_NULL /*null*/) || (( variable1 /*block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*block*/,COLOR_kernel___Object_____eqeq))( variable1 /*block*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString("Syntax Error: 'break' statment outside block."), TAG_Int(45)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("Syntax Error: 'break' statment outside block."), TAG_Int(45)); /*new String*/
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
     goto return_label18;
   }
@@ -457,7 +457,7 @@ void control_flow___AContinueExpr___accept_control_flow(val_t  self, val_t  para
   variable1 = variable2;
   variable2 = TAG_Bool(( variable1 /*block*/ ==  NIT_NULL /*null*/) || (( variable1 /*block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*block*/,COLOR_kernel___Object_____eqeq))( variable1 /*block*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString("Syntax Error: 'continue' outside block."), TAG_Int(39)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("Syntax Error: 'continue' outside block."), TAG_Int(39)); /*new String*/
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
     goto return_label19;
   }
@@ -645,7 +645,7 @@ void control_flow___AOnceExpr___accept_control_flow(val_t  self, val_t  param0)
   variable1 = ((control_flow___ControlFlowVisitor___once_count_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___once_count))( variable0 /*v*/) /*ControlFlowVisitor::once_count*/;
   variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Useless once in a once expression."), TAG_Int(34)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("Useless once in a once expression."), TAG_Int(34)); /*new String*/
     ((syntax_base___AbsSyntaxVisitor___warning_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning))( variable0 /*v*/,  self, variable1) /*AbsSyntaxVisitor::warning*/;
   }
   variable1 = ((control_flow___ControlFlowVisitor___once_count_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___once_count))( variable0 /*v*/) /*ControlFlowVisitor::once_count*/;
index c8795ec..204317f 100644 (file)
@@ -19,7 +19,7 @@ val_t environ___Symbol___environ(val_t  self) {
   variable0 = variable1;
   if (once_bool_variable2_1) variable2 = once_value_variable2_1;
   else {
-    variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable2 = ((string___String___to_cstring_t)CALL(variable2,COLOR_string___String___to_cstring))(variable2) /*String::to_cstring*/;
     variable2 = ((environ___NativeString___get_environ_t)CALL(variable2,COLOR_environ___NativeString___get_environ))(variable2) /*NativeString::get_environ*/;
     once_value_variable2_1 = variable2;
@@ -28,23 +28,23 @@ val_t environ___Symbol___environ(val_t  self) {
   variable1 = variable2;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*res*/ ==  variable1 /*nulstr*/) || (( variable0 /*res*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*res*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*res*/, variable1 /*nulstr*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*res*/,COLOR_kernel___Object_____eqeq))( variable0 /*res*/,  variable1 /*nulstr*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("env "), TAG_Int(4)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("env "), TAG_Int(4)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 =  self;
     variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
     ((string___String___output_t)CALL(variable2,COLOR_kernel___Object___output))(variable2) /*String::output*/;
     ((kernel___Object___output_t)CALL( variable0 /*res*/,COLOR_kernel___Object___output))( variable0 /*res*/) /*Object::output*/;
-    variable2 = NEW_string___String___from_cstring( variable0 /*res*/); /*new String*/
+    variable2 = NEW_String_string___String___from_cstring( variable0 /*res*/); /*new String*/
     variable0 = variable2;
     goto return_label0;
   } else { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable0 = variable2;
     goto return_label0;
   }
index 04f2ba1..1c8198f 100644 (file)
@@ -113,7 +113,7 @@ void exec___Process___execute(val_t  self, val_t  param0, val_t  param1, val_t
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Process].i]) return;
-  variable4 = NEW_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
   variable3 = variable4;
   variable4 =  TAG_Int(1);
   ((string___String___append_t)CALL( variable3 /*args*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*args*/,  variable0 /*command*/) /*String::append*/;
@@ -198,7 +198,7 @@ void exec___IProcess___init(val_t  self, val_t  param0, val_t  param1, int* init
   ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  variable1 /*arguments*/,  TAG_Int(2), init_table /*YYY*/) /*Process::execute*/;
   variable2 = ATTR_exec___Process____data( self) /*Process::_data*/;
   variable2 = ((exec___NativeProcess___out_fd_t)CALL(variable2,COLOR_exec___NativeProcess___out_fd))(variable2) /*NativeProcess::out_fd*/;
-  variable3 = NEW_stream___FDIStream___init(variable2); /*new FDIStream*/
+  variable3 = NEW_FDIStream_stream___FDIStream___init(variable2); /*new FDIStream*/
   variable2 = variable3;
   ATTR_exec___IProcess____in( self) /*IProcess::_in*/ = variable2;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IProcess].i] = 1;
@@ -217,7 +217,7 @@ void exec___IProcess___init_(val_t  self, val_t  param0, int* init_table) {
   ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  NIT_NULL /*null*/,  TAG_Int(2), init_table /*YYY*/) /*Process::execute*/;
   variable1 = ATTR_exec___Process____data( self) /*Process::_data*/;
   variable1 = ((exec___NativeProcess___out_fd_t)CALL(variable1,COLOR_exec___NativeProcess___out_fd))(variable1) /*NativeProcess::out_fd*/;
-  variable2 = NEW_stream___FDIStream___init(variable1); /*new FDIStream*/
+  variable2 = NEW_FDIStream_stream___FDIStream___init(variable1); /*new FDIStream*/
   variable1 = variable2;
   ATTR_exec___IProcess____in( self) /*IProcess::_in*/ = variable1;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IProcess].i] = 1;
@@ -274,7 +274,7 @@ void exec___OProcess___init(val_t  self, val_t  param0, val_t  param1, int* init
   ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  variable1 /*arguments*/,  TAG_Int(1), init_table /*YYY*/) /*Process::execute*/;
   variable2 = ATTR_exec___Process____data( self) /*Process::_data*/;
   variable2 = ((exec___NativeProcess___in_fd_t)CALL(variable2,COLOR_exec___NativeProcess___in_fd))(variable2) /*NativeProcess::in_fd*/;
-  variable3 = NEW_stream___FDOStream___init(variable2); /*new FDOStream*/
+  variable3 = NEW_FDOStream_stream___FDOStream___init(variable2); /*new FDOStream*/
   variable2 = variable3;
   ATTR_exec___OProcess____out( self) /*OProcess::_out*/ = variable2;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OProcess].i] = 1;
@@ -293,7 +293,7 @@ void exec___OProcess___init_(val_t  self, val_t  param0, int* init_table) {
   ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  NIT_NULL /*null*/,  TAG_Int(1), init_table /*YYY*/) /*Process::execute*/;
   variable1 = ATTR_exec___Process____data( self) /*Process::_data*/;
   variable1 = ((exec___NativeProcess___in_fd_t)CALL(variable1,COLOR_exec___NativeProcess___in_fd))(variable1) /*NativeProcess::in_fd*/;
-  variable2 = NEW_stream___FDOStream___init(variable1); /*new FDOStream*/
+  variable2 = NEW_FDOStream_stream___FDOStream___init(variable1); /*new FDOStream*/
   variable1 = variable2;
   ATTR_exec___OProcess____out( self) /*OProcess::_out*/ = variable1;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OProcess].i] = 1;
@@ -330,12 +330,12 @@ void exec___IOProcess___init(val_t  self, val_t  param0, val_t  param1, int* ini
   ((exec___OProcess___init_t)CALL( self,COLOR_exec___OProcess___init))( self,  param0,  param1, init_table /*YYY*/) /*OProcess::init*/;
   variable2 = ATTR_exec___Process____data( self) /*Process::_data*/;
   variable2 = ((exec___NativeProcess___out_fd_t)CALL(variable2,COLOR_exec___NativeProcess___out_fd))(variable2) /*NativeProcess::out_fd*/;
-  variable3 = NEW_stream___FDIStream___init(variable2); /*new FDIStream*/
+  variable3 = NEW_FDIStream_stream___FDIStream___init(variable2); /*new FDIStream*/
   variable2 = variable3;
   ATTR_exec___IProcess____in( self) /*IProcess::_in*/ = variable2;
   variable2 = ATTR_exec___Process____data( self) /*Process::_data*/;
   variable2 = ((exec___NativeProcess___in_fd_t)CALL(variable2,COLOR_exec___NativeProcess___in_fd))(variable2) /*NativeProcess::in_fd*/;
-  variable3 = NEW_stream___FDOStream___init(variable2); /*new FDOStream*/
+  variable3 = NEW_FDOStream_stream___FDOStream___init(variable2); /*new FDOStream*/
   variable2 = variable3;
   ATTR_exec___OProcess____out( self) /*OProcess::_out*/ = variable2;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IOProcess].i] = 1;
@@ -356,12 +356,12 @@ void exec___IOProcess___init_(val_t  self, val_t  param0, int* init_table) {
   ((exec___OProcess___init__t)CALL( self,COLOR_exec___OProcess___init_))( self,  param0, init_table /*YYY*/) /*OProcess::init_*/;
   variable1 = ATTR_exec___Process____data( self) /*Process::_data*/;
   variable1 = ((exec___NativeProcess___out_fd_t)CALL(variable1,COLOR_exec___NativeProcess___out_fd))(variable1) /*NativeProcess::out_fd*/;
-  variable2 = NEW_stream___FDIStream___init(variable1); /*new FDIStream*/
+  variable2 = NEW_FDIStream_stream___FDIStream___init(variable1); /*new FDIStream*/
   variable1 = variable2;
   ATTR_exec___IProcess____in( self) /*IProcess::_in*/ = variable1;
   variable1 = ATTR_exec___Process____data( self) /*Process::_data*/;
   variable1 = ((exec___NativeProcess___in_fd_t)CALL(variable1,COLOR_exec___NativeProcess___in_fd))(variable1) /*NativeProcess::in_fd*/;
-  variable2 = NEW_stream___FDOStream___init(variable1); /*new FDOStream*/
+  variable2 = NEW_FDOStream_stream___FDOStream___init(variable1); /*new FDOStream*/
   variable1 = variable2;
   ATTR_exec___OProcess____out( self) /*OProcess::_out*/ = variable1;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IOProcess].i] = 1;
index 2e92558..f4772a9 100644 (file)
@@ -31,7 +31,7 @@ void file___Object___print(val_t  self, val_t  param0) {
     ((file___OFStream___write_t)CALL(variable1,COLOR_stream___OStream___write))(variable1, variable2) /*OFStream::write*/;
   }
   variable1 = ((file___Object___stdout_t)CALL( self,COLOR_file___Object___stdout))( self) /*Object::stdout*/;
-  variable2 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
   ((file___OFStream___write_t)CALL(variable1,COLOR_stream___OStream___write))(variable1, variable2) /*OFStream::write*/;
   tracehead = trace.prev;
   return;
@@ -62,14 +62,14 @@ val_t file___Object___gets(val_t  self) {
   return variable0;
 }
 val_t file___Object___stdin(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 288, LOCATE_file___Object___stdin};
+  struct trace_t trace = {NULL, NULL, 290, LOCATE_file___Object___stdin};
   val_t variable0;
   static val_t once_value_variable0_5; static int once_bool_variable0_5;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   if (once_bool_variable0_5) variable0 = once_value_variable0_5;
   else {
-    variable0 = NEW_file___Stdin___init(); /*new Stdin*/
+    variable0 = NEW_Stdin_file___Stdin___init(); /*new Stdin*/
     once_value_variable0_5 = variable0;
     once_bool_variable0_5 = true;
   }
@@ -79,14 +79,14 @@ val_t file___Object___stdin(val_t  self) {
   return variable0;
 }
 val_t file___Object___stdout(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 291, LOCATE_file___Object___stdout};
+  struct trace_t trace = {NULL, NULL, 293, LOCATE_file___Object___stdout};
   val_t variable0;
   static val_t once_value_variable0_7; static int once_bool_variable0_7;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   if (once_bool_variable0_7) variable0 = once_value_variable0_7;
   else {
-    variable0 = NEW_file___Stdout___init(); /*new Stdout*/
+    variable0 = NEW_Stdout_file___Stdout___init(); /*new Stdout*/
     once_value_variable0_7 = variable0;
     once_bool_variable0_7 = true;
   }
@@ -96,14 +96,14 @@ val_t file___Object___stdout(val_t  self) {
   return variable0;
 }
 val_t file___Object___stderr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 294, LOCATE_file___Object___stderr};
+  struct trace_t trace = {NULL, NULL, 296, LOCATE_file___Object___stderr};
   val_t variable0;
   static val_t once_value_variable0_9; static int once_bool_variable0_9;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   if (once_bool_variable0_9) variable0 = once_value_variable0_9;
   else {
-    variable0 = NEW_file___Stderr___init(); /*new Stderr*/
+    variable0 = NEW_Stderr_file___Stderr___init(); /*new Stderr*/
     once_value_variable0_9 = variable0;
     once_bool_variable0_9 = true;
   }
@@ -218,8 +218,17 @@ void file___IFStream___open(val_t  self, val_t  param0, int* init_table) {
   tracehead = trace.prev;
   return;
 }
+void file___IFStream___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 112, LOCATE_file___IFStream___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
 void file___IFStream___without_file(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 112, LOCATE_file___IFStream___without_file};
+  struct trace_t trace = {NULL, NULL, 113, LOCATE_file___IFStream___without_file};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i]) return;
@@ -228,7 +237,7 @@ void file___IFStream___without_file(val_t  self, int* init_table) {
   return;
 }
 void file___OFStream___write(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 120, LOCATE_file___OFStream___write};
+  struct trace_t trace = {NULL, NULL, 121, LOCATE_file___OFStream___write};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -236,7 +245,7 @@ void file___OFStream___write(val_t  self, val_t  param0) {
   trace.file = LOCATE_file;
   variable0 =  param0;
   variable1 = ATTR_file___OFStream____writable( self) /*OFStream::_writable*/;
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_file___OFStream___write, LOCATE_file, 123); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_file___OFStream___write, LOCATE_file, 124); nit_exit(1);}
   variable1 = ((string___String___to_cstring_t)CALL( variable0 /*s*/,COLOR_string___String___to_cstring))( variable0 /*s*/) /*String::to_cstring*/;
   variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   ((file___OFStream___write_native_t)CALL( self,COLOR_file___OFStream___write_native))( self, variable1, variable2) /*OFStream::write_native*/;
@@ -244,18 +253,18 @@ void file___OFStream___write(val_t  self, val_t  param0) {
   return;
 }
 val_t file___OFStream___is_writable(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 127, LOCATE_file___OFStream___is_writable};
+  struct trace_t trace = {NULL, NULL, 128, LOCATE_file___OFStream___is_writable};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   variable0 = ATTR_file___OFStream____writable( self) /*OFStream::_writable*/;
-  goto return_label17;
-  return_label17: while(false);
+  goto return_label18;
+  return_label18: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void file___OFStream___close(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 129, LOCATE_file___OFStream___close};
+  struct trace_t trace = {NULL, NULL, 130, LOCATE_file___OFStream___close};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -268,7 +277,7 @@ void file___OFStream___close(val_t  self) {
   return;
 }
 void file___OFStream___write_native(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 138, LOCATE_file___OFStream___write_native};
+  struct trace_t trace = {NULL, NULL, 139, LOCATE_file___OFStream___write_native};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -281,20 +290,20 @@ void file___OFStream___write_native(val_t  self, val_t  param0, val_t  param1) {
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_file___OFStream____writable( self) /*OFStream::_writable*/;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_file___OFStream___write_native, LOCATE_file, 141); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_file___OFStream___write_native, LOCATE_file, 142); nit_exit(1);}
   variable3 = ATTR_file___FStream____file( self) /*FStream::_file*/;
   variable3 = ((file___NativeFile___io_write_t)CALL(variable3,COLOR_file___NativeFile___io_write))(variable3,  variable0 /*native*/,  variable1 /*len*/) /*NativeFile::io_write*/;
   variable2 = variable3;
   variable3 = TAG_Bool(( variable2 /*err*/)!=( variable1 /*len*/));
   if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[E]*/
-    variable4 = NEW_string___String___with_native(BOX_NativeString("Problem in writing : "), TAG_Int(21)); /*new String*/
+    variable3 = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[Object]*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString("Problem in writing : "), TAG_Int(21)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable4) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable2 /*err*/) /*AbstractArray::add*/;
-    variable5 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable5) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable1 /*len*/) /*AbstractArray::add*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable6) /*AbstractArray::add*/;
     ((file___Object___printn_t)CALL( self,COLOR_file___Object___printn))( self, variable3) /*Object::printn*/;
   }
@@ -302,7 +311,7 @@ void file___OFStream___write_native(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 void file___OFStream___open(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 149, LOCATE_file___OFStream___open};
+  struct trace_t trace = {NULL, NULL, 150, LOCATE_file___OFStream___open};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -314,15 +323,24 @@ void file___OFStream___open(val_t  self, val_t  param0, int* init_table) {
   ATTR_file___FStream____file( self) /*FStream::_file*/ = variable1;
   variable1 = ATTR_file___FStream____file( self) /*FStream::_file*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", " 'cant_open_file' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_file___OFStream___open, LOCATE_file, 153); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", " 'cant_open_file' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_file___OFStream___open, LOCATE_file, 154); nit_exit(1);}
   ATTR_file___FStream____path( self) /*FStream::_path*/ =  variable0 /*path*/;
   ATTR_file___OFStream____writable( self) /*OFStream::_writable*/ =  TAG_Bool(true);
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i] = 1;
   tracehead = trace.prev;
   return;
 }
+void file___OFStream___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 159, LOCATE_file___OFStream___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
 void file___OFStream___without_file(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 158, LOCATE_file___OFStream___without_file};
+  struct trace_t trace = {NULL, NULL, 160, LOCATE_file___OFStream___without_file};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i]) return;
@@ -331,15 +349,15 @@ void file___OFStream___without_file(val_t  self, int* init_table) {
   return;
 }
 void file___Stdin___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 165, LOCATE_file___Stdin___init};
+  struct trace_t trace = {NULL, NULL, 167, LOCATE_file___Stdin___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stdin].i]) return;
-  ((file___IFStream___without_file_t)CALL( self,COLOR_file___IFStream___without_file))( self, init_table /*YYY*/) /*IFStream::without_file*/;
+  ((file___IFStream___init_t)CALL( self,COLOR_file___IFStream___init))( self, init_table /*YYY*/) /*IFStream::init*/;
   variable0 = ((file___NativeFileCapable___native_stdin_t)CALL( self,COLOR_file___NativeFileCapable___native_stdin))( self) /*NativeFileCapable::native_stdin*/;
   ATTR_file___FStream____file( self) /*FStream::_file*/ = variable0;
-  variable0 = NEW_string___String___with_native(BOX_NativeString("/dev/stdin"), TAG_Int(10)); /*new String*/
+  variable0 = NEW_String_string___String___with_native(BOX_NativeString("/dev/stdin"), TAG_Int(10)); /*new String*/
   ATTR_file___FStream____path( self) /*FStream::_path*/ = variable0;
   ((stream___BufferedIStream___prepare_buffer_t)CALL( self,COLOR_stream___BufferedIStream___prepare_buffer))( self,  TAG_Int(1)) /*BufferedIStream::prepare_buffer*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stdin].i] = 1;
@@ -347,15 +365,15 @@ void file___Stdin___init(val_t  self, int* init_table) {
   return;
 }
 void file___Stdout___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 174, LOCATE_file___Stdout___init};
+  struct trace_t trace = {NULL, NULL, 176, LOCATE_file___Stdout___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stdout].i]) return;
-  ((file___OFStream___without_file_t)CALL( self,COLOR_file___OFStream___without_file))( self, init_table /*YYY*/) /*OFStream::without_file*/;
+  ((file___OFStream___init_t)CALL( self,COLOR_file___OFStream___init))( self, init_table /*YYY*/) /*OFStream::init*/;
   variable0 = ((file___NativeFileCapable___native_stdout_t)CALL( self,COLOR_file___NativeFileCapable___native_stdout))( self) /*NativeFileCapable::native_stdout*/;
   ATTR_file___FStream____file( self) /*FStream::_file*/ = variable0;
-  variable0 = NEW_string___String___with_native(BOX_NativeString("/dev/stdout"), TAG_Int(11)); /*new String*/
+  variable0 = NEW_String_string___String___with_native(BOX_NativeString("/dev/stdout"), TAG_Int(11)); /*new String*/
   ATTR_file___FStream____path( self) /*FStream::_path*/ = variable0;
   ATTR_file___OFStream____writable( self) /*OFStream::_writable*/ =  TAG_Bool(true);
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stdout].i] = 1;
@@ -363,15 +381,15 @@ void file___Stdout___init(val_t  self, int* init_table) {
   return;
 }
 void file___Stderr___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 183, LOCATE_file___Stderr___init};
+  struct trace_t trace = {NULL, NULL, 185, LOCATE_file___Stderr___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stderr].i]) return;
-  ((file___OFStream___without_file_t)CALL( self,COLOR_file___OFStream___without_file))( self, init_table /*YYY*/) /*OFStream::without_file*/;
+  ((file___OFStream___init_t)CALL( self,COLOR_file___OFStream___init))( self, init_table /*YYY*/) /*OFStream::init*/;
   variable0 = ((file___NativeFileCapable___native_stderr_t)CALL( self,COLOR_file___NativeFileCapable___native_stderr))( self) /*NativeFileCapable::native_stderr*/;
   ATTR_file___FStream____file( self) /*FStream::_file*/ = variable0;
-  variable0 = NEW_string___String___with_native(BOX_NativeString("/dev/stderr"), TAG_Int(11)); /*new String*/
+  variable0 = NEW_String_string___String___with_native(BOX_NativeString("/dev/stderr"), TAG_Int(11)); /*new String*/
   ATTR_file___FStream____path( self) /*FStream::_path*/ = variable0;
   ATTR_file___OFStream____writable( self) /*OFStream::_writable*/ =  TAG_Bool(true);
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stderr].i] = 1;
@@ -379,31 +397,31 @@ void file___Stderr___init(val_t  self, int* init_table) {
   return;
 }
 val_t file___String___file_exists(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 193, LOCATE_file___String___file_exists};
+  struct trace_t trace = {NULL, NULL, 195, LOCATE_file___String___file_exists};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   variable0 = ((string___String___to_cstring_t)CALL( self,COLOR_string___String___to_cstring))( self) /*String::to_cstring*/;
   variable0 = ((file___NativeString___file_exists_t)CALL(variable0,COLOR_file___NativeString___file_exists))(variable0) /*NativeString::file_exists*/;
-  goto return_label25;
-  return_label25: while(false);
+  goto return_label27;
+  return_label27: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t file___String___file_stat(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 196, LOCATE_file___String___file_stat};
+  struct trace_t trace = {NULL, NULL, 198, LOCATE_file___String___file_stat};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   variable0 = ((string___String___to_cstring_t)CALL( self,COLOR_string___String___to_cstring))( self) /*String::to_cstring*/;
   variable0 = ((file___NativeString___file_stat_t)CALL(variable0,COLOR_file___NativeString___file_stat))(variable0) /*NativeString::file_stat*/;
-  goto return_label26;
-  return_label26: while(false);
+  goto return_label28;
+  return_label28: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t file___String___strip_extension(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 198, LOCATE_file___String___strip_extension};
+  struct trace_t trace = {NULL, NULL, 200, LOCATE_file___String___strip_extension};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -416,16 +434,16 @@ val_t file___String___strip_extension(val_t  self, val_t  param0) {
     variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*ext*/,COLOR_abstract_collection___Collection___length))( variable0 /*ext*/) /*AbstractArray::length*/;
     variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int(variable2));
     variable1 = ((string___String___substring_t)CALL( self,COLOR_string___String___substring))( self,  TAG_Int(0), variable1) /*String::substring*/;
-    goto return_label27;
+    goto return_label29;
   }
   variable1 =  self;
-  goto return_label27;
-  return_label27: while(false);
+  goto return_label29;
+  return_label29: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t file___String___basename(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 206, LOCATE_file___String___basename};
+  struct trace_t trace = {NULL, NULL, 208, LOCATE_file___String___basename};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -446,13 +464,13 @@ val_t file___String___basename(val_t  self, val_t  param0) {
   }
   variable3 = ((file___String___strip_extension_t)CALL( variable2 /*n*/,COLOR_file___String___strip_extension))( variable2 /*n*/,  variable0 /*ext*/) /*String::strip_extension*/;
   variable1 = variable3;
-  goto return_label28;
-  return_label28: while(false);
+  goto return_label30;
+  return_label30: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t file___String___dirname(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 216, LOCATE_file___String___dirname};
+  struct trace_t trace = {NULL, NULL, 218, LOCATE_file___String___dirname};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -465,18 +483,18 @@ val_t file___String___dirname(val_t  self) {
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ((string___String___substring_t)CALL( self,COLOR_string___String___substring))( self,  TAG_Int(0),  variable0 /*pos*/) /*String::substring*/;
     variable0 = variable1;
-    goto return_label29;
+    goto return_label31;
   } else { /*if*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
     variable0 = variable1;
-    goto return_label29;
+    goto return_label31;
   }
-  return_label29: while(false);
+  return_label31: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t file___String___file_path(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 226, LOCATE_file___String___file_path};
+  struct trace_t trace = {NULL, NULL, 228, LOCATE_file___String___file_path};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -491,17 +509,17 @@ val_t file___String___file_path(val_t  self) {
   if (UNTAG_Bool(variable2)) { /*if*/
     variable2 = ((string___String___substring_t)CALL( self,COLOR_string___String___substring))( self,  TAG_Int(0),  variable1 /*pos*/) /*String::substring*/;
     variable0 = variable2;
-    goto return_label30;
+    goto return_label32;
   }
-  variable2 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
   variable0 = variable2;
-  goto return_label30;
-  return_label30: while(false);
+  goto return_label32;
+  return_label32: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void file___String___mkdir(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 236, LOCATE_file___String___mkdir};
+  struct trace_t trace = {NULL, NULL, 238, LOCATE_file___String___mkdir};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -509,14 +527,14 @@ void file___String___mkdir(val_t  self) {
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable1 = ((string_search___String___split_with_t)CALL( self,COLOR_string_search___String___split_with))( self, variable1) /*String::split_with*/;
   variable0 = variable1;
-  variable2 = NEW_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
   variable1 = variable2;
   variable2 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*dirs*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*dirs*/) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool(variable2)) { /*if*/
-    goto return_label31;
+    goto return_label33;
   }
   variable2 =  TAG_Int(0);
   variable3 = TAG_Bool(UNTAG_Int( variable2 /*index*/)>=UNTAG_Int( TAG_Int(0)));
@@ -529,8 +547,8 @@ void file___String___mkdir(val_t  self) {
   if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_file, 229); nit_exit(1);}
   variable3 = ATTR_array___Array____items( variable0 /*dirs*/) /*Array::_items*/;
   variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
-  goto return_label32;
-  return_label32: while(false);
+  goto return_label34;
+  return_label34: while(false);
   variable2 = variable3;
   variable2 = ((array___AbstractArray___is_empty_t)CALL(variable2,COLOR_abstract_collection___Collection___is_empty))(variable2) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -543,134 +561,134 @@ void file___String___mkdir(val_t  self) {
     variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
     variable4 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*d*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*d*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable4)) { /*if*/
-      goto continue_33;
+      goto continue_35;
     }
     ((string___String___append_t)CALL( variable1 /*path*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*path*/,  variable3 /*d*/) /*String::append*/;
     ((string___String___add_t)CALL( variable1 /*path*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*path*/,  TAG_Char('/')) /*String::add*/;
     variable4 = ((string___String___to_cstring_t)CALL( variable1 /*path*/,COLOR_string___String___to_cstring))( variable1 /*path*/) /*String::to_cstring*/;
     ((file___NativeString___file_mkdir_t)CALL(variable4,COLOR_file___NativeString___file_mkdir))(variable4) /*NativeString::file_mkdir*/;
-    continue_33: while(0);
+    continue_35: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
-  break_33: while(0);
-  return_label31: while(false);
+  break_35: while(0);
+  return_label33: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t file___NativeString___file_exists(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 256, LOCATE_file___NativeString___file_exists};
+  struct trace_t trace = {NULL, NULL, 258, LOCATE_file___NativeString___file_exists};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Bool(string_NativeString_NativeString_file_exists_0(UNBOX_NativeString( self)));
 }
 val_t file___NativeString___file_stat(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 257, LOCATE_file___NativeString___file_stat};
+  struct trace_t trace = {NULL, NULL, 259, LOCATE_file___NativeString___file_stat};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_FileStat(string_NativeString_NativeString_file_stat_0(UNBOX_NativeString( self)));
 }
 val_t file___NativeString___file_mkdir(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 258, LOCATE_file___NativeString___file_mkdir};
+  struct trace_t trace = {NULL, NULL, 260, LOCATE_file___NativeString___file_mkdir};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Bool(string_NativeString_NativeString_file_mkdir_0(UNBOX_NativeString( self)));
 }
 val_t file___FileStat___mode(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 263, LOCATE_file___FileStat___mode};
+  struct trace_t trace = {NULL, NULL, 265, LOCATE_file___FileStat___mode};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_FileStat_FileStat_mode_0(UNBOX_FileStat( self)));
 }
 val_t file___FileStat___atime(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 265, LOCATE_file___FileStat___atime};
+  struct trace_t trace = {NULL, NULL, 267, LOCATE_file___FileStat___atime};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_FileStat_FileStat_atime_0(UNBOX_FileStat( self)));
 }
 val_t file___FileStat___ctime(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 266, LOCATE_file___FileStat___ctime};
+  struct trace_t trace = {NULL, NULL, 268, LOCATE_file___FileStat___ctime};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_FileStat_FileStat_ctime_0(UNBOX_FileStat( self)));
 }
 val_t file___FileStat___mtime(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 267, LOCATE_file___FileStat___mtime};
+  struct trace_t trace = {NULL, NULL, 269, LOCATE_file___FileStat___mtime};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_FileStat_FileStat_mtime_0(UNBOX_FileStat( self)));
 }
 val_t file___FileStat___size(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 268, LOCATE_file___FileStat___size};
+  struct trace_t trace = {NULL, NULL, 270, LOCATE_file___FileStat___size};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_FileStat_FileStat_size_0(UNBOX_FileStat( self)));
 }
 val_t file___NativeFile___io_read(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 274, LOCATE_file___NativeFile___io_read};
+  struct trace_t trace = {NULL, NULL, 276, LOCATE_file___NativeFile___io_read};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_NativeFile_NativeFile_io_read_2(UNBOX_NativeFile( self), UNBOX_NativeString( param0), UNTAG_Int( param1)));
 }
 val_t file___NativeFile___io_write(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 275, LOCATE_file___NativeFile___io_write};
+  struct trace_t trace = {NULL, NULL, 277, LOCATE_file___NativeFile___io_write};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_NativeFile_NativeFile_io_write_2(UNBOX_NativeFile( self), UNBOX_NativeString( param0), UNTAG_Int( param1)));
 }
 val_t file___NativeFile___io_close(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 276, LOCATE_file___NativeFile___io_close};
+  struct trace_t trace = {NULL, NULL, 278, LOCATE_file___NativeFile___io_close};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_NativeFile_NativeFile_io_close_0(UNBOX_NativeFile( self)));
 }
 val_t file___NativeFile___file_stat(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 277, LOCATE_file___NativeFile___file_stat};
+  struct trace_t trace = {NULL, NULL, 279, LOCATE_file___NativeFile___file_stat};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_FileStat(file_NativeFile_NativeFile_file_stat_0(UNBOX_NativeFile( self)));
 }
 val_t file___NativeFileCapable___io_open_read(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 281, LOCATE_file___NativeFileCapable___io_open_read};
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_file___NativeFileCapable___io_open_read};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_io_open_read_1( self, UNBOX_NativeString( param0)));
 }
 val_t file___NativeFileCapable___io_open_write(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 282, LOCATE_file___NativeFileCapable___io_open_write};
+  struct trace_t trace = {NULL, NULL, 284, LOCATE_file___NativeFileCapable___io_open_write};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_io_open_write_1( self, UNBOX_NativeString( param0)));
 }
 val_t file___NativeFileCapable___native_stdin(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 283, LOCATE_file___NativeFileCapable___native_stdin};
+  struct trace_t trace = {NULL, NULL, 285, LOCATE_file___NativeFileCapable___native_stdin};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stdin_0( self));
 }
 val_t file___NativeFileCapable___native_stdout(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 284, LOCATE_file___NativeFileCapable___native_stdout};
+  struct trace_t trace = {NULL, NULL, 286, LOCATE_file___NativeFileCapable___native_stdout};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stdout_0( self));
 }
 val_t file___NativeFileCapable___native_stderr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 285, LOCATE_file___NativeFileCapable___native_stderr};
+  struct trace_t trace = {NULL, NULL, 287, LOCATE_file___NativeFileCapable___native_stderr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_file;
   tracehead = trace.prev;
index 695179f..48e822a 100644 (file)
@@ -51,59 +51,61 @@ extern const int SFT_file[];
 #define INIT_TABLE_POS_IFStream SFT_file[17]
 #define COLOR_file___IFStream___reopen SFT_file[18]
 #define COLOR_file___IFStream___open SFT_file[19]
-#define COLOR_file___IFStream___without_file SFT_file[20]
-#define ID_OFStream SFT_file[21]
-#define COLOR_OFStream SFT_file[22]
-#define COLOR_file___OFStream____writable SFT_file[23]
-#define INIT_TABLE_POS_OFStream SFT_file[24]
-#define COLOR_file___OFStream___write_native SFT_file[25]
-#define COLOR_file___OFStream___open SFT_file[26]
-#define COLOR_file___OFStream___without_file SFT_file[27]
-#define ID_Stdin SFT_file[28]
-#define COLOR_Stdin SFT_file[29]
-#define INIT_TABLE_POS_Stdin SFT_file[30]
-#define COLOR_file___Stdin___init SFT_file[31]
-#define ID_Stdout SFT_file[32]
-#define COLOR_Stdout SFT_file[33]
-#define INIT_TABLE_POS_Stdout SFT_file[34]
-#define COLOR_file___Stdout___init SFT_file[35]
-#define ID_Stderr SFT_file[36]
-#define COLOR_Stderr SFT_file[37]
-#define INIT_TABLE_POS_Stderr SFT_file[38]
-#define COLOR_file___Stderr___init SFT_file[39]
-#define COLOR_file___String___file_exists SFT_file[40]
-#define COLOR_file___String___file_stat SFT_file[41]
-#define COLOR_file___String___strip_extension SFT_file[42]
-#define COLOR_file___String___basename SFT_file[43]
-#define COLOR_file___String___dirname SFT_file[44]
-#define COLOR_file___String___file_path SFT_file[45]
-#define COLOR_file___String___mkdir SFT_file[46]
-#define COLOR_file___NativeString___file_exists SFT_file[47]
-#define COLOR_file___NativeString___file_stat SFT_file[48]
-#define COLOR_file___NativeString___file_mkdir SFT_file[49]
-#define ID_FileStat SFT_file[50]
-#define COLOR_FileStat SFT_file[51]
-#define INIT_TABLE_POS_FileStat SFT_file[52]
-#define COLOR_file___FileStat___mode SFT_file[53]
-#define COLOR_file___FileStat___atime SFT_file[54]
-#define COLOR_file___FileStat___ctime SFT_file[55]
-#define COLOR_file___FileStat___mtime SFT_file[56]
-#define COLOR_file___FileStat___size SFT_file[57]
-#define ID_NativeFile SFT_file[58]
-#define COLOR_NativeFile SFT_file[59]
-#define INIT_TABLE_POS_NativeFile SFT_file[60]
-#define COLOR_file___NativeFile___io_read SFT_file[61]
-#define COLOR_file___NativeFile___io_write SFT_file[62]
-#define COLOR_file___NativeFile___io_close SFT_file[63]
-#define COLOR_file___NativeFile___file_stat SFT_file[64]
-#define ID_NativeFileCapable SFT_file[65]
-#define COLOR_NativeFileCapable SFT_file[66]
-#define INIT_TABLE_POS_NativeFileCapable SFT_file[67]
-#define COLOR_file___NativeFileCapable___io_open_read SFT_file[68]
-#define COLOR_file___NativeFileCapable___io_open_write SFT_file[69]
-#define COLOR_file___NativeFileCapable___native_stdin SFT_file[70]
-#define COLOR_file___NativeFileCapable___native_stdout SFT_file[71]
-#define COLOR_file___NativeFileCapable___native_stderr SFT_file[72]
+#define COLOR_file___IFStream___init SFT_file[20]
+#define COLOR_file___IFStream___without_file SFT_file[21]
+#define ID_OFStream SFT_file[22]
+#define COLOR_OFStream SFT_file[23]
+#define COLOR_file___OFStream____writable SFT_file[24]
+#define INIT_TABLE_POS_OFStream SFT_file[25]
+#define COLOR_file___OFStream___write_native SFT_file[26]
+#define COLOR_file___OFStream___open SFT_file[27]
+#define COLOR_file___OFStream___init SFT_file[28]
+#define COLOR_file___OFStream___without_file SFT_file[29]
+#define ID_Stdin SFT_file[30]
+#define COLOR_Stdin SFT_file[31]
+#define INIT_TABLE_POS_Stdin SFT_file[32]
+#define COLOR_file___Stdin___init SFT_file[33]
+#define ID_Stdout SFT_file[34]
+#define COLOR_Stdout SFT_file[35]
+#define INIT_TABLE_POS_Stdout SFT_file[36]
+#define COLOR_file___Stdout___init SFT_file[37]
+#define ID_Stderr SFT_file[38]
+#define COLOR_Stderr SFT_file[39]
+#define INIT_TABLE_POS_Stderr SFT_file[40]
+#define COLOR_file___Stderr___init SFT_file[41]
+#define COLOR_file___String___file_exists SFT_file[42]
+#define COLOR_file___String___file_stat SFT_file[43]
+#define COLOR_file___String___strip_extension SFT_file[44]
+#define COLOR_file___String___basename SFT_file[45]
+#define COLOR_file___String___dirname SFT_file[46]
+#define COLOR_file___String___file_path SFT_file[47]
+#define COLOR_file___String___mkdir SFT_file[48]
+#define COLOR_file___NativeString___file_exists SFT_file[49]
+#define COLOR_file___NativeString___file_stat SFT_file[50]
+#define COLOR_file___NativeString___file_mkdir SFT_file[51]
+#define ID_FileStat SFT_file[52]
+#define COLOR_FileStat SFT_file[53]
+#define INIT_TABLE_POS_FileStat SFT_file[54]
+#define COLOR_file___FileStat___mode SFT_file[55]
+#define COLOR_file___FileStat___atime SFT_file[56]
+#define COLOR_file___FileStat___ctime SFT_file[57]
+#define COLOR_file___FileStat___mtime SFT_file[58]
+#define COLOR_file___FileStat___size SFT_file[59]
+#define ID_NativeFile SFT_file[60]
+#define COLOR_NativeFile SFT_file[61]
+#define INIT_TABLE_POS_NativeFile SFT_file[62]
+#define COLOR_file___NativeFile___io_read SFT_file[63]
+#define COLOR_file___NativeFile___io_write SFT_file[64]
+#define COLOR_file___NativeFile___io_close SFT_file[65]
+#define COLOR_file___NativeFile___file_stat SFT_file[66]
+#define ID_NativeFileCapable SFT_file[67]
+#define COLOR_NativeFileCapable SFT_file[68]
+#define INIT_TABLE_POS_NativeFileCapable SFT_file[69]
+#define COLOR_file___NativeFileCapable___io_open_read SFT_file[70]
+#define COLOR_file___NativeFileCapable___io_open_write SFT_file[71]
+#define COLOR_file___NativeFileCapable___native_stdin SFT_file[72]
+#define COLOR_file___NativeFileCapable___native_stdout SFT_file[73]
+#define COLOR_file___NativeFileCapable___native_stderr SFT_file[74]
 typedef void (* file___Object___printn_t)(val_t  self, val_t  param0);
 void file___Object___printn(val_t  self, val_t  param0);
 #define LOCATE_file___Object___printn "file::Object::printn"
@@ -150,6 +152,10 @@ typedef void (* file___IFStream___open_t)(val_t  self, val_t  param0, int* init_
 void file___IFStream___open(val_t  self, val_t  param0, int* init_table);
 val_t NEW_file___IFStream___open(val_t  param0);
 #define LOCATE_file___IFStream___open "file::IFStream::open"
+typedef void (* file___IFStream___init_t)(val_t  self, int* init_table);
+void file___IFStream___init(val_t  self, int* init_table);
+val_t NEW_file___IFStream___init();
+#define LOCATE_file___IFStream___init "file::IFStream::init"
 typedef void (* file___IFStream___without_file_t)(val_t  self, int* init_table);
 void file___IFStream___without_file(val_t  self, int* init_table);
 val_t NEW_file___IFStream___without_file();
@@ -171,6 +177,10 @@ typedef void (* file___OFStream___open_t)(val_t  self, val_t  param0, int* init_
 void file___OFStream___open(val_t  self, val_t  param0, int* init_table);
 val_t NEW_file___OFStream___open(val_t  param0);
 #define LOCATE_file___OFStream___open "file::OFStream::open"
+typedef void (* file___OFStream___init_t)(val_t  self, int* init_table);
+void file___OFStream___init(val_t  self, int* init_table);
+val_t NEW_file___OFStream___init();
+#define LOCATE_file___OFStream___init "file::OFStream::init"
 typedef void (* file___OFStream___without_file_t)(val_t  self, int* init_table);
 void file___OFStream___without_file(val_t  self, int* init_table);
 val_t NEW_file___OFStream___without_file();
index b15b19b..8286b72 100644 (file)
@@ -77,7 +77,7 @@ val_t genericity___MMLocalClass___get_instantiate_type(val_t  self, val_t  param
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
   break_4: while(0);
-  variable2 = NEW_genericity___MMTypeGeneric___init( self,  variable0 /*t*/); /*new MMTypeGeneric*/
+  variable2 = NEW_MMTypeGeneric_genericity___MMTypeGeneric___init( self,  variable0 /*t*/); /*new MMTypeGeneric*/
   variable1 = variable2;
   variable2 = ATTR_genericity___MMLocalClass____types( self) /*MMLocalClass::_types*/;
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable1 /*g*/) /*AbstractArray::add*/;
@@ -105,7 +105,7 @@ val_t genericity___MMLocalClass___formals_types(val_t  self) {
     variable0 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_MMConcreteClass, ID_MMConcreteClass)) /*cast MMConcreteClass*/;
     if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_genericity___MMLocalClass___formals_types, LOCATE_genericity, 62); nit_exit(1);}
     variable0 = ((abstractmetamodel___MMLocalClass___arity_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___arity))( self) /*MMLocalClass::arity*/;
-    variable1 = NEW_range___Range___without_last( TAG_Int(0), variable0); /*new Range[E]*/
+    variable1 = NEW_Range_range___Range___without_last( TAG_Int(0), variable0); /*new Range[Int]*/
     variable0 = variable1;
     variable0 = ((range___Range___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*Range::iterator*/;
     while (true) { /*for*/
@@ -117,7 +117,7 @@ val_t genericity___MMLocalClass___formals_types(val_t  self) {
       variable3 = ((genericity___MMLocalClass___get_formal_t)CALL(variable3,COLOR_genericity___MMLocalClass___get_formal))(variable3,  variable1 /*i*/) /*MMLocalClass::get_formal*/;
       variable2 = variable3;
       variable4 = ((type_formal___MMTypeFormal___name_t)CALL( variable2 /*oft*/,COLOR_type_formal___MMTypeFormal___name))( variable2 /*oft*/) /*MMTypeFormal::name*/;
-      variable5 = NEW_genericity___MMTypeFormalParameter___init(variable4,  variable1 /*i*/,  self); /*new MMTypeFormalParameter*/
+      variable5 = NEW_MMTypeFormalParameter_genericity___MMTypeFormalParameter___init(variable4,  variable1 /*i*/,  self); /*new MMTypeFormalParameter*/
       variable4 = variable5;
       variable3 = variable4;
       ((genericity___MMLocalClass___register_formal_t)CALL( self,COLOR_genericity___MMLocalClass___register_formal))( self,  variable3 /*ft*/) /*MMLocalClass::register_formal*/;
@@ -126,7 +126,7 @@ val_t genericity___MMLocalClass___formals_types(val_t  self) {
     }
     break_6: while(0);
     variable0 = ((abstractmetamodel___MMLocalClass___arity_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___arity))( self) /*MMLocalClass::arity*/;
-    variable1 = NEW_range___Range___without_last( TAG_Int(0), variable0); /*new Range[E]*/
+    variable1 = NEW_Range_range___Range___without_last( TAG_Int(0), variable0); /*new Range[Int]*/
     variable0 = variable1;
     variable0 = ((range___Range___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*Range::iterator*/;
     while (true) { /*for*/
@@ -325,7 +325,7 @@ val_t genericity___MMTypeGeneric___for_module(val_t  self, val_t  param0) {
   variable2 = ((static_type___MMTypeClass___module_t)CALL( self,COLOR_static_type___MMType___module))( self) /*MMTypeClass::module*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  variable0 /*mod*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*mod*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*mod*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable3 = NEW_array___Array___init(); /*new Array[E]*/
+    variable3 = NEW_Array_array___Array___init(); /*new Array[MMType]*/
     variable2 = variable3;
     variable3 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
     variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*AbstractArray::iterator*/;
@@ -363,7 +363,7 @@ val_t genericity___MMTypeGeneric___adapt_to(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_genericity;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMType]*/
   variable1 = variable2;
   variable2 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
   variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*AbstractArray::iterator*/;
@@ -407,7 +407,7 @@ val_t genericity___MMTypeGeneric___params_equals(val_t  self, val_t  param0) {
     goto return_label20;
   }
   variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*t*/,COLOR_abstract_collection___Collection___length))( variable0 /*t*/) /*AbstractArray::length*/;
-  variable2 = NEW_range___Range___without_last( TAG_Int(0), variable1); /*new Range[E]*/
+  variable2 = NEW_Range_range___Range___without_last( TAG_Int(0), variable1); /*new Range[Int]*/
   variable1 = variable2;
   variable1 = ((range___Range___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Range::iterator*/;
   while (true) { /*for*/
@@ -510,22 +510,22 @@ val_t genericity___MMTypeGeneric___to_s(val_t  self) {
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_genericity;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = ((genericity___MMTypeGeneric___to_s_t)CALL( self,COLOR_SUPER_genericity___MMTypeGeneric___to_s))( self) /*super MMTypeGeneric::to_s*/;
   variable4 = variable3;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   variable7 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable7 = ((string___Collection___join_t)CALL(variable7,COLOR_string___Collection___join))(variable7, variable8) /*Collection::join*/;
   variable8 = variable7;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable10) /*String::append*/;
   goto return_label26;
@@ -548,7 +548,7 @@ val_t genericity___MMTypeGeneric___is_subtype(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
   variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
-  variable2 = NEW_range___Range___without_last( TAG_Int(0), variable1); /*new Range[E]*/
+  variable2 = NEW_Range_range___Range___without_last( TAG_Int(0), variable1); /*new Range[Int]*/
   variable1 = variable2;
   variable1 = ((range___Range___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Range::iterator*/;
   while (true) { /*for*/
index 88adbd7..306595f 100644 (file)
@@ -388,6 +388,13 @@ void hash___HashCollection___enlarge(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
+void hash___HashCollection___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_hash___HashCollection___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
+  tracehead = trace.prev;
+  return;
+}
 val_t hash___HashNode___key(val_t  self) {
   struct trace_t trace = {NULL, NULL, 222, LOCATE_hash___HashNode___key};
   trace.prev = tracehead; tracehead = &trace;
@@ -428,12 +435,19 @@ void hash___HashNode___prev_item__eq(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
+void hash___HashNode___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_hash___HashNode___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
+  tracehead = trace.prev;
+  return;
+}
 val_t hash___HashMap___iterator(val_t  self) {
   struct trace_t trace = {NULL, NULL, 232, LOCATE_hash___HashMap___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_hash;
-  variable0 = NEW_hash___HashMapIterator___init( self); /*new HashMapIterator[K, V]*/
+  variable0 = NEW_HashMapIterator_hash___HashMapIterator___init( self); /*new HashMapIterator[K, V]*/
   goto return_label16;
   return_label16: while(false);
   tracehead = trace.prev;
@@ -607,7 +621,7 @@ void hash___HashMap_____braeq(val_t  self, val_t  param0, val_t  param1) {
     ((abstract_collection___Couple___first__eq_t)CALL( variable3 /*c*/,COLOR_abstract_collection___Couple___first__eq))( variable3 /*c*/,  variable0 /*key*/) /*Couple::first=*/;
     ((abstract_collection___Couple___second__eq_t)CALL( variable3 /*c*/,COLOR_abstract_collection___Couple___second__eq))( variable3 /*c*/,  variable1 /*v*/) /*Couple::second=*/;
   } else { /*if*/
-    variable4 = NEW_hash___HashMapNode___init( variable0 /*key*/,  variable1 /*v*/); /*new HashMapNode[K, V]*/
+    variable4 = NEW_HashMapNode_hash___HashMapNode___init( variable0 /*key*/,  variable1 /*v*/); /*new HashMapNode[K, V]*/
     ((hash___HashCollection___store_t)CALL( self,COLOR_hash___HashCollection___store))( self,  variable2 /*i*/, variable4) /*HashCollection::store*/;
   }
   tracehead = trace.prev;
@@ -868,7 +882,7 @@ void hash___HashSet___add(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable3)) { /*if*/
     ((hash___HashSetNode___key__eq_t)CALL( variable2 /*c*/,COLOR_hash___HashSetNode___key__eq))( variable2 /*c*/,  variable0 /*item*/) /*HashSetNode::key=*/;
   } else { /*if*/
-    variable3 = NEW_hash___HashSetNode___init( variable0 /*item*/); /*new HashSetNode[E]*/
+    variable3 = NEW_HashSetNode_hash___HashSetNode___init( variable0 /*item*/); /*new HashSetNode[E]*/
     ((hash___HashCollection___store_t)CALL( self,COLOR_hash___HashCollection___store))( self,  variable1 /*i*/, variable3) /*HashCollection::store*/;
   }
   tracehead = trace.prev;
@@ -899,7 +913,7 @@ val_t hash___HashSet___iterator(val_t  self) {
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_hash;
-  variable0 = NEW_hash___HashSetIterator___init( self); /*new HashSetIterator[E]*/
+  variable0 = NEW_HashSetIterator_hash___HashSetIterator___init( self); /*new HashSetIterator[E]*/
   goto return_label46;
   return_label46: while(false);
   tracehead = trace.prev;
index 48736c0..37c5301 100644 (file)
@@ -38,46 +38,48 @@ extern const int SFT_hash[];
 #define COLOR_hash___HashCollection___remove_index SFT_hash[14]
 #define COLOR_hash___HashCollection___raz SFT_hash[15]
 #define COLOR_hash___HashCollection___enlarge SFT_hash[16]
-#define ID_HashNode SFT_hash[17]
-#define COLOR_HashNode SFT_hash[18]
-#define COLOR_hash___HashNode____next_item SFT_hash[19]
-#define COLOR_hash___HashNode____prev_item SFT_hash[20]
-#define INIT_TABLE_POS_HashNode SFT_hash[21]
-#define COLOR_hash___HashNode___key SFT_hash[22]
-#define COLOR_hash___HashNode___next_item SFT_hash[23]
-#define COLOR_hash___HashNode___next_item__eq SFT_hash[24]
-#define COLOR_hash___HashNode___prev_item SFT_hash[25]
-#define COLOR_hash___HashNode___prev_item__eq SFT_hash[26]
-#define ID_HashMap SFT_hash[27]
-#define COLOR_HashMap SFT_hash[28]
-#define INIT_TABLE_POS_HashMap SFT_hash[29]
-#define COLOR_hash___HashMap___init SFT_hash[30]
-#define ID_HashMapNode SFT_hash[31]
-#define COLOR_HashMapNode SFT_hash[32]
-#define INIT_TABLE_POS_HashMapNode SFT_hash[33]
-#define COLOR_hash___HashMapNode___init SFT_hash[34]
-#define ID_HashMapIterator SFT_hash[35]
-#define COLOR_HashMapIterator SFT_hash[36]
-#define COLOR_hash___HashMapIterator____map SFT_hash[37]
-#define COLOR_hash___HashMapIterator____node SFT_hash[38]
-#define INIT_TABLE_POS_HashMapIterator SFT_hash[39]
-#define COLOR_hash___HashMapIterator___init SFT_hash[40]
-#define ID_HashSet SFT_hash[41]
-#define COLOR_HashSet SFT_hash[42]
-#define INIT_TABLE_POS_HashSet SFT_hash[43]
-#define COLOR_hash___HashSet___init SFT_hash[44]
-#define ID_HashSetNode SFT_hash[45]
-#define COLOR_HashSetNode SFT_hash[46]
-#define COLOR_hash___HashSetNode____key SFT_hash[47]
-#define INIT_TABLE_POS_HashSetNode SFT_hash[48]
-#define COLOR_hash___HashSetNode___key__eq SFT_hash[49]
-#define COLOR_hash___HashSetNode___init SFT_hash[50]
-#define ID_HashSetIterator SFT_hash[51]
-#define COLOR_HashSetIterator SFT_hash[52]
-#define COLOR_hash___HashSetIterator____set SFT_hash[53]
-#define COLOR_hash___HashSetIterator____node SFT_hash[54]
-#define INIT_TABLE_POS_HashSetIterator SFT_hash[55]
-#define COLOR_hash___HashSetIterator___init SFT_hash[56]
+#define COLOR_hash___HashCollection___init SFT_hash[17]
+#define ID_HashNode SFT_hash[18]
+#define COLOR_HashNode SFT_hash[19]
+#define COLOR_hash___HashNode____next_item SFT_hash[20]
+#define COLOR_hash___HashNode____prev_item SFT_hash[21]
+#define INIT_TABLE_POS_HashNode SFT_hash[22]
+#define COLOR_hash___HashNode___key SFT_hash[23]
+#define COLOR_hash___HashNode___next_item SFT_hash[24]
+#define COLOR_hash___HashNode___next_item__eq SFT_hash[25]
+#define COLOR_hash___HashNode___prev_item SFT_hash[26]
+#define COLOR_hash___HashNode___prev_item__eq SFT_hash[27]
+#define COLOR_hash___HashNode___init SFT_hash[28]
+#define ID_HashMap SFT_hash[29]
+#define COLOR_HashMap SFT_hash[30]
+#define INIT_TABLE_POS_HashMap SFT_hash[31]
+#define COLOR_hash___HashMap___init SFT_hash[32]
+#define ID_HashMapNode SFT_hash[33]
+#define COLOR_HashMapNode SFT_hash[34]
+#define INIT_TABLE_POS_HashMapNode SFT_hash[35]
+#define COLOR_hash___HashMapNode___init SFT_hash[36]
+#define ID_HashMapIterator SFT_hash[37]
+#define COLOR_HashMapIterator SFT_hash[38]
+#define COLOR_hash___HashMapIterator____map SFT_hash[39]
+#define COLOR_hash___HashMapIterator____node SFT_hash[40]
+#define INIT_TABLE_POS_HashMapIterator SFT_hash[41]
+#define COLOR_hash___HashMapIterator___init SFT_hash[42]
+#define ID_HashSet SFT_hash[43]
+#define COLOR_HashSet SFT_hash[44]
+#define INIT_TABLE_POS_HashSet SFT_hash[45]
+#define COLOR_hash___HashSet___init SFT_hash[46]
+#define ID_HashSetNode SFT_hash[47]
+#define COLOR_HashSetNode SFT_hash[48]
+#define COLOR_hash___HashSetNode____key SFT_hash[49]
+#define INIT_TABLE_POS_HashSetNode SFT_hash[50]
+#define COLOR_hash___HashSetNode___key__eq SFT_hash[51]
+#define COLOR_hash___HashSetNode___init SFT_hash[52]
+#define ID_HashSetIterator SFT_hash[53]
+#define COLOR_HashSetIterator SFT_hash[54]
+#define COLOR_hash___HashSetIterator____set SFT_hash[55]
+#define COLOR_hash___HashSetIterator____node SFT_hash[56]
+#define INIT_TABLE_POS_HashSetIterator SFT_hash[57]
+#define COLOR_hash___HashSetIterator___init SFT_hash[58]
 typedef val_t (* hash___Object___hash_t)(val_t  self);
 val_t hash___Object___hash(val_t  self);
 #define LOCATE_hash___Object___hash "hash::Object::hash"
@@ -121,6 +123,10 @@ void hash___HashCollection___raz(val_t  self);
 typedef void (* hash___HashCollection___enlarge_t)(val_t  self, val_t  param0);
 void hash___HashCollection___enlarge(val_t  self, val_t  param0);
 #define LOCATE_hash___HashCollection___enlarge "hash::HashCollection::enlarge"
+typedef void (* hash___HashCollection___init_t)(val_t  self, int* init_table);
+void hash___HashCollection___init(val_t  self, int* init_table);
+val_t NEW_hash___HashCollection___init();
+#define LOCATE_hash___HashCollection___init "hash::HashCollection::init"
 typedef val_t (* hash___HashNode___key_t)(val_t  self);
 val_t hash___HashNode___key(val_t  self);
 #define LOCATE_hash___HashNode___key "hash::HashNode::key"
@@ -138,6 +144,10 @@ val_t hash___HashNode___prev_item(val_t  self);
 typedef void (* hash___HashNode___prev_item__eq_t)(val_t  self, val_t  param0);
 void hash___HashNode___prev_item__eq(val_t  self, val_t  param0);
 #define LOCATE_hash___HashNode___prev_item__eq "hash::HashNode::prev_item="
+typedef void (* hash___HashNode___init_t)(val_t  self, int* init_table);
+void hash___HashNode___init(val_t  self, int* init_table);
+val_t NEW_hash___HashNode___init();
+#define LOCATE_hash___HashNode___init "hash::HashNode::init"
 typedef val_t (* hash___HashMap___iterator_t)(val_t  self);
 val_t hash___HashMap___iterator(val_t  self);
 #define LOCATE_hash___HashMap___iterator "hash::HashMap::(abstract_collection::Collection::iterator)"
index 5bf465e..a0216b2 100644 (file)
@@ -9,7 +9,7 @@ val_t inheritance___MMModule___type_any(val_t  self) {
   trace.file = LOCATE_inheritance;
   if (once_bool_variable1_1) variable1 = once_value_variable1_1;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
     variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
     once_value_variable1_1 = variable1;
     once_bool_variable1_1 = true;
@@ -34,7 +34,7 @@ void inheritance___MMModule___import_global_classes(val_t  self) {
       val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_inheritance;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable1 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMGlobalClass, HashSet[MMLocalClass]]*/
   variable0 = variable1;
   variable1 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMModule::mhe*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -92,7 +92,7 @@ void inheritance___MMModule___import_local_classes(val_t  self) {
     if (UNTAG_Bool(variable2)) { /*if*/
       goto continue_6;
     }
-    variable3 = NEW_inheritance___MMImplicitLocalClass___init( self,  variable1 /*g*/); /*new MMImplicitLocalClass*/
+    variable3 = NEW_MMImplicitLocalClass_inheritance___MMImplicitLocalClass___init( self,  variable1 /*g*/); /*new MMImplicitLocalClass*/
     variable2 = variable3;
     continue_6: while(0);
     ((array___ArrayIterator___next_t)CALL(variable0,COLOR_abstract_collection___Iterator___next))(variable0) /*ArrayIterator::next*/;
@@ -119,14 +119,14 @@ void inheritance___MMLocalClass___compute_super_classes(val_t  self) {
     variable0 = ATTR_inheritance___MMLocalClass____computing_super( self) /*MMLocalClass::_computing_super*/;
     if (UNTAG_Bool(variable0)) { /*if*/
       variable0 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*Object::stderr*/;
-      variable1 = NEW_string___String___init(); /*new String*/
-      variable2 = NEW_string___String___with_native(BOX_NativeString("Fatal error: Inheritance loop for class "), TAG_Int(40)); /*new String*/
+      variable1 = NEW_String_string___String___init(); /*new String*/
+      variable2 = NEW_String_string___String___with_native(BOX_NativeString("Fatal error: Inheritance loop for class "), TAG_Int(40)); /*new String*/
       variable3 = variable2;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
       variable4 =  self;
       variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
-      variable5 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
       ((file___OFStream___write_t)CALL(variable0,COLOR_stream___OStream___write))(variable0, variable1) /*OFStream::write*/;
@@ -134,13 +134,13 @@ void inheritance___MMLocalClass___compute_super_classes(val_t  self) {
     }
   }
   ATTR_inheritance___MMLocalClass____computing_super( self) /*MMLocalClass::_computing_super*/ =  TAG_Bool(true);
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
   variable0 = variable1;
   ((inheritance___MMLocalClass___add_explicit_classes_t)CALL( self,COLOR_inheritance___MMLocalClass___add_explicit_classes))( self,  variable0 /*supers*/) /*MMLocalClass::add_explicit_classes*/;
   ((inheritance___MMLocalClass___add_super_classes_t)CALL( self,COLOR_inheritance___MMLocalClass___add_super_classes))( self,  variable0 /*supers*/) /*MMLocalClass::add_super_classes*/;
   ((inheritance___MMLocalClass___add_default_any_class_t)CALL( self,COLOR_inheritance___MMLocalClass___add_default_any_class))( self,  variable0 /*supers*/) /*MMLocalClass::add_default_any_class*/;
   ((inheritance___MMLocalClass___compute_super_parents_t)CALL( self,COLOR_inheritance___MMLocalClass___compute_super_parents))( self,  variable0 /*supers*/) /*MMLocalClass::compute_super_parents*/;
-  variable2 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable2 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMLocalClass]*/
   variable1 = variable2;
   ((abstract_collection___SimpleCollection___add_all_t)CALL( variable1 /*set*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable1 /*set*/,  variable0 /*supers*/) /*SimpleCollection::add_all*/;
   variable3 = ((array___Collection___to_a_t)CALL( variable1 /*set*/,COLOR_array___Collection___to_a))( variable1 /*set*/) /*Collection::to_a*/;
@@ -176,7 +176,7 @@ void inheritance___MMLocalClass___compute_ancestors(val_t  self) {
   variable1 = ((inheritance___MMLocalClass___build_ancestors_t)CALL( self,COLOR_inheritance___MMLocalClass___build_ancestors))( self) /*MMLocalClass::build_ancestors*/;
   variable1 = ((inheritance___MMLocalClass___group_ancestors_t)CALL( self,COLOR_inheritance___MMLocalClass___group_ancestors))( self, variable1) /*MMLocalClass::group_ancestors*/;
   variable0 = variable1;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable1 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMLocalClass, MMAncestor]*/
   ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/ = variable1;
   variable1 = ((abstract_collection___Map___iterator_t)CALL( variable0 /*ancestors*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*ancestors*/) /*Map::iterator*/;
   while (true) { /*for*/
@@ -220,11 +220,11 @@ void inheritance___MMLocalClass___inherit_global_properties(val_t  self) {
   if (UNTAG_Bool(variable0)) { /*if*/
     goto return_label10;
   }
-  variable0 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable0 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMGlobalProperty]*/
   ATTR_abstractmetamodel___MMLocalClass____global_properties( self) /*MMLocalClass::_global_properties*/ = variable0;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, Array[MMGlobalProperty]]*/
   ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/ = variable0;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMGlobalProperty, MMLocalProperty]*/
   ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self) /*MMLocalClass::_local_property_by_global*/ = variable0;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
   variable0 = variable1;
@@ -261,20 +261,7 @@ void inheritance___MMLocalClass___inherit_global_properties(val_t  self) {
       if (UNTAG_Bool(variable6)) { /*if*/
         goto continue_12;
       }
-      variable7 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable5 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable5 /*glob*/) /*MMGlobalProperty::intro*/;
-      variable7 = ((abstractmetamodel___MMLocalProperty___name_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalProperty___name))(variable7) /*MMLocalProperty::name*/;
-      variable6 = variable7;
-      variable7 = NIT_NULL /*decl variable conf_set*/;
-      variable8 = ((abstract_collection___Map___has_key_t)CALL( variable0 /*names*/,COLOR_abstract_collection___Map___has_key))( variable0 /*names*/,  variable6 /*gname*/) /*Map::has_key*/;
-      if (UNTAG_Bool(variable8)) { /*if*/
-        variable8 = ((abstract_collection___Map_____bra_t)CALL( variable0 /*names*/,COLOR_abstract_collection___Map_____bra))( variable0 /*names*/,  variable6 /*gname*/) /*Map::[]*/;
-        variable7 = variable8 /*conf_set=*/;
-      } else { /*if*/
-        variable8 = NEW_array___Array___init(); /*new Array[E]*/
-        variable7 = variable8 /*conf_set=*/;
-        ((abstract_collection___Map_____braeq_t)CALL( variable0 /*names*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*names*/,  variable6 /*gname*/,  variable7 /*conf_set*/) /*Map::[]=*/;
-      }
-      ((array___AbstractArray___add_t)CALL( variable7 /*conf_set*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*conf_set*/,  variable5 /*glob*/) /*AbstractArray::add*/;
+      ((inheritance___MMLocalClass___make_visible_an_inherited_global_property_t)CALL( self,COLOR_inheritance___MMLocalClass___make_visible_an_inherited_global_property))( self,  variable5 /*glob*/) /*MMLocalClass::make_visible_an_inherited_global_property*/;
       continue_12: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
     }
@@ -287,8 +274,37 @@ void inheritance___MMLocalClass___inherit_global_properties(val_t  self) {
   tracehead = trace.prev;
   return;
 }
+void inheritance___MMLocalClass___make_visible_an_inherited_global_property(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 138, LOCATE_inheritance___MMLocalClass___make_visible_an_inherited_global_property};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+  val_t variable3;
+  val_t variable4;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
+  variable0 =  param0;
+  variable2 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
+  variable1 = variable2;
+  variable3 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable0 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable0 /*glob*/) /*MMGlobalProperty::intro*/;
+  variable3 = ((abstractmetamodel___MMLocalProperty___name_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___name))(variable3) /*MMLocalProperty::name*/;
+  variable2 = variable3;
+  variable3 = NIT_NULL /*decl variable conf_set*/;
+  variable4 = ((abstract_collection___Map___has_key_t)CALL( variable1 /*names*/,COLOR_abstract_collection___Map___has_key))( variable1 /*names*/,  variable2 /*gname*/) /*Map::has_key*/;
+  if (UNTAG_Bool(variable4)) { /*if*/
+    variable4 = ((abstract_collection___Map_____bra_t)CALL( variable1 /*names*/,COLOR_abstract_collection___Map_____bra))( variable1 /*names*/,  variable2 /*gname*/) /*Map::[]*/;
+    variable3 = variable4 /*conf_set=*/;
+  } else { /*if*/
+    variable4 = NEW_Array_array___Array___init(); /*new Array[MMGlobalProperty]*/
+    variable3 = variable4 /*conf_set=*/;
+    ((abstract_collection___Map_____braeq_t)CALL( variable1 /*names*/,COLOR_abstract_collection___Map_____braeq))( variable1 /*names*/,  variable2 /*gname*/,  variable3 /*conf_set*/) /*Map::[]=*/;
+  }
+  ((array___AbstractArray___add_t)CALL( variable3 /*conf_set*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*conf_set*/,  variable0 /*glob*/) /*AbstractArray::add*/;
+  tracehead = trace.prev;
+  return;
+}
 void inheritance___MMLocalClass___add_direct_parent(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 146, LOCATE_inheritance___MMLocalClass___add_direct_parent};
+  struct trace_t trace = {NULL, NULL, 153, LOCATE_inheritance___MMLocalClass___add_direct_parent};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -300,7 +316,7 @@ void inheritance___MMLocalClass___add_direct_parent(val_t  self, val_t  param0)
   return;
 }
 val_t inheritance___MMLocalClass___computed_super_classes(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 152, LOCATE_inheritance___MMLocalClass___computed_super_classes};
+  struct trace_t trace = {NULL, NULL, 159, LOCATE_inheritance___MMLocalClass___computed_super_classes};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -313,25 +329,25 @@ val_t inheritance___MMLocalClass___computed_super_classes(val_t  self) {
     variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
   }
   variable0 = variable1;
-  goto return_label14;
-  return_label14: while(false);
+  goto return_label15;
+  return_label15: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t inheritance___MMLocalClass___computed_ancestors(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 158, LOCATE_inheritance___MMLocalClass___computed_ancestors};
+  struct trace_t trace = {NULL, NULL, 165, LOCATE_inheritance___MMLocalClass___computed_ancestors};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_inheritance;
   variable0 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
   variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  goto return_label15;
-  return_label15: while(false);
+  goto return_label16;
+  return_label16: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 164, LOCATE_inheritance___MMLocalClass___ancestor_for};
+  struct trace_t trace = {NULL, NULL, 171, LOCATE_inheritance___MMLocalClass___ancestor_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -343,20 +359,20 @@ val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ((static_type___MMLocalClass___ancestors_t)CALL( self,COLOR_static_type___MMLocalClass___ancestors))( self) /*MMLocalClass::ancestors*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___ancestor_for, LOCATE_inheritance, 168); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___ancestor_for, LOCATE_inheritance, 175); nit_exit(1);}
   variable1 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*c*/) /*Map::has_key*/;
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
     variable1 = ((abstract_collection___Map_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*c*/) /*Map::[]*/;
-    goto return_label16;
+    goto return_label17;
   }
   variable2 = ((abstractmetamodel___MMLocalClass___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___module))( self) /*MMLocalClass::module*/;
   variable2 = ((abstractmetamodel___MMLocalClass___for_module_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___for_module))( variable0 /*c*/, variable2) /*MMLocalClass::for_module*/;
   variable1 = variable2;
   variable2 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___cshe))( self) /*MMLocalClass::cshe*/;
   variable2 = ((partial_order___PartialOrderElement_____leq_t)CALL(variable2,COLOR_partial_order___PartialOrderElement_____leq))(variable2,  variable1 /*a*/) /*PartialOrderElement::<=*/;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___ancestor_for, LOCATE_inheritance, 174); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___ancestor_for, LOCATE_inheritance, 181); nit_exit(1);}
   variable2 = NIT_NULL /*decl variable ra*/;
   variable3 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
   variable3 = ((abstract_collection___Map___has_key_t)CALL(variable3,COLOR_abstract_collection___Map___has_key))(variable3,  variable1 /*a*/) /*Map::has_key*/;
@@ -369,12 +385,12 @@ val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
     variable4 = ATTR_abstractmetamodel___MMLocalClass____global( self) /*MMLocalClass::_global*/;
     variable3 = TAG_Bool((variable3 == variable4) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3,variable4)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3, variable4) /*Object::==*/)))));
     if (UNTAG_Bool(variable3)) { /*if*/
-      variable3 = NEW_inheritance___MMRefineAncestor___init( self,  variable0 /*c*/); /*new MMRefineAncestor*/
+      variable3 = NEW_MMRefineAncestor_inheritance___MMRefineAncestor___init( self,  variable0 /*c*/); /*new MMRefineAncestor*/
       variable2 = variable3 /*ra=*/;
     } else { /*if*/
       variable3 = ((static_type___MMLocalClass___get_type_t)CALL( self,COLOR_static_type___MMLocalClass___get_type))( self) /*MMLocalClass::get_type*/;
       variable4 = ((static_type___MMLocalClass___get_type_t)CALL( variable0 /*c*/,COLOR_static_type___MMLocalClass___get_type))( variable0 /*c*/) /*MMLocalClass::get_type*/;
-      variable5 = NEW_inheritance___MMSpecAncestor___init(variable3, variable4); /*new MMSpecAncestor*/
+      variable5 = NEW_MMSpecAncestor_inheritance___MMSpecAncestor___init(variable3, variable4); /*new MMSpecAncestor*/
       variable3 = variable5;
       variable2 = variable3 /*ra=*/;
     }
@@ -382,13 +398,13 @@ val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
   variable3 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
   ((abstract_collection___Map_____braeq_t)CALL(variable3,COLOR_abstract_collection___Map_____braeq))(variable3,  variable0 /*c*/,  variable2 /*ra*/) /*Map::[]=*/;
   variable1 =  variable2 /*ra*/;
-  goto return_label16;
-  return_label16: while(false);
+  goto return_label17;
+  return_label17: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t inheritance___MMLocalClass_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 187, LOCATE_inheritance___MMLocalClass_____bra};
+  struct trace_t trace = {NULL, NULL, 194, LOCATE_inheritance___MMLocalClass_____bra};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -410,18 +426,18 @@ val_t inheritance___MMLocalClass_____bra(val_t  self, val_t  param0) {
     variable1 = variable2 /*prop=*/;
   }
   variable1 =  variable1 /*prop*/;
-  goto return_label17;
-  return_label17: while(false);
+  goto return_label18;
+  return_label18: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void inheritance___MMLocalClass___add_default_any_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 196, LOCATE_inheritance___MMLocalClass___add_default_any_class};
+  struct trace_t trace = {NULL, NULL, 203, LOCATE_inheritance___MMLocalClass___add_default_any_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
-    static val_t once_value_variable3_19; static int once_bool_variable3_19;
+    static val_t once_value_variable3_20; static int once_bool_variable3_20;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_inheritance;
   variable0 =  param0;
@@ -429,12 +445,12 @@ void inheritance___MMLocalClass___add_default_any_class(val_t  self, val_t  para
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
     variable2 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
-    if (once_bool_variable3_19) variable3 = once_value_variable3_19;
+    if (once_bool_variable3_20) variable3 = once_value_variable3_20;
     else {
-      variable3 = NEW_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
       variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
-      once_value_variable3_19 = variable3;
-      once_bool_variable3_19 = true;
+      once_value_variable3_20 = variable3;
+      once_bool_variable3_20 = true;
     }
     variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 == variable3) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2,variable3)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable3) /*Object::==*/)))))));
   }
@@ -445,7 +461,7 @@ void inheritance___MMLocalClass___add_default_any_class(val_t  self, val_t  para
     variable1 = variable2;
     variable2 = ((static_type___MMType___local_class_t)CALL( variable1 /*t_any*/,COLOR_static_type___MMType___local_class))( variable1 /*t_any*/) /*MMType::local_class*/;
     ((array___AbstractArray___add_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*supers*/, variable2) /*AbstractArray::add*/;
-    variable3 = NEW_inheritance___MMDefaultAncestor___init( self,  variable1 /*t_any*/); /*new MMDefaultAncestor*/
+    variable3 = NEW_MMDefaultAncestor_inheritance___MMDefaultAncestor___init( self,  variable1 /*t_any*/); /*new MMDefaultAncestor*/
     variable2 = variable3;
     ((inheritance___MMLocalClass___add_direct_parent_t)CALL( self,COLOR_inheritance___MMLocalClass___add_direct_parent))( self,  variable2 /*default*/) /*MMLocalClass::add_direct_parent*/;
   }
@@ -453,7 +469,7 @@ void inheritance___MMLocalClass___add_default_any_class(val_t  self, val_t  para
   return;
 }
 void inheritance___MMLocalClass___add_super_classes(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 207, LOCATE_inheritance___MMLocalClass___add_super_classes};
+  struct trace_t trace = {NULL, NULL, 214, LOCATE_inheritance___MMLocalClass___add_super_classes};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -466,7 +482,7 @@ void inheritance___MMLocalClass___add_super_classes(val_t  self, val_t  param0)
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____crhe( self) /*MMLocalClass::_crhe*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___add_super_classes, LOCATE_inheritance, 210); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___add_super_classes, LOCATE_inheritance, 217); nit_exit(1);}
   variable1 = ATTR_abstractmetamodel___MMLocalClass____crhe( self) /*MMLocalClass::_crhe*/;
   variable1 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable1,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable1) /*PartialOrderElement::direct_greaters*/;
   variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
@@ -476,7 +492,7 @@ void inheritance___MMLocalClass___add_super_classes(val_t  self, val_t  param0)
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable2 /*ref*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable2 /*ref*/) /*MMLocalClass::cshe*/;
     variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 ==  NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  NIT_NULL /*null*/) /*Object::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___add_super_classes, LOCATE_inheritance, 212); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___add_super_classes, LOCATE_inheritance, 219); nit_exit(1);}
     variable3 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable2 /*ref*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable2 /*ref*/) /*MMLocalClass::cshe*/;
     variable3 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable3,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable3) /*PartialOrderElement::direct_greaters*/;
     variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*AbstractArray::iterator*/;
@@ -488,21 +504,21 @@ void inheritance___MMLocalClass___add_super_classes(val_t  self, val_t  param0)
       variable6 = ((abstractmetamodel___MMLocalClass___for_module_t)CALL( variable4 /*sup*/,COLOR_abstractmetamodel___MMLocalClass___for_module))( variable4 /*sup*/, variable6) /*MMLocalClass::for_module*/;
       variable5 = variable6;
       variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*cla*/ ==  NIT_NULL /*null*/) || (( variable5 /*cla*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*cla*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*cla*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*cla*/,COLOR_kernel___Object_____eqeq))( variable5 /*cla*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___add_super_classes, LOCATE_inheritance, 215); nit_exit(1);}
+      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___add_super_classes, LOCATE_inheritance, 222); nit_exit(1);}
       ((array___AbstractArray___add_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*supers*/,  variable5 /*cla*/) /*AbstractArray::add*/;
-      continue_22: while(0);
+      continue_23: while(0);
       ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
     }
-    break_22: while(0);
-    continue_21: while(0);
+    break_23: while(0);
+    continue_22: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
-  break_21: while(0);
+  break_22: while(0);
   tracehead = trace.prev;
   return;
 }
 void inheritance___MMLocalClass___add_explicit_classes(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 221, LOCATE_inheritance___MMLocalClass___add_explicit_classes};
+  struct trace_t trace = {NULL, NULL, 228, LOCATE_inheritance___MMLocalClass___add_explicit_classes};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -518,15 +534,15 @@ void inheritance___MMLocalClass___add_explicit_classes(val_t  self, val_t  param
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = ((static_type___MMAncestor___local_class_t)CALL( variable2 /*p*/,COLOR_static_type___MMAncestor___local_class))( variable2 /*p*/) /*MMAncestor::local_class*/;
     ((array___AbstractArray___add_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*supers*/, variable3) /*AbstractArray::add*/;
-    continue_24: while(0);
+    continue_25: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
-  break_24: while(0);
+  break_25: while(0);
   tracehead = trace.prev;
   return;
 }
 void inheritance___MMLocalClass___compute_super_parents(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 229, LOCATE_inheritance___MMLocalClass___compute_super_parents};
+  struct trace_t trace = {NULL, NULL, 236, LOCATE_inheritance___MMLocalClass___compute_super_parents};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -540,17 +556,17 @@ void inheritance___MMLocalClass___compute_super_parents(val_t  self, val_t  para
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*p*/ ==  NIT_NULL /*null*/) || (( variable2 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*p*/,COLOR_kernel___Object_____eqeq))( variable2 /*p*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___compute_super_parents, LOCATE_inheritance, 233); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___compute_super_parents, LOCATE_inheritance, 240); nit_exit(1);}
     ((inheritance___MMLocalClass___compute_super_classes_t)CALL( variable2 /*p*/,COLOR_inheritance___MMLocalClass___compute_super_classes))( variable2 /*p*/) /*MMLocalClass::compute_super_classes*/;
-    continue_26: while(0);
+    continue_27: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
-  break_26: while(0);
+  break_27: while(0);
   tracehead = trace.prev;
   return;
 }
 val_t inheritance___MMLocalClass___build_ancestors(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 238, LOCATE_inheritance___MMLocalClass___build_ancestors};
+  struct trace_t trace = {NULL, NULL, 245, LOCATE_inheritance___MMLocalClass___build_ancestors};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -558,11 +574,11 @@ val_t inheritance___MMLocalClass___build_ancestors(val_t  self) {
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_inheritance;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[MMAncestor]*/
   variable0 = variable1;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____crhe( self) /*MMLocalClass::_crhe*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___build_ancestors, LOCATE_inheritance, 243); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___build_ancestors, LOCATE_inheritance, 250); nit_exit(1);}
   variable1 = ATTR_abstractmetamodel___MMLocalClass____crhe( self) /*MMLocalClass::_crhe*/;
   variable1 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable1,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable1) /*PartialOrderElement::direct_greaters*/;
   variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
@@ -571,14 +587,14 @@ val_t inheritance___MMLocalClass___build_ancestors(val_t  self) {
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*p*/ ==  self) || (( variable2 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*p*/, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*p*/,COLOR_kernel___Object_____eqeq))( variable2 /*p*/,  self) /*Object::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___build_ancestors, LOCATE_inheritance, 245); nit_exit(1);}
-    variable4 = NEW_inheritance___MMRefineAncestor___init( self,  variable2 /*p*/); /*new MMRefineAncestor*/
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___build_ancestors, LOCATE_inheritance, 252); nit_exit(1);}
+    variable4 = NEW_MMRefineAncestor_inheritance___MMRefineAncestor___init( self,  variable2 /*p*/); /*new MMRefineAncestor*/
     variable3 = variable4;
     ((inheritance___MMAncestor___add_in_t)CALL( variable3 /*anc*/,COLOR_inheritance___MMAncestor___add_in))( variable3 /*anc*/,  variable0 /*all_ancestors*/) /*MMAncestor::add_in*/;
-    continue_28: while(0);
+    continue_29: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
-  break_28: while(0);
+  break_29: while(0);
   variable1 = ATTR_inheritance___MMLocalClass____direct_parents( self) /*MMLocalClass::_direct_parents*/;
   variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -587,20 +603,20 @@ val_t inheritance___MMLocalClass___build_ancestors(val_t  self) {
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = ((static_type___MMAncestor___local_class_t)CALL( variable2 /*anc*/,COLOR_static_type___MMAncestor___local_class))( variable2 /*anc*/) /*MMAncestor::local_class*/;
     variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 ==  self) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  self) /*Object::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___build_ancestors, LOCATE_inheritance, 250); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___build_ancestors, LOCATE_inheritance, 257); nit_exit(1);}
     ((inheritance___MMAncestor___add_in_t)CALL( variable2 /*anc*/,COLOR_inheritance___MMAncestor___add_in))( variable2 /*anc*/,  variable0 /*all_ancestors*/) /*MMAncestor::add_in*/;
-    continue_29: while(0);
+    continue_30: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
-  break_29: while(0);
+  break_30: while(0);
   variable0 =  variable0 /*all_ancestors*/;
-  goto return_label27;
-  return_label27: while(false);
+  goto return_label28;
+  return_label28: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t inheritance___MMLocalClass___group_ancestors(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 256, LOCATE_inheritance___MMLocalClass___group_ancestors};
+  struct trace_t trace = {NULL, NULL, 263, LOCATE_inheritance___MMLocalClass___group_ancestors};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -611,7 +627,7 @@ val_t inheritance___MMLocalClass___group_ancestors(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_inheritance;
   variable0 =  param0;
-  variable2 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable2 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMLocalClass, Set[MMAncestor]]*/
   variable1 = variable2;
   variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*all*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*all*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -627,23 +643,23 @@ val_t inheritance___MMLocalClass___group_ancestors(val_t  self, val_t  param0) {
       variable6 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable1 /*map*/,COLOR_abstract_collection___Map_____bra))( variable1 /*map*/,  variable4 /*c*/) /*CoupleMap::[]*/;
       variable5 = variable6 /*set=*/;
     } else { /*if*/
-      variable6 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+      variable6 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMAncestor]*/
       variable5 = variable6 /*set=*/;
       ((hash___HashMap_____braeq_t)CALL( variable1 /*map*/,COLOR_abstract_collection___Map_____braeq))( variable1 /*map*/,  variable4 /*c*/,  variable5 /*set*/) /*HashMap::[]=*/;
     }
     ((abstract_collection___SimpleCollection___add_t)CALL( variable5 /*set*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*set*/,  variable3 /*a*/) /*SimpleCollection::add*/;
-    continue_31: while(0);
+    continue_32: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
-  break_31: while(0);
+  break_32: while(0);
   variable1 =  variable1 /*map*/;
-  goto return_label30;
-  return_label30: while(false);
+  goto return_label31;
+  return_label31: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 278, LOCATE_inheritance___MMLocalClass___merge_ancestors};
+  struct trace_t trace = {NULL, NULL, 285, LOCATE_inheritance___MMLocalClass___merge_ancestors};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -662,9 +678,9 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_inheritance;
   variable0 =  param0;
-  variable2 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable2 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMAncestor]*/
   variable1 = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMAncestor]*/
   variable2 = variable3;
   variable3 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*set*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*set*/) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -713,37 +729,37 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
         variable6 =  TAG_Bool(false) /*search=*/;
       }
       ((abstract_collection___Iterator___next_t)CALL( variable5 /*it*/,COLOR_abstract_collection___Iterator___next))( variable5 /*it*/) /*Iterator::next*/;
-      continue_34: while(0);
+      continue_35: while(0);
     }
-    break_34: while(0);
+    break_35: while(0);
     variable7 = ((hash___HashSet___has_t)CALL( variable1 /*marks*/,COLOR_abstract_collection___Collection___has))( variable1 /*marks*/,  variable4 /*t*/) /*HashSet::has*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable7)))) { /*if*/
       ((array___AbstractArray___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/,  variable4 /*t*/) /*AbstractArray::add*/;
     }
-    continue_33: while(0);
+    continue_34: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
   }
-  break_33: while(0);
+  break_34: while(0);
   variable3 = ((array___AbstractArray___length_t)CALL( variable2 /*res*/,COLOR_abstract_collection___Collection___length))( variable2 /*res*/) /*AbstractArray::length*/;
   variable3 = TAG_Bool(UNTAG_Int(variable3)>UNTAG_Int( TAG_Int(1)));
   if (UNTAG_Bool(variable3)) { /*if*/
     variable3 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*Object::stderr*/;
-    variable4 = NEW_string___String___init(); /*new String*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("Fatal error: Incompatibles ancestors for "), TAG_Int(41)); /*new String*/
+    variable4 = NEW_String_string___String___init(); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("Fatal error: Incompatibles ancestors for "), TAG_Int(41)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
     variable7 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
     variable8 = variable7;
     variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
     variable10 = variable9;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
     variable11 = ((string___Collection___join_t)CALL( variable2 /*res*/,COLOR_string___Collection___join))( variable2 /*res*/, variable11) /*Collection::join*/;
     variable12 = variable11;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-    variable13 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+    variable13 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
     variable14 = variable13;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
     ((file___OFStream___write_t)CALL(variable3,COLOR_stream___OStream___write))(variable3, variable4) /*OFStream::write*/;
@@ -751,13 +767,13 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
   }
   variable3 = ((abstract_collection___IndexedCollection___first_t)CALL( variable2 /*res*/,COLOR_abstract_collection___Collection___first))( variable2 /*res*/) /*IndexedCollection::first*/;
   variable1 = variable3;
-  goto return_label32;
-  return_label32: while(false);
+  goto return_label33;
+  return_label33: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 311, LOCATE_inheritance___MMLocalClass___inherit_local_property};
+  struct trace_t trace = {NULL, NULL, 318, LOCATE_inheritance___MMLocalClass___inherit_local_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -783,9 +799,9 @@ val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  pa
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self) /*MMLocalClass::_local_property_by_global*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*glob*/) /*Map::has_key*/;
-  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___inherit_local_property, LOCATE_inheritance, 316); nit_exit(1);}
+  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___inherit_local_property, LOCATE_inheritance, 323); nit_exit(1);}
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*glob*/ ==  NIT_NULL /*null*/) || (( variable0 /*glob*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*glob*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*glob*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*glob*/,COLOR_kernel___Object_____eqeq))( variable0 /*glob*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___inherit_local_property, LOCATE_inheritance, 317); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___inherit_local_property, LOCATE_inheritance, 324); nit_exit(1);}
   variable1 = NIT_NULL /*decl variable impl*/;
   variable3 = ((abstractmetamodel___MMGlobalProperty___property_hierarchy_t)CALL( variable0 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___property_hierarchy))( variable0 /*glob*/) /*MMGlobalProperty::property_hierarchy*/;
   variable2 = variable3;
@@ -805,7 +821,7 @@ val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  pa
       variable4 = ((inheritance___MMLocalClass_____bra_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass_____bra))(variable4,  variable0 /*glob*/) /*MMLocalClass::[]*/;
       variable1 = variable4 /*impl=*/;
     } else { /*if*/
-      variable5 = NEW_array___ArraySet___init(); /*new ArraySet[E]*/
+      variable5 = NEW_ArraySet_array___ArraySet___init(); /*new ArraySet[MMLocalProperty]*/
       variable4 = variable5;
       variable5 = ((array___AbstractArray___iterator_t)CALL( variable3 /*supers*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*supers*/) /*AbstractArray::iterator*/;
       while (true) { /*for*/
@@ -818,40 +834,40 @@ val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  pa
         if (UNTAG_Bool(variable8)) { /*if*/
           ((array___ArraySet___add_t)CALL( variable4 /*impls*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*impls*/,  variable7 /*p*/) /*ArraySet::add*/;
         }
-        continue_36: while(0);
+        continue_37: while(0);
         ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
       }
-      break_36: while(0);
+      break_37: while(0);
       variable6 = ((partial_order___PartialOrder___select_smallests_t)CALL( variable2 /*ghier*/,COLOR_partial_order___PartialOrder___select_smallests))( variable2 /*ghier*/,  variable4 /*impls*/) /*PartialOrder::select_smallests*/;
       variable5 = variable6;
       variable6 = ((array___AbstractArray___length_t)CALL( variable5 /*impls2*/,COLOR_abstract_collection___Collection___length))( variable5 /*impls2*/) /*AbstractArray::length*/;
       variable6 = TAG_Bool((variable6)!=( TAG_Int(1)));
       if (UNTAG_Bool(variable6)) { /*if*/
         variable6 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*Object::stderr*/;
-        variable7 = NEW_string___String___with_native(BOX_NativeString("Fatal error: inherit_local_property error\n"), TAG_Int(42)); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString("Fatal error: inherit_local_property error\n"), TAG_Int(42)); /*new String*/
         ((file___OFStream___write_t)CALL(variable6,COLOR_stream___OStream___write))(variable6, variable7) /*OFStream::write*/;
-        variable6 = NEW_string___String___init(); /*new String*/
-        variable7 = NEW_string___String___with_native(BOX_NativeString("------- "), TAG_Int(8)); /*new String*/
+        variable6 = NEW_String_string___String___init(); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString("------- "), TAG_Int(8)); /*new String*/
         variable8 = variable7;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
         variable9 = ((abstractmetamodel___MMLocalClass___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___module))( self) /*MMLocalClass::module*/;
         variable10 = variable9;
         variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-        variable11 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+        variable11 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
         variable12 = variable11;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
         variable13 =  self;
         variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-        variable14 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
+        variable14 = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
         variable15 = variable14;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
         variable16 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable0 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable0 /*glob*/) /*MMGlobalProperty::intro*/;
         variable16 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL(variable16,COLOR_abstractmetamodel___MMLocalProperty___full_name))(variable16) /*MMLocalProperty::full_name*/;
         variable17 = variable16;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable17) /*String::append*/;
-        variable18 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+        variable18 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
         variable19 = variable18;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable19) /*String::append*/;
         ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable6) /*Object::print*/;
@@ -860,23 +876,23 @@ val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  pa
           variable7 = ((array___ArrayIterator___is_ok_t)CALL(variable6,COLOR_abstract_collection___Iterator___is_ok))(variable6) /*ArrayIterator::is_ok*/;
           if (!UNTAG_Bool(variable7)) break; /*for*/
           variable7 = ((array___ArrayIterator___item_t)CALL(variable6,COLOR_abstract_collection___Iterator___item))(variable6) /*ArrayIterator::item*/;
-          variable8 = NEW_string___String___init(); /*new String*/
-          variable9 = NEW_string___String___with_native(BOX_NativeString("   "), TAG_Int(3)); /*new String*/
+          variable8 = NEW_String_string___String___init(); /*new String*/
+          variable9 = NEW_String_string___String___with_native(BOX_NativeString("   "), TAG_Int(3)); /*new String*/
           variable10 = variable9;
           ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
           variable11 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL( variable7 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___full_name))( variable7 /*i*/) /*MMLocalProperty::full_name*/;
           variable12 = variable11;
           ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable12) /*String::append*/;
-          variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+          variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
           variable14 = variable13;
           ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
           ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable8) /*Object::print*/;
-          continue_37: while(0);
+          continue_38: while(0);
           ((array___ArrayIterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*ArrayIterator::next*/;
         }
-        break_37: while(0);
-        variable6 = NEW_string___String___init(); /*new String*/
-        variable7 = NEW_string___String___with_native(BOX_NativeString("------- "), TAG_Int(8)); /*new String*/
+        break_38: while(0);
+        variable6 = NEW_String_string___String___init(); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString("------- "), TAG_Int(8)); /*new String*/
         variable8 = variable7;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
         variable9 = ((abstractmetamodel___MMGlobalProperty___property_hierarchy_t)CALL( variable0 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___property_hierarchy))( variable0 /*glob*/) /*MMGlobalProperty::property_hierarchy*/;
@@ -884,19 +900,19 @@ val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  pa
         variable10 = variable9;
         variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-        variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+        variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
         variable12 = variable11;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
         ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable6) /*Object::print*/;
-        variable6 = NEW_string___String___init(); /*new String*/
-        variable7 = NEW_string___String___with_native(BOX_NativeString("------- "), TAG_Int(8)); /*new String*/
+        variable6 = NEW_String_string___String___init(); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString("------- "), TAG_Int(8)); /*new String*/
         variable8 = variable7;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
         variable9 = ((abstractmetamodel___MMGlobalProperty___property_hierarchy_t)CALL( variable0 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___property_hierarchy))( variable0 /*glob*/) /*MMGlobalProperty::property_hierarchy*/;
         variable9 = ((partial_order___PartialOrder___to_dot_t)CALL(variable9,COLOR_partial_order___PartialOrder___to_dot))(variable9) /*PartialOrder::to_dot*/;
         variable10 = variable9;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-        variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+        variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
         variable12 = variable11;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
         ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable6) /*Object::print*/;
@@ -909,13 +925,13 @@ val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  pa
   variable4 = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self) /*MMLocalClass::_local_property_by_global*/;
   ((abstract_collection___Map_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable0 /*glob*/,  variable1 /*impl*/) /*Map::[]=*/;
   variable1 =  variable1 /*impl*/;
-  goto return_label35;
-  return_label35: while(false);
+  goto return_label36;
+  return_label36: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void inheritance___MMLocalProperty___inherit_global(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 367, LOCATE_inheritance___MMLocalProperty___inherit_global};
+  struct trace_t trace = {NULL, NULL, 374, LOCATE_inheritance___MMLocalProperty___inherit_global};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -926,7 +942,7 @@ void inheritance___MMLocalProperty___inherit_global(val_t  self, val_t  param0)
   trace.file = LOCATE_inheritance;
   variable0 =  param0;
   ((abstractmetamodel___MMLocalProperty___set_global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___set_global))( self,  variable0 /*g*/) /*MMLocalProperty::set_global*/;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMLocalProperty]*/
   variable1 = variable2;
   variable2 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
   variable2 = ((abstractmetamodel___MMLocalClass___che_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___che))(variable2) /*MMLocalClass::che*/;
@@ -940,19 +956,19 @@ void inheritance___MMLocalProperty___inherit_global(val_t  self, val_t  param0)
     variable4 = variable5;
     variable5 = TAG_Bool(( variable4 /*p*/ ==  NIT_NULL /*null*/) || (( variable4 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*p*/,COLOR_kernel___Object_____eqeq))( variable4 /*p*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable5)) { /*if*/
-      goto continue_39;
+      goto continue_40;
     }
     ((array___AbstractArray___add_t)CALL( variable1 /*impls*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*impls*/,  variable4 /*p*/) /*AbstractArray::add*/;
-    continue_39: while(0);
+    continue_40: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
-  break_39: while(0);
+  break_40: while(0);
   ((abstractmetamodel___MMGlobalProperty___add_local_property_t)CALL( variable0 /*g*/,COLOR_abstractmetamodel___MMGlobalProperty___add_local_property))( variable0 /*g*/,  self,  variable1 /*impls*/) /*MMGlobalProperty::add_local_property*/;
   tracehead = trace.prev;
   return;
 }
 void inheritance___MMAncestor___add_in(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 382, LOCATE_inheritance___MMAncestor___add_in};
+  struct trace_t trace = {NULL, NULL, 389, LOCATE_inheritance___MMAncestor___add_in};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -967,11 +983,11 @@ void inheritance___MMAncestor___add_in(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", " 'ancestor' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMAncestor___add_in, LOCATE_inheritance, 385); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", " 'ancestor' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMAncestor___add_in, LOCATE_inheritance, 392); nit_exit(1);}
   variable1 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   variable1 = ((static_type___MMType___local_class_t)CALL(variable1,COLOR_static_type___MMType___local_class))(variable1) /*MMType::local_class*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", " 'local_class' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMAncestor___add_in, LOCATE_inheritance, 386); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", " 'local_class' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMAncestor___add_in, LOCATE_inheritance, 393); nit_exit(1);}
   ((array___AbstractArray___add_t)CALL( variable0 /*tab*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*tab*/,  self) /*AbstractArray::add*/;
   variable1 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   variable1 = ((static_type___MMType___local_class_t)CALL(variable1,COLOR_static_type___MMType___local_class))(variable1) /*MMType::local_class*/;
@@ -1024,25 +1040,25 @@ void inheritance___MMAncestor___add_in(val_t  self, val_t  param0) {
         variable7 = variable8;
         variable6 =  TAG_Bool(!UNTAG_Bool(variable7)) /*b=*/;
         ((array___ArrayIterator___next_t)CALL( variable5 /*it*/,COLOR_abstract_collection___Iterator___next))( variable5 /*it*/) /*ArrayIterator::next*/;
-        continue_42: while(0);
+        continue_43: while(0);
       }
-      break_42: while(0);
+      break_43: while(0);
       if (UNTAG_Bool( variable6 /*b*/)) { /*if*/
         variable7 = ((static_type___MMAncestor___inheriter_t)CALL( self,COLOR_static_type___MMAncestor___inheriter))( self) /*MMAncestor::inheriter*/;
-        variable8 = NEW_inheritance___MMSpecAncestor___init(variable7,  variable4 /*a*/); /*new MMSpecAncestor*/
+        variable8 = NEW_MMSpecAncestor_inheritance___MMSpecAncestor___init(variable7,  variable4 /*a*/); /*new MMSpecAncestor*/
         variable7 = variable8;
         ((array___AbstractArray___add_t)CALL( variable0 /*tab*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*tab*/, variable7) /*AbstractArray::add*/;
       }
     }
-    continue_41: while(0);
+    continue_42: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
   }
-  break_41: while(0);
+  break_42: while(0);
   tracehead = trace.prev;
   return;
 }
 void inheritance___MMImplicitLocalClass___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 412, LOCATE_inheritance___MMImplicitLocalClass___init};
+  struct trace_t trace = {NULL, NULL, 419, LOCATE_inheritance___MMImplicitLocalClass___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1065,14 +1081,14 @@ void inheritance___MMImplicitLocalClass___init(val_t  self, val_t  param0, val_t
   return;
 }
 val_t inheritance___MMRefineAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 423, LOCATE_inheritance___MMRefineAncestor___local_class};
+  struct trace_t trace = {NULL, NULL, 430, LOCATE_inheritance___MMRefineAncestor___local_class};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_inheritance;
   tracehead = trace.prev;
   return ATTR_inheritance___MMRefineAncestor____local_class( self) /*MMRefineAncestor::_local_class*/;
 }
 void inheritance___MMRefineAncestor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 425, LOCATE_inheritance___MMRefineAncestor___init};
+  struct trace_t trace = {NULL, NULL, 432, LOCATE_inheritance___MMRefineAncestor___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1092,19 +1108,19 @@ void inheritance___MMRefineAncestor___init(val_t  self, val_t  param0, val_t  pa
   return;
 }
 val_t inheritance___MMSpecAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 436, LOCATE_inheritance___MMSpecAncestor___local_class};
+  struct trace_t trace = {NULL, NULL, 443, LOCATE_inheritance___MMSpecAncestor___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_inheritance;
   variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   variable0 = ((static_type___MMType___local_class_t)CALL(variable0,COLOR_static_type___MMType___local_class))(variable0) /*MMType::local_class*/;
-  goto return_label45;
-  return_label45: while(false);
+  goto return_label46;
+  return_label46: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void inheritance___MMSpecAncestor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 438, LOCATE_inheritance___MMSpecAncestor___init};
+  struct trace_t trace = {NULL, NULL, 445, LOCATE_inheritance___MMSpecAncestor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1119,19 +1135,19 @@ void inheritance___MMSpecAncestor___init(val_t  self, val_t  param0, val_t  para
   return;
 }
 val_t inheritance___MMDefaultAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 447, LOCATE_inheritance___MMDefaultAncestor___local_class};
+  struct trace_t trace = {NULL, NULL, 454, LOCATE_inheritance___MMDefaultAncestor___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_inheritance;
   variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   variable0 = ((static_type___MMType___local_class_t)CALL(variable0,COLOR_static_type___MMType___local_class))(variable0) /*MMType::local_class*/;
-  goto return_label47;
-  return_label47: while(false);
+  goto return_label48;
+  return_label48: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void inheritance___MMDefaultAncestor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 449, LOCATE_inheritance___MMDefaultAncestor___init};
+  struct trace_t trace = {NULL, NULL, 456, LOCATE_inheritance___MMDefaultAncestor___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1141,12 +1157,12 @@ void inheritance___MMDefaultAncestor___init(val_t  self, val_t  param0, val_t  p
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMDefaultAncestor].i]) return;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*b*/ ==  NIT_NULL /*null*/) || (( variable0 /*b*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*b*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*b*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*b*/,COLOR_kernel___Object_____eqeq))( variable0 /*b*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMDefaultAncestor___init, LOCATE_inheritance, 451); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMDefaultAncestor___init, LOCATE_inheritance, 458); nit_exit(1);}
   variable2 = ((abstractmetamodel___MMLocalClass___module_t)CALL( variable0 /*b*/,COLOR_abstractmetamodel___MMLocalClass___module))( variable0 /*b*/) /*MMLocalClass::module*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMDefaultAncestor___init, LOCATE_inheritance, 452); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMDefaultAncestor___init, LOCATE_inheritance, 459); nit_exit(1);}
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*anc*/ ==  NIT_NULL /*null*/) || (( variable1 /*anc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*anc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*anc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*anc*/,COLOR_kernel___Object_____eqeq))( variable1 /*anc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMDefaultAncestor___init, LOCATE_inheritance, 453); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMDefaultAncestor___init, LOCATE_inheritance, 460); nit_exit(1);}
   variable2 = ((static_type___MMLocalClass___get_type_t)CALL( variable0 /*b*/,COLOR_static_type___MMLocalClass___get_type))( variable0 /*b*/) /*MMLocalClass::get_type*/;
   ((static_type___MMAncestor___inheriter__eq_t)CALL( self,COLOR_static_type___MMAncestor___inheriter__eq))( self, variable2) /*MMAncestor::inheriter=*/;
   ((static_type___MMAncestor___stype__eq_t)CALL( self,COLOR_static_type___MMAncestor___stype__eq))( self,  variable1 /*anc*/) /*MMAncestor::stype=*/;
index 95275a2..5e05d7a 100644 (file)
@@ -21,38 +21,39 @@ extern const int SFT_inheritance[];
 #define COLOR_inheritance___MMLocalClass___compute_super_classes SFT_inheritance[5]
 #define COLOR_inheritance___MMLocalClass___compute_ancestors SFT_inheritance[6]
 #define COLOR_inheritance___MMLocalClass___inherit_global_properties SFT_inheritance[7]
-#define COLOR_inheritance___MMLocalClass___add_direct_parent SFT_inheritance[8]
-#define COLOR_inheritance___MMLocalClass___computed_super_classes SFT_inheritance[9]
-#define COLOR_inheritance___MMLocalClass___computed_ancestors SFT_inheritance[10]
-#define COLOR_inheritance___MMLocalClass___ancestor_for SFT_inheritance[11]
-#define COLOR_SUPER_inheritance___MMLocalClass_____bra SFT_inheritance[12]
-#define COLOR_inheritance___MMLocalClass___add_default_any_class SFT_inheritance[13]
-#define COLOR_inheritance___MMLocalClass___add_super_classes SFT_inheritance[14]
-#define COLOR_inheritance___MMLocalClass___add_explicit_classes SFT_inheritance[15]
-#define COLOR_inheritance___MMLocalClass___compute_super_parents SFT_inheritance[16]
-#define COLOR_inheritance___MMLocalClass___build_ancestors SFT_inheritance[17]
-#define COLOR_inheritance___MMLocalClass___group_ancestors SFT_inheritance[18]
-#define COLOR_inheritance___MMLocalClass___merge_ancestors SFT_inheritance[19]
-#define COLOR_inheritance___MMLocalClass___inherit_local_property SFT_inheritance[20]
-#define COLOR_inheritance___MMLocalProperty___inherit_global SFT_inheritance[21]
-#define COLOR_inheritance___MMAncestor___add_in SFT_inheritance[22]
-#define ID_MMImplicitLocalClass SFT_inheritance[23]
-#define COLOR_MMImplicitLocalClass SFT_inheritance[24]
-#define INIT_TABLE_POS_MMImplicitLocalClass SFT_inheritance[25]
-#define COLOR_inheritance___MMImplicitLocalClass___init SFT_inheritance[26]
-#define ID_MMRefineAncestor SFT_inheritance[27]
-#define COLOR_MMRefineAncestor SFT_inheritance[28]
-#define COLOR_inheritance___MMRefineAncestor____local_class SFT_inheritance[29]
-#define INIT_TABLE_POS_MMRefineAncestor SFT_inheritance[30]
-#define COLOR_inheritance___MMRefineAncestor___init SFT_inheritance[31]
-#define ID_MMSpecAncestor SFT_inheritance[32]
-#define COLOR_MMSpecAncestor SFT_inheritance[33]
-#define INIT_TABLE_POS_MMSpecAncestor SFT_inheritance[34]
-#define COLOR_inheritance___MMSpecAncestor___init SFT_inheritance[35]
-#define ID_MMDefaultAncestor SFT_inheritance[36]
-#define COLOR_MMDefaultAncestor SFT_inheritance[37]
-#define INIT_TABLE_POS_MMDefaultAncestor SFT_inheritance[38]
-#define COLOR_inheritance___MMDefaultAncestor___init SFT_inheritance[39]
+#define COLOR_inheritance___MMLocalClass___make_visible_an_inherited_global_property SFT_inheritance[8]
+#define COLOR_inheritance___MMLocalClass___add_direct_parent SFT_inheritance[9]
+#define COLOR_inheritance___MMLocalClass___computed_super_classes SFT_inheritance[10]
+#define COLOR_inheritance___MMLocalClass___computed_ancestors SFT_inheritance[11]
+#define COLOR_inheritance___MMLocalClass___ancestor_for SFT_inheritance[12]
+#define COLOR_SUPER_inheritance___MMLocalClass_____bra SFT_inheritance[13]
+#define COLOR_inheritance___MMLocalClass___add_default_any_class SFT_inheritance[14]
+#define COLOR_inheritance___MMLocalClass___add_super_classes SFT_inheritance[15]
+#define COLOR_inheritance___MMLocalClass___add_explicit_classes SFT_inheritance[16]
+#define COLOR_inheritance___MMLocalClass___compute_super_parents SFT_inheritance[17]
+#define COLOR_inheritance___MMLocalClass___build_ancestors SFT_inheritance[18]
+#define COLOR_inheritance___MMLocalClass___group_ancestors SFT_inheritance[19]
+#define COLOR_inheritance___MMLocalClass___merge_ancestors SFT_inheritance[20]
+#define COLOR_inheritance___MMLocalClass___inherit_local_property SFT_inheritance[21]
+#define COLOR_inheritance___MMLocalProperty___inherit_global SFT_inheritance[22]
+#define COLOR_inheritance___MMAncestor___add_in SFT_inheritance[23]
+#define ID_MMImplicitLocalClass SFT_inheritance[24]
+#define COLOR_MMImplicitLocalClass SFT_inheritance[25]
+#define INIT_TABLE_POS_MMImplicitLocalClass SFT_inheritance[26]
+#define COLOR_inheritance___MMImplicitLocalClass___init SFT_inheritance[27]
+#define ID_MMRefineAncestor SFT_inheritance[28]
+#define COLOR_MMRefineAncestor SFT_inheritance[29]
+#define COLOR_inheritance___MMRefineAncestor____local_class SFT_inheritance[30]
+#define INIT_TABLE_POS_MMRefineAncestor SFT_inheritance[31]
+#define COLOR_inheritance___MMRefineAncestor___init SFT_inheritance[32]
+#define ID_MMSpecAncestor SFT_inheritance[33]
+#define COLOR_MMSpecAncestor SFT_inheritance[34]
+#define INIT_TABLE_POS_MMSpecAncestor SFT_inheritance[35]
+#define COLOR_inheritance___MMSpecAncestor___init SFT_inheritance[36]
+#define ID_MMDefaultAncestor SFT_inheritance[37]
+#define COLOR_MMDefaultAncestor SFT_inheritance[38]
+#define INIT_TABLE_POS_MMDefaultAncestor SFT_inheritance[39]
+#define COLOR_inheritance___MMDefaultAncestor___init SFT_inheritance[40]
 typedef val_t (* inheritance___MMModule___type_any_t)(val_t  self);
 val_t inheritance___MMModule___type_any(val_t  self);
 #define LOCATE_inheritance___MMModule___type_any "inheritance::MMModule::type_any"
@@ -73,6 +74,9 @@ void inheritance___MMLocalClass___compute_ancestors(val_t  self);
 typedef void (* inheritance___MMLocalClass___inherit_global_properties_t)(val_t  self);
 void inheritance___MMLocalClass___inherit_global_properties(val_t  self);
 #define LOCATE_inheritance___MMLocalClass___inherit_global_properties "inheritance::MMLocalClass::inherit_global_properties"
+typedef void (* inheritance___MMLocalClass___make_visible_an_inherited_global_property_t)(val_t  self, val_t  param0);
+void inheritance___MMLocalClass___make_visible_an_inherited_global_property(val_t  self, val_t  param0);
+#define LOCATE_inheritance___MMLocalClass___make_visible_an_inherited_global_property "inheritance::MMLocalClass::make_visible_an_inherited_global_property"
 typedef void (* inheritance___MMLocalClass___add_direct_parent_t)(val_t  self, val_t  param0);
 void inheritance___MMLocalClass___add_direct_parent(val_t  self, val_t  param0);
 #define LOCATE_inheritance___MMLocalClass___add_direct_parent "inheritance::MMLocalClass::add_direct_parent"
index 29eb913..0b934e6 100644 (file)
@@ -75,6 +75,13 @@ void kernel___Sys___main(val_t  self) {
   tracehead = trace.prev;
   return;
 }
+void kernel___Sys___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_kernel___Sys___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
+  tracehead = trace.prev;
+  return;
+}
 val_t kernel___Comparable_____l(val_t  self, val_t  param0) {
   struct trace_t trace = {NULL, NULL, 69, LOCATE_kernel___Comparable_____l};
   trace.prev = tracehead; tracehead = &trace;
index 98530ae..5885b39 100644 (file)
@@ -42,64 +42,65 @@ extern const int SFT_kernel[];
 #define COLOR_Sys SFT_kernel[11]
 #define INIT_TABLE_POS_Sys SFT_kernel[12]
 #define COLOR_kernel___Sys___main SFT_kernel[13]
-#define ID_Comparable SFT_kernel[14]
-#define COLOR_Comparable SFT_kernel[15]
-#define INIT_TABLE_POS_Comparable SFT_kernel[16]
-#define COLOR_kernel___Comparable_____l SFT_kernel[17]
-#define COLOR_kernel___Comparable_____leq SFT_kernel[18]
-#define COLOR_kernel___Comparable_____geq SFT_kernel[19]
-#define COLOR_kernel___Comparable_____g SFT_kernel[20]
-#define COLOR_kernel___Comparable_____leqg SFT_kernel[21]
-#define COLOR_kernel___Comparable___is_between SFT_kernel[22]
-#define COLOR_kernel___Comparable___max SFT_kernel[23]
-#define COLOR_kernel___Comparable___min SFT_kernel[24]
-#define ID_Discrete SFT_kernel[25]
-#define COLOR_Discrete SFT_kernel[26]
-#define INIT_TABLE_POS_Discrete SFT_kernel[27]
-#define COLOR_kernel___Discrete___succ SFT_kernel[28]
-#define COLOR_kernel___Discrete___prec SFT_kernel[29]
-#define COLOR_kernel___Discrete_____plus SFT_kernel[30]
-#define COLOR_kernel___Discrete_____minus SFT_kernel[31]
-#define COLOR_kernel___Discrete___distance SFT_kernel[32]
-#define ID_Bool SFT_kernel[33]
-#define COLOR_Bool SFT_kernel[34]
-#define INIT_TABLE_POS_Bool SFT_kernel[35]
-#define ID_Float SFT_kernel[36]
-#define COLOR_Float SFT_kernel[37]
-#define INIT_TABLE_POS_Float SFT_kernel[38]
-#define COLOR_kernel___Float_____leq SFT_kernel[39]
-#define COLOR_kernel___Float_____l SFT_kernel[40]
-#define COLOR_kernel___Float_____geq SFT_kernel[41]
-#define COLOR_kernel___Float_____g SFT_kernel[42]
-#define COLOR_kernel___Float_____plus SFT_kernel[43]
-#define COLOR_kernel___Float___unary__minus SFT_kernel[44]
-#define COLOR_kernel___Float_____minus SFT_kernel[45]
-#define COLOR_kernel___Float_____star SFT_kernel[46]
-#define COLOR_kernel___Float_____slash SFT_kernel[47]
-#define COLOR_kernel___Float___to_i SFT_kernel[48]
-#define ID_Int SFT_kernel[49]
-#define COLOR_Int SFT_kernel[50]
-#define INIT_TABLE_POS_Int SFT_kernel[51]
-#define COLOR_kernel___Int___unary__minus SFT_kernel[52]
-#define COLOR_kernel___Int_____star SFT_kernel[53]
-#define COLOR_kernel___Int_____slash SFT_kernel[54]
-#define COLOR_kernel___Int_____percent SFT_kernel[55]
-#define COLOR_kernel___Int___lshift SFT_kernel[56]
-#define COLOR_kernel___Int___rshift SFT_kernel[57]
-#define COLOR_kernel___Int___to_f SFT_kernel[58]
-#define COLOR_kernel___Int___ascii SFT_kernel[59]
-#define COLOR_kernel___Int___digit_count SFT_kernel[60]
-#define COLOR_kernel___Int___to_c SFT_kernel[61]
-#define ID_Char SFT_kernel[62]
-#define COLOR_Char SFT_kernel[63]
-#define INIT_TABLE_POS_Char SFT_kernel[64]
-#define COLOR_kernel___Char___to_i SFT_kernel[65]
-#define COLOR_kernel___Char___ascii SFT_kernel[66]
-#define COLOR_kernel___Char___to_lower SFT_kernel[67]
-#define COLOR_kernel___Char___to_upper SFT_kernel[68]
-#define ID_Pointer SFT_kernel[69]
-#define COLOR_Pointer SFT_kernel[70]
-#define INIT_TABLE_POS_Pointer SFT_kernel[71]
+#define COLOR_kernel___Sys___init SFT_kernel[14]
+#define ID_Comparable SFT_kernel[15]
+#define COLOR_Comparable SFT_kernel[16]
+#define INIT_TABLE_POS_Comparable SFT_kernel[17]
+#define COLOR_kernel___Comparable_____l SFT_kernel[18]
+#define COLOR_kernel___Comparable_____leq SFT_kernel[19]
+#define COLOR_kernel___Comparable_____geq SFT_kernel[20]
+#define COLOR_kernel___Comparable_____g SFT_kernel[21]
+#define COLOR_kernel___Comparable_____leqg SFT_kernel[22]
+#define COLOR_kernel___Comparable___is_between SFT_kernel[23]
+#define COLOR_kernel___Comparable___max SFT_kernel[24]
+#define COLOR_kernel___Comparable___min SFT_kernel[25]
+#define ID_Discrete SFT_kernel[26]
+#define COLOR_Discrete SFT_kernel[27]
+#define INIT_TABLE_POS_Discrete SFT_kernel[28]
+#define COLOR_kernel___Discrete___succ SFT_kernel[29]
+#define COLOR_kernel___Discrete___prec SFT_kernel[30]
+#define COLOR_kernel___Discrete_____plus SFT_kernel[31]
+#define COLOR_kernel___Discrete_____minus SFT_kernel[32]
+#define COLOR_kernel___Discrete___distance SFT_kernel[33]
+#define ID_Bool SFT_kernel[34]
+#define COLOR_Bool SFT_kernel[35]
+#define INIT_TABLE_POS_Bool SFT_kernel[36]
+#define ID_Float SFT_kernel[37]
+#define COLOR_Float SFT_kernel[38]
+#define INIT_TABLE_POS_Float SFT_kernel[39]
+#define COLOR_kernel___Float_____leq SFT_kernel[40]
+#define COLOR_kernel___Float_____l SFT_kernel[41]
+#define COLOR_kernel___Float_____geq SFT_kernel[42]
+#define COLOR_kernel___Float_____g SFT_kernel[43]
+#define COLOR_kernel___Float_____plus SFT_kernel[44]
+#define COLOR_kernel___Float___unary__minus SFT_kernel[45]
+#define COLOR_kernel___Float_____minus SFT_kernel[46]
+#define COLOR_kernel___Float_____star SFT_kernel[47]
+#define COLOR_kernel___Float_____slash SFT_kernel[48]
+#define COLOR_kernel___Float___to_i SFT_kernel[49]
+#define ID_Int SFT_kernel[50]
+#define COLOR_Int SFT_kernel[51]
+#define INIT_TABLE_POS_Int SFT_kernel[52]
+#define COLOR_kernel___Int___unary__minus SFT_kernel[53]
+#define COLOR_kernel___Int_____star SFT_kernel[54]
+#define COLOR_kernel___Int_____slash SFT_kernel[55]
+#define COLOR_kernel___Int_____percent SFT_kernel[56]
+#define COLOR_kernel___Int___lshift SFT_kernel[57]
+#define COLOR_kernel___Int___rshift SFT_kernel[58]
+#define COLOR_kernel___Int___to_f SFT_kernel[59]
+#define COLOR_kernel___Int___ascii SFT_kernel[60]
+#define COLOR_kernel___Int___digit_count SFT_kernel[61]
+#define COLOR_kernel___Int___to_c SFT_kernel[62]
+#define ID_Char SFT_kernel[63]
+#define COLOR_Char SFT_kernel[64]
+#define INIT_TABLE_POS_Char SFT_kernel[65]
+#define COLOR_kernel___Char___to_i SFT_kernel[66]
+#define COLOR_kernel___Char___ascii SFT_kernel[67]
+#define COLOR_kernel___Char___to_lower SFT_kernel[68]
+#define COLOR_kernel___Char___to_upper SFT_kernel[69]
+#define ID_Pointer SFT_kernel[70]
+#define COLOR_Pointer SFT_kernel[71]
+#define INIT_TABLE_POS_Pointer SFT_kernel[72]
 typedef val_t (* kernel___Object___object_id_t)(val_t  self);
 val_t kernel___Object___object_id(val_t  self);
 #define LOCATE_kernel___Object___object_id "kernel::Object::object_id"
@@ -124,6 +125,10 @@ val_t kernel___Object___sys(val_t  self);
 typedef void (* kernel___Sys___main_t)(val_t  self);
 void kernel___Sys___main(val_t  self);
 #define LOCATE_kernel___Sys___main "kernel::Sys::main"
+typedef void (* kernel___Sys___init_t)(val_t  self, int* init_table);
+void kernel___Sys___init(val_t  self, int* init_table);
+val_t NEW_kernel___Sys___init();
+#define LOCATE_kernel___Sys___init "kernel::Sys::init"
 typedef val_t (* kernel___Comparable_____l_t)(val_t  self, val_t  param0);
 val_t kernel___Comparable_____l(val_t  self, val_t  param0);
 #define LOCATE_kernel___Comparable_____l "kernel::Comparable::<"
index d3b7ca2..96fc1b2 100644 (file)
@@ -57,14 +57,14 @@ val_t lexer___Token___to_s(val_t  self) {
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_lexer;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString("'"), TAG_Int(1)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("'"), TAG_Int(1)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = ATTR_lexer___Token____text( self) /*Token::_text*/;
   variable4 = variable3;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("'"), TAG_Int(1)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("'"), TAG_Int(1)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   goto return_label0;
@@ -83,8 +83,8 @@ val_t lexer___TEol___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TEol___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 26, LOCATE_lexer___TEol___init};
+void lexer___TEol___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_lexer___TEol___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -115,8 +115,8 @@ val_t lexer___TComment___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TComment___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 41, LOCATE_lexer___TComment___init};
+void lexer___TComment___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 41, LOCATE_lexer___TComment___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -147,8 +147,8 @@ val_t lexer___TKwpackage___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwpackage___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 56, LOCATE_lexer___TKwpackage___init};
+void lexer___TKwpackage___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 56, LOCATE_lexer___TKwpackage___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -162,7 +162,7 @@ void lexer___TKwpackage___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwpackage].i]) return;
   if (once_bool_variable3_7) variable3 = once_value_variable3_7;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("package"), TAG_Int(7)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("package"), TAG_Int(7)); /*new String*/
     once_value_variable3_7 = variable3;
     once_bool_variable3_7 = true;
   }
@@ -185,8 +185,8 @@ val_t lexer___TKwimport___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwimport___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 71, LOCATE_lexer___TKwimport___init};
+void lexer___TKwimport___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 71, LOCATE_lexer___TKwimport___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -200,7 +200,7 @@ void lexer___TKwimport___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwimport].i]) return;
   if (once_bool_variable3_10) variable3 = once_value_variable3_10;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("import"), TAG_Int(6)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("import"), TAG_Int(6)); /*new String*/
     once_value_variable3_10 = variable3;
     once_bool_variable3_10 = true;
   }
@@ -223,8 +223,8 @@ val_t lexer___TKwclass___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwclass___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 86, LOCATE_lexer___TKwclass___init};
+void lexer___TKwclass___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 86, LOCATE_lexer___TKwclass___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -238,7 +238,7 @@ void lexer___TKwclass___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwclass].i]) return;
   if (once_bool_variable3_13) variable3 = once_value_variable3_13;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("class"), TAG_Int(5)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("class"), TAG_Int(5)); /*new String*/
     once_value_variable3_13 = variable3;
     once_bool_variable3_13 = true;
   }
@@ -261,8 +261,8 @@ val_t lexer___TKwabstract___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwabstract___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 101, LOCATE_lexer___TKwabstract___init};
+void lexer___TKwabstract___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 101, LOCATE_lexer___TKwabstract___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -276,7 +276,7 @@ void lexer___TKwabstract___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwabstract].i]) return;
   if (once_bool_variable3_16) variable3 = once_value_variable3_16;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("abstract"), TAG_Int(8)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("abstract"), TAG_Int(8)); /*new String*/
     once_value_variable3_16 = variable3;
     once_bool_variable3_16 = true;
   }
@@ -299,8 +299,8 @@ val_t lexer___TKwinterface___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwinterface___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 116, LOCATE_lexer___TKwinterface___init};
+void lexer___TKwinterface___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 116, LOCATE_lexer___TKwinterface___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -314,7 +314,7 @@ void lexer___TKwinterface___init(val_t  self, val_t  param0, val_t  param1, val_
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwinterface].i]) return;
   if (once_bool_variable3_19) variable3 = once_value_variable3_19;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("interface"), TAG_Int(9)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("interface"), TAG_Int(9)); /*new String*/
     once_value_variable3_19 = variable3;
     once_bool_variable3_19 = true;
   }
@@ -337,8 +337,8 @@ val_t lexer___TKwuniversal___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwuniversal___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 131, LOCATE_lexer___TKwuniversal___init};
+void lexer___TKwuniversal___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 131, LOCATE_lexer___TKwuniversal___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -352,7 +352,7 @@ void lexer___TKwuniversal___init(val_t  self, val_t  param0, val_t  param1, val_
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwuniversal].i]) return;
   if (once_bool_variable3_22) variable3 = once_value_variable3_22;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("universal"), TAG_Int(9)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("universal"), TAG_Int(9)); /*new String*/
     once_value_variable3_22 = variable3;
     once_bool_variable3_22 = true;
   }
@@ -375,8 +375,8 @@ val_t lexer___TKwspecial___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwspecial___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 146, LOCATE_lexer___TKwspecial___init};
+void lexer___TKwspecial___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 146, LOCATE_lexer___TKwspecial___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -390,7 +390,7 @@ void lexer___TKwspecial___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwspecial].i]) return;
   if (once_bool_variable3_25) variable3 = once_value_variable3_25;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("special"), TAG_Int(7)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("special"), TAG_Int(7)); /*new String*/
     once_value_variable3_25 = variable3;
     once_bool_variable3_25 = true;
   }
@@ -413,8 +413,8 @@ val_t lexer___TKwend___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwend___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 161, LOCATE_lexer___TKwend___init};
+void lexer___TKwend___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 161, LOCATE_lexer___TKwend___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -428,7 +428,7 @@ void lexer___TKwend___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwend].i]) return;
   if (once_bool_variable3_28) variable3 = once_value_variable3_28;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("end"), TAG_Int(3)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("end"), TAG_Int(3)); /*new String*/
     once_value_variable3_28 = variable3;
     once_bool_variable3_28 = true;
   }
@@ -451,8 +451,8 @@ val_t lexer___TKwmeth___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwmeth___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 176, LOCATE_lexer___TKwmeth___init};
+void lexer___TKwmeth___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 176, LOCATE_lexer___TKwmeth___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -466,7 +466,7 @@ void lexer___TKwmeth___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwmeth].i]) return;
   if (once_bool_variable3_31) variable3 = once_value_variable3_31;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("meth"), TAG_Int(4)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("meth"), TAG_Int(4)); /*new String*/
     once_value_variable3_31 = variable3;
     once_bool_variable3_31 = true;
   }
@@ -489,8 +489,8 @@ val_t lexer___TKwtype___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwtype___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 191, LOCATE_lexer___TKwtype___init};
+void lexer___TKwtype___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 191, LOCATE_lexer___TKwtype___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -504,7 +504,7 @@ void lexer___TKwtype___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwtype].i]) return;
   if (once_bool_variable3_34) variable3 = once_value_variable3_34;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("type"), TAG_Int(4)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("type"), TAG_Int(4)); /*new String*/
     once_value_variable3_34 = variable3;
     once_bool_variable3_34 = true;
   }
@@ -527,8 +527,8 @@ val_t lexer___TKwattr___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwattr___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 206, LOCATE_lexer___TKwattr___init};
+void lexer___TKwattr___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 206, LOCATE_lexer___TKwattr___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -542,7 +542,7 @@ void lexer___TKwattr___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwattr].i]) return;
   if (once_bool_variable3_37) variable3 = once_value_variable3_37;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("attr"), TAG_Int(4)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("attr"), TAG_Int(4)); /*new String*/
     once_value_variable3_37 = variable3;
     once_bool_variable3_37 = true;
   }
@@ -565,8 +565,8 @@ val_t lexer___TKwinit___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwinit___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 221, LOCATE_lexer___TKwinit___init};
+void lexer___TKwinit___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 221, LOCATE_lexer___TKwinit___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -580,7 +580,7 @@ void lexer___TKwinit___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwinit].i]) return;
   if (once_bool_variable3_40) variable3 = once_value_variable3_40;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
     once_value_variable3_40 = variable3;
     once_bool_variable3_40 = true;
   }
@@ -603,8 +603,8 @@ val_t lexer___TKwredef___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwredef___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 236, LOCATE_lexer___TKwredef___init};
+void lexer___TKwredef___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 236, LOCATE_lexer___TKwredef___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -618,7 +618,7 @@ void lexer___TKwredef___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwredef].i]) return;
   if (once_bool_variable3_43) variable3 = once_value_variable3_43;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("redef"), TAG_Int(5)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("redef"), TAG_Int(5)); /*new String*/
     once_value_variable3_43 = variable3;
     once_bool_variable3_43 = true;
   }
@@ -641,8 +641,8 @@ val_t lexer___TKwis___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwis___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 251, LOCATE_lexer___TKwis___init};
+void lexer___TKwis___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 251, LOCATE_lexer___TKwis___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -656,7 +656,7 @@ void lexer___TKwis___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwis].i]) return;
   if (once_bool_variable3_46) variable3 = once_value_variable3_46;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("is"), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("is"), TAG_Int(2)); /*new String*/
     once_value_variable3_46 = variable3;
     once_bool_variable3_46 = true;
   }
@@ -679,8 +679,8 @@ val_t lexer___TKwdo___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwdo___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 266, LOCATE_lexer___TKwdo___init};
+void lexer___TKwdo___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 266, LOCATE_lexer___TKwdo___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -694,7 +694,7 @@ void lexer___TKwdo___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwdo].i]) return;
   if (once_bool_variable3_49) variable3 = once_value_variable3_49;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("do"), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("do"), TAG_Int(2)); /*new String*/
     once_value_variable3_49 = variable3;
     once_bool_variable3_49 = true;
   }
@@ -717,8 +717,8 @@ val_t lexer___TKwreadable___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwreadable___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 281, LOCATE_lexer___TKwreadable___init};
+void lexer___TKwreadable___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 281, LOCATE_lexer___TKwreadable___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -732,7 +732,7 @@ void lexer___TKwreadable___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwreadable].i]) return;
   if (once_bool_variable3_52) variable3 = once_value_variable3_52;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("readable"), TAG_Int(8)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("readable"), TAG_Int(8)); /*new String*/
     once_value_variable3_52 = variable3;
     once_bool_variable3_52 = true;
   }
@@ -755,8 +755,8 @@ val_t lexer___TKwwritable___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwwritable___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 296, LOCATE_lexer___TKwwritable___init};
+void lexer___TKwwritable___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 296, LOCATE_lexer___TKwwritable___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -770,7 +770,7 @@ void lexer___TKwwritable___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwwritable].i]) return;
   if (once_bool_variable3_55) variable3 = once_value_variable3_55;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("writable"), TAG_Int(8)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("writable"), TAG_Int(8)); /*new String*/
     once_value_variable3_55 = variable3;
     once_bool_variable3_55 = true;
   }
@@ -793,8 +793,8 @@ val_t lexer___TKwvar___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwvar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 311, LOCATE_lexer___TKwvar___init};
+void lexer___TKwvar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 311, LOCATE_lexer___TKwvar___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -808,7 +808,7 @@ void lexer___TKwvar___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwvar].i]) return;
   if (once_bool_variable3_58) variable3 = once_value_variable3_58;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("var"), TAG_Int(3)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("var"), TAG_Int(3)); /*new String*/
     once_value_variable3_58 = variable3;
     once_bool_variable3_58 = true;
   }
@@ -831,8 +831,8 @@ val_t lexer___TKwintern___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwintern___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 326, LOCATE_lexer___TKwintern___init};
+void lexer___TKwintern___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 326, LOCATE_lexer___TKwintern___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -846,7 +846,7 @@ void lexer___TKwintern___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwintern].i]) return;
   if (once_bool_variable3_61) variable3 = once_value_variable3_61;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("intern"), TAG_Int(6)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("intern"), TAG_Int(6)); /*new String*/
     once_value_variable3_61 = variable3;
     once_bool_variable3_61 = true;
   }
@@ -869,8 +869,8 @@ val_t lexer___TKwextern___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwextern___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 341, LOCATE_lexer___TKwextern___init};
+void lexer___TKwextern___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 341, LOCATE_lexer___TKwextern___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -884,7 +884,7 @@ void lexer___TKwextern___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwextern].i]) return;
   if (once_bool_variable3_64) variable3 = once_value_variable3_64;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("extern"), TAG_Int(6)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("extern"), TAG_Int(6)); /*new String*/
     once_value_variable3_64 = variable3;
     once_bool_variable3_64 = true;
   }
@@ -907,8 +907,8 @@ val_t lexer___TKwprotected___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwprotected___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 356, LOCATE_lexer___TKwprotected___init};
+void lexer___TKwprotected___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 356, LOCATE_lexer___TKwprotected___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -922,7 +922,7 @@ void lexer___TKwprotected___init(val_t  self, val_t  param0, val_t  param1, val_
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwprotected].i]) return;
   if (once_bool_variable3_67) variable3 = once_value_variable3_67;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("protected"), TAG_Int(9)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("protected"), TAG_Int(9)); /*new String*/
     once_value_variable3_67 = variable3;
     once_bool_variable3_67 = true;
   }
@@ -945,8 +945,8 @@ val_t lexer___TKwprivate___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwprivate___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 371, LOCATE_lexer___TKwprivate___init};
+void lexer___TKwprivate___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 371, LOCATE_lexer___TKwprivate___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -960,7 +960,7 @@ void lexer___TKwprivate___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwprivate].i]) return;
   if (once_bool_variable3_70) variable3 = once_value_variable3_70;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("private"), TAG_Int(7)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("private"), TAG_Int(7)); /*new String*/
     once_value_variable3_70 = variable3;
     once_bool_variable3_70 = true;
   }
@@ -983,8 +983,8 @@ val_t lexer___TKwintrude___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwintrude___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 386, LOCATE_lexer___TKwintrude___init};
+void lexer___TKwintrude___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 386, LOCATE_lexer___TKwintrude___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -998,7 +998,7 @@ void lexer___TKwintrude___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwintrude].i]) return;
   if (once_bool_variable3_73) variable3 = once_value_variable3_73;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("intrude"), TAG_Int(7)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("intrude"), TAG_Int(7)); /*new String*/
     once_value_variable3_73 = variable3;
     once_bool_variable3_73 = true;
   }
@@ -1021,8 +1021,8 @@ val_t lexer___TKwif___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwif___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 401, LOCATE_lexer___TKwif___init};
+void lexer___TKwif___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 401, LOCATE_lexer___TKwif___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1036,7 +1036,7 @@ void lexer___TKwif___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwif].i]) return;
   if (once_bool_variable3_76) variable3 = once_value_variable3_76;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("if"), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("if"), TAG_Int(2)); /*new String*/
     once_value_variable3_76 = variable3;
     once_bool_variable3_76 = true;
   }
@@ -1059,8 +1059,8 @@ val_t lexer___TKwthen___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwthen___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 416, LOCATE_lexer___TKwthen___init};
+void lexer___TKwthen___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 416, LOCATE_lexer___TKwthen___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1074,7 +1074,7 @@ void lexer___TKwthen___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwthen].i]) return;
   if (once_bool_variable3_79) variable3 = once_value_variable3_79;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("then"), TAG_Int(4)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("then"), TAG_Int(4)); /*new String*/
     once_value_variable3_79 = variable3;
     once_bool_variable3_79 = true;
   }
@@ -1097,8 +1097,8 @@ val_t lexer___TKwelse___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwelse___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 431, LOCATE_lexer___TKwelse___init};
+void lexer___TKwelse___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 431, LOCATE_lexer___TKwelse___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1112,7 +1112,7 @@ void lexer___TKwelse___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwelse].i]) return;
   if (once_bool_variable3_82) variable3 = once_value_variable3_82;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("else"), TAG_Int(4)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("else"), TAG_Int(4)); /*new String*/
     once_value_variable3_82 = variable3;
     once_bool_variable3_82 = true;
   }
@@ -1135,8 +1135,8 @@ val_t lexer___TKwwhile___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwwhile___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 446, LOCATE_lexer___TKwwhile___init};
+void lexer___TKwwhile___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 446, LOCATE_lexer___TKwwhile___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1150,7 +1150,7 @@ void lexer___TKwwhile___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwwhile].i]) return;
   if (once_bool_variable3_85) variable3 = once_value_variable3_85;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("while"), TAG_Int(5)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("while"), TAG_Int(5)); /*new String*/
     once_value_variable3_85 = variable3;
     once_bool_variable3_85 = true;
   }
@@ -1173,8 +1173,8 @@ val_t lexer___TKwfor___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwfor___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 461, LOCATE_lexer___TKwfor___init};
+void lexer___TKwfor___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 461, LOCATE_lexer___TKwfor___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1188,7 +1188,7 @@ void lexer___TKwfor___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwfor].i]) return;
   if (once_bool_variable3_88) variable3 = once_value_variable3_88;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("for"), TAG_Int(3)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("for"), TAG_Int(3)); /*new String*/
     once_value_variable3_88 = variable3;
     once_bool_variable3_88 = true;
   }
@@ -1211,8 +1211,8 @@ val_t lexer___TKwin___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwin___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 476, LOCATE_lexer___TKwin___init};
+void lexer___TKwin___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 476, LOCATE_lexer___TKwin___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1226,7 +1226,7 @@ void lexer___TKwin___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwin].i]) return;
   if (once_bool_variable3_91) variable3 = once_value_variable3_91;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("in"), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("in"), TAG_Int(2)); /*new String*/
     once_value_variable3_91 = variable3;
     once_bool_variable3_91 = true;
   }
@@ -1249,8 +1249,8 @@ val_t lexer___TKwand___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwand___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 491, LOCATE_lexer___TKwand___init};
+void lexer___TKwand___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 491, LOCATE_lexer___TKwand___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1264,7 +1264,7 @@ void lexer___TKwand___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwand].i]) return;
   if (once_bool_variable3_94) variable3 = once_value_variable3_94;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("and"), TAG_Int(3)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("and"), TAG_Int(3)); /*new String*/
     once_value_variable3_94 = variable3;
     once_bool_variable3_94 = true;
   }
@@ -1287,8 +1287,8 @@ val_t lexer___TKwor___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwor___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 506, LOCATE_lexer___TKwor___init};
+void lexer___TKwor___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 506, LOCATE_lexer___TKwor___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1302,7 +1302,7 @@ void lexer___TKwor___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwor].i]) return;
   if (once_bool_variable3_97) variable3 = once_value_variable3_97;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("or"), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("or"), TAG_Int(2)); /*new String*/
     once_value_variable3_97 = variable3;
     once_bool_variable3_97 = true;
   }
@@ -1325,8 +1325,8 @@ val_t lexer___TKwnot___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwnot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 521, LOCATE_lexer___TKwnot___init};
+void lexer___TKwnot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 521, LOCATE_lexer___TKwnot___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1340,7 +1340,7 @@ void lexer___TKwnot___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwnot].i]) return;
   if (once_bool_variable3_100) variable3 = once_value_variable3_100;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("not"), TAG_Int(3)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("not"), TAG_Int(3)); /*new String*/
     once_value_variable3_100 = variable3;
     once_bool_variable3_100 = true;
   }
@@ -1363,8 +1363,8 @@ val_t lexer___TKwreturn___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwreturn___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 536, LOCATE_lexer___TKwreturn___init};
+void lexer___TKwreturn___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 536, LOCATE_lexer___TKwreturn___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1378,7 +1378,7 @@ void lexer___TKwreturn___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwreturn].i]) return;
   if (once_bool_variable3_103) variable3 = once_value_variable3_103;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("return"), TAG_Int(6)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("return"), TAG_Int(6)); /*new String*/
     once_value_variable3_103 = variable3;
     once_bool_variable3_103 = true;
   }
@@ -1401,8 +1401,8 @@ val_t lexer___TKwcontinue___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwcontinue___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 551, LOCATE_lexer___TKwcontinue___init};
+void lexer___TKwcontinue___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 551, LOCATE_lexer___TKwcontinue___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1416,7 +1416,7 @@ void lexer___TKwcontinue___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwcontinue].i]) return;
   if (once_bool_variable3_106) variable3 = once_value_variable3_106;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("continue"), TAG_Int(8)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("continue"), TAG_Int(8)); /*new String*/
     once_value_variable3_106 = variable3;
     once_bool_variable3_106 = true;
   }
@@ -1439,8 +1439,8 @@ val_t lexer___TKwbreak___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwbreak___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 566, LOCATE_lexer___TKwbreak___init};
+void lexer___TKwbreak___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 566, LOCATE_lexer___TKwbreak___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1454,7 +1454,7 @@ void lexer___TKwbreak___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwbreak].i]) return;
   if (once_bool_variable3_109) variable3 = once_value_variable3_109;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("break"), TAG_Int(5)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("break"), TAG_Int(5)); /*new String*/
     once_value_variable3_109 = variable3;
     once_bool_variable3_109 = true;
   }
@@ -1477,8 +1477,8 @@ val_t lexer___TKwabort___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwabort___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 581, LOCATE_lexer___TKwabort___init};
+void lexer___TKwabort___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 581, LOCATE_lexer___TKwabort___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1492,7 +1492,7 @@ void lexer___TKwabort___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwabort].i]) return;
   if (once_bool_variable3_112) variable3 = once_value_variable3_112;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("abort"), TAG_Int(5)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("abort"), TAG_Int(5)); /*new String*/
     once_value_variable3_112 = variable3;
     once_bool_variable3_112 = true;
   }
@@ -1515,8 +1515,8 @@ val_t lexer___TKwassert___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwassert___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 596, LOCATE_lexer___TKwassert___init};
+void lexer___TKwassert___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 596, LOCATE_lexer___TKwassert___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1530,7 +1530,7 @@ void lexer___TKwassert___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwassert].i]) return;
   if (once_bool_variable3_115) variable3 = once_value_variable3_115;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("assert"), TAG_Int(6)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("assert"), TAG_Int(6)); /*new String*/
     once_value_variable3_115 = variable3;
     once_bool_variable3_115 = true;
   }
@@ -1553,8 +1553,8 @@ val_t lexer___TKwnew___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwnew___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 611, LOCATE_lexer___TKwnew___init};
+void lexer___TKwnew___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 611, LOCATE_lexer___TKwnew___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1568,7 +1568,7 @@ void lexer___TKwnew___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwnew].i]) return;
   if (once_bool_variable3_118) variable3 = once_value_variable3_118;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("new"), TAG_Int(3)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("new"), TAG_Int(3)); /*new String*/
     once_value_variable3_118 = variable3;
     once_bool_variable3_118 = true;
   }
@@ -1591,8 +1591,8 @@ val_t lexer___TKwisa___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwisa___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 626, LOCATE_lexer___TKwisa___init};
+void lexer___TKwisa___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 626, LOCATE_lexer___TKwisa___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1606,7 +1606,7 @@ void lexer___TKwisa___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwisa].i]) return;
   if (once_bool_variable3_121) variable3 = once_value_variable3_121;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("isa"), TAG_Int(3)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("isa"), TAG_Int(3)); /*new String*/
     once_value_variable3_121 = variable3;
     once_bool_variable3_121 = true;
   }
@@ -1629,8 +1629,8 @@ val_t lexer___TKwonce___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwonce___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 641, LOCATE_lexer___TKwonce___init};
+void lexer___TKwonce___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 641, LOCATE_lexer___TKwonce___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1644,7 +1644,7 @@ void lexer___TKwonce___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwonce].i]) return;
   if (once_bool_variable3_124) variable3 = once_value_variable3_124;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("once"), TAG_Int(4)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("once"), TAG_Int(4)); /*new String*/
     once_value_variable3_124 = variable3;
     once_bool_variable3_124 = true;
   }
@@ -1667,8 +1667,8 @@ val_t lexer___TKwsuper___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwsuper___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 656, LOCATE_lexer___TKwsuper___init};
+void lexer___TKwsuper___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 656, LOCATE_lexer___TKwsuper___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1682,7 +1682,7 @@ void lexer___TKwsuper___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwsuper].i]) return;
   if (once_bool_variable3_127) variable3 = once_value_variable3_127;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("super"), TAG_Int(5)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("super"), TAG_Int(5)); /*new String*/
     once_value_variable3_127 = variable3;
     once_bool_variable3_127 = true;
   }
@@ -1705,8 +1705,8 @@ val_t lexer___TKwself___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwself___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 671, LOCATE_lexer___TKwself___init};
+void lexer___TKwself___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 671, LOCATE_lexer___TKwself___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1720,7 +1720,7 @@ void lexer___TKwself___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwself].i]) return;
   if (once_bool_variable3_130) variable3 = once_value_variable3_130;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("self"), TAG_Int(4)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("self"), TAG_Int(4)); /*new String*/
     once_value_variable3_130 = variable3;
     once_bool_variable3_130 = true;
   }
@@ -1743,8 +1743,8 @@ val_t lexer___TKwtrue___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwtrue___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 686, LOCATE_lexer___TKwtrue___init};
+void lexer___TKwtrue___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 686, LOCATE_lexer___TKwtrue___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1758,7 +1758,7 @@ void lexer___TKwtrue___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwtrue].i]) return;
   if (once_bool_variable3_133) variable3 = once_value_variable3_133;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("true"), TAG_Int(4)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("true"), TAG_Int(4)); /*new String*/
     once_value_variable3_133 = variable3;
     once_bool_variable3_133 = true;
   }
@@ -1781,8 +1781,8 @@ val_t lexer___TKwfalse___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwfalse___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 701, LOCATE_lexer___TKwfalse___init};
+void lexer___TKwfalse___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 701, LOCATE_lexer___TKwfalse___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1796,7 +1796,7 @@ void lexer___TKwfalse___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwfalse].i]) return;
   if (once_bool_variable3_136) variable3 = once_value_variable3_136;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("false"), TAG_Int(5)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("false"), TAG_Int(5)); /*new String*/
     once_value_variable3_136 = variable3;
     once_bool_variable3_136 = true;
   }
@@ -1819,8 +1819,8 @@ val_t lexer___TKwnull___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwnull___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 716, LOCATE_lexer___TKwnull___init};
+void lexer___TKwnull___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 716, LOCATE_lexer___TKwnull___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1834,7 +1834,7 @@ void lexer___TKwnull___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwnull].i]) return;
   if (once_bool_variable3_139) variable3 = once_value_variable3_139;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("null"), TAG_Int(4)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("null"), TAG_Int(4)); /*new String*/
     once_value_variable3_139 = variable3;
     once_bool_variable3_139 = true;
   }
@@ -1857,8 +1857,8 @@ val_t lexer___TKwas___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TKwas___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 731, LOCATE_lexer___TKwas___init};
+void lexer___TKwas___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 731, LOCATE_lexer___TKwas___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1872,7 +1872,7 @@ void lexer___TKwas___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwas].i]) return;
   if (once_bool_variable3_142) variable3 = once_value_variable3_142;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("as"), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("as"), TAG_Int(2)); /*new String*/
     once_value_variable3_142 = variable3;
     once_bool_variable3_142 = true;
   }
@@ -1895,8 +1895,8 @@ val_t lexer___TOpar___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TOpar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 746, LOCATE_lexer___TOpar___init};
+void lexer___TOpar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 746, LOCATE_lexer___TOpar___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1910,7 +1910,7 @@ void lexer___TOpar___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TOpar].i]) return;
   if (once_bool_variable3_145) variable3 = once_value_variable3_145;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
     once_value_variable3_145 = variable3;
     once_bool_variable3_145 = true;
   }
@@ -1933,8 +1933,8 @@ val_t lexer___TCpar___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TCpar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 761, LOCATE_lexer___TCpar___init};
+void lexer___TCpar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 761, LOCATE_lexer___TCpar___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1948,7 +1948,7 @@ void lexer___TCpar___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TCpar].i]) return;
   if (once_bool_variable3_148) variable3 = once_value_variable3_148;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
     once_value_variable3_148 = variable3;
     once_bool_variable3_148 = true;
   }
@@ -1971,8 +1971,8 @@ val_t lexer___TObra___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TObra___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 776, LOCATE_lexer___TObra___init};
+void lexer___TObra___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 776, LOCATE_lexer___TObra___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1986,7 +1986,7 @@ void lexer___TObra___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TObra].i]) return;
   if (once_bool_variable3_151) variable3 = once_value_variable3_151;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
     once_value_variable3_151 = variable3;
     once_bool_variable3_151 = true;
   }
@@ -2009,8 +2009,8 @@ val_t lexer___TCbra___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TCbra___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 791, LOCATE_lexer___TCbra___init};
+void lexer___TCbra___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 791, LOCATE_lexer___TCbra___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2024,7 +2024,7 @@ void lexer___TCbra___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TCbra].i]) return;
   if (once_bool_variable3_154) variable3 = once_value_variable3_154;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
     once_value_variable3_154 = variable3;
     once_bool_variable3_154 = true;
   }
@@ -2047,8 +2047,8 @@ val_t lexer___TComma___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TComma___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 806, LOCATE_lexer___TComma___init};
+void lexer___TComma___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 806, LOCATE_lexer___TComma___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2062,7 +2062,7 @@ void lexer___TComma___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TComma].i]) return;
   if (once_bool_variable3_157) variable3 = once_value_variable3_157;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
     once_value_variable3_157 = variable3;
     once_bool_variable3_157 = true;
   }
@@ -2085,8 +2085,8 @@ val_t lexer___TColumn___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TColumn___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 821, LOCATE_lexer___TColumn___init};
+void lexer___TColumn___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 821, LOCATE_lexer___TColumn___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2100,7 +2100,7 @@ void lexer___TColumn___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TColumn].i]) return;
   if (once_bool_variable3_160) variable3 = once_value_variable3_160;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
     once_value_variable3_160 = variable3;
     once_bool_variable3_160 = true;
   }
@@ -2123,8 +2123,8 @@ val_t lexer___TQuad___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TQuad___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 836, LOCATE_lexer___TQuad___init};
+void lexer___TQuad___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 836, LOCATE_lexer___TQuad___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2138,7 +2138,7 @@ void lexer___TQuad___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TQuad].i]) return;
   if (once_bool_variable3_163) variable3 = once_value_variable3_163;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
     once_value_variable3_163 = variable3;
     once_bool_variable3_163 = true;
   }
@@ -2161,8 +2161,8 @@ val_t lexer___TAssign___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TAssign___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 851, LOCATE_lexer___TAssign___init};
+void lexer___TAssign___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 851, LOCATE_lexer___TAssign___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2176,7 +2176,7 @@ void lexer___TAssign___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TAssign].i]) return;
   if (once_bool_variable3_166) variable3 = once_value_variable3_166;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
     once_value_variable3_166 = variable3;
     once_bool_variable3_166 = true;
   }
@@ -2199,8 +2199,8 @@ val_t lexer___TPluseq___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TPluseq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 866, LOCATE_lexer___TPluseq___init};
+void lexer___TPluseq___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 866, LOCATE_lexer___TPluseq___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2214,7 +2214,7 @@ void lexer___TPluseq___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPluseq].i]) return;
   if (once_bool_variable3_169) variable3 = once_value_variable3_169;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("+="), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("+="), TAG_Int(2)); /*new String*/
     once_value_variable3_169 = variable3;
     once_bool_variable3_169 = true;
   }
@@ -2237,8 +2237,8 @@ val_t lexer___TMinuseq___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TMinuseq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 881, LOCATE_lexer___TMinuseq___init};
+void lexer___TMinuseq___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 881, LOCATE_lexer___TMinuseq___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2252,7 +2252,7 @@ void lexer___TMinuseq___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TMinuseq].i]) return;
   if (once_bool_variable3_172) variable3 = once_value_variable3_172;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("-="), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("-="), TAG_Int(2)); /*new String*/
     once_value_variable3_172 = variable3;
     once_bool_variable3_172 = true;
   }
@@ -2275,8 +2275,8 @@ val_t lexer___TDotdotdot___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TDotdotdot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 896, LOCATE_lexer___TDotdotdot___init};
+void lexer___TDotdotdot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 896, LOCATE_lexer___TDotdotdot___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2290,7 +2290,7 @@ void lexer___TDotdotdot___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDotdotdot].i]) return;
   if (once_bool_variable3_175) variable3 = once_value_variable3_175;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("..."), TAG_Int(3)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("..."), TAG_Int(3)); /*new String*/
     once_value_variable3_175 = variable3;
     once_bool_variable3_175 = true;
   }
@@ -2313,8 +2313,8 @@ val_t lexer___TDotdot___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TDotdot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 911, LOCATE_lexer___TDotdot___init};
+void lexer___TDotdot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 911, LOCATE_lexer___TDotdot___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2328,7 +2328,7 @@ void lexer___TDotdot___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDotdot].i]) return;
   if (once_bool_variable3_178) variable3 = once_value_variable3_178;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString(".."), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString(".."), TAG_Int(2)); /*new String*/
     once_value_variable3_178 = variable3;
     once_bool_variable3_178 = true;
   }
@@ -2351,8 +2351,8 @@ val_t lexer___TDot___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TDot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 926, LOCATE_lexer___TDot___init};
+void lexer___TDot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 926, LOCATE_lexer___TDot___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2366,7 +2366,7 @@ void lexer___TDot___init(val_t  self, val_t  param0, val_t  param1, val_t  param
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDot].i]) return;
   if (once_bool_variable3_181) variable3 = once_value_variable3_181;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
     once_value_variable3_181 = variable3;
     once_bool_variable3_181 = true;
   }
@@ -2389,8 +2389,8 @@ val_t lexer___TPlus___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TPlus___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 941, LOCATE_lexer___TPlus___init};
+void lexer___TPlus___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 941, LOCATE_lexer___TPlus___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2404,7 +2404,7 @@ void lexer___TPlus___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPlus].i]) return;
   if (once_bool_variable3_184) variable3 = once_value_variable3_184;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
     once_value_variable3_184 = variable3;
     once_bool_variable3_184 = true;
   }
@@ -2427,8 +2427,8 @@ val_t lexer___TMinus___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TMinus___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 956, LOCATE_lexer___TMinus___init};
+void lexer___TMinus___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 956, LOCATE_lexer___TMinus___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2442,7 +2442,7 @@ void lexer___TMinus___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TMinus].i]) return;
   if (once_bool_variable3_187) variable3 = once_value_variable3_187;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
     once_value_variable3_187 = variable3;
     once_bool_variable3_187 = true;
   }
@@ -2465,8 +2465,8 @@ val_t lexer___TStar___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TStar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 971, LOCATE_lexer___TStar___init};
+void lexer___TStar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 971, LOCATE_lexer___TStar___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2480,7 +2480,7 @@ void lexer___TStar___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TStar].i]) return;
   if (once_bool_variable3_190) variable3 = once_value_variable3_190;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
     once_value_variable3_190 = variable3;
     once_bool_variable3_190 = true;
   }
@@ -2503,8 +2503,8 @@ val_t lexer___TSlash___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TSlash___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 986, LOCATE_lexer___TSlash___init};
+void lexer___TSlash___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 986, LOCATE_lexer___TSlash___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2518,7 +2518,7 @@ void lexer___TSlash___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TSlash].i]) return;
   if (once_bool_variable3_193) variable3 = once_value_variable3_193;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
     once_value_variable3_193 = variable3;
     once_bool_variable3_193 = true;
   }
@@ -2541,8 +2541,8 @@ val_t lexer___TPercent___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TPercent___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1001, LOCATE_lexer___TPercent___init};
+void lexer___TPercent___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1001, LOCATE_lexer___TPercent___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2556,7 +2556,7 @@ void lexer___TPercent___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPercent].i]) return;
   if (once_bool_variable3_196) variable3 = once_value_variable3_196;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
     once_value_variable3_196 = variable3;
     once_bool_variable3_196 = true;
   }
@@ -2579,8 +2579,8 @@ val_t lexer___TEq___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TEq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1016, LOCATE_lexer___TEq___init};
+void lexer___TEq___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1016, LOCATE_lexer___TEq___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2594,7 +2594,7 @@ void lexer___TEq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TEq].i]) return;
   if (once_bool_variable3_199) variable3 = once_value_variable3_199;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
     once_value_variable3_199 = variable3;
     once_bool_variable3_199 = true;
   }
@@ -2617,8 +2617,8 @@ val_t lexer___TNe___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TNe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1031, LOCATE_lexer___TNe___init};
+void lexer___TNe___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1031, LOCATE_lexer___TNe___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2632,7 +2632,7 @@ void lexer___TNe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TNe].i]) return;
   if (once_bool_variable3_202) variable3 = once_value_variable3_202;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
     once_value_variable3_202 = variable3;
     once_bool_variable3_202 = true;
   }
@@ -2655,8 +2655,8 @@ val_t lexer___TLt___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TLt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1046, LOCATE_lexer___TLt___init};
+void lexer___TLt___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1046, LOCATE_lexer___TLt___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2670,7 +2670,7 @@ void lexer___TLt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TLt].i]) return;
   if (once_bool_variable3_205) variable3 = once_value_variable3_205;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
     once_value_variable3_205 = variable3;
     once_bool_variable3_205 = true;
   }
@@ -2693,8 +2693,8 @@ val_t lexer___TLe___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TLe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1061, LOCATE_lexer___TLe___init};
+void lexer___TLe___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1061, LOCATE_lexer___TLe___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2708,7 +2708,7 @@ void lexer___TLe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TLe].i]) return;
   if (once_bool_variable3_208) variable3 = once_value_variable3_208;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
     once_value_variable3_208 = variable3;
     once_bool_variable3_208 = true;
   }
@@ -2731,8 +2731,8 @@ val_t lexer___TGt___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TGt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1076, LOCATE_lexer___TGt___init};
+void lexer___TGt___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1076, LOCATE_lexer___TGt___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2746,7 +2746,7 @@ void lexer___TGt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TGt].i]) return;
   if (once_bool_variable3_211) variable3 = once_value_variable3_211;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
     once_value_variable3_211 = variable3;
     once_bool_variable3_211 = true;
   }
@@ -2769,8 +2769,8 @@ val_t lexer___TGe___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TGe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1091, LOCATE_lexer___TGe___init};
+void lexer___TGe___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1091, LOCATE_lexer___TGe___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2784,7 +2784,7 @@ void lexer___TGe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TGe].i]) return;
   if (once_bool_variable3_214) variable3 = once_value_variable3_214;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
     once_value_variable3_214 = variable3;
     once_bool_variable3_214 = true;
   }
@@ -2807,8 +2807,8 @@ val_t lexer___TStarship___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TStarship___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1106, LOCATE_lexer___TStarship___init};
+void lexer___TStarship___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1106, LOCATE_lexer___TStarship___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2822,7 +2822,7 @@ void lexer___TStarship___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TStarship].i]) return;
   if (once_bool_variable3_217) variable3 = once_value_variable3_217;
   else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("<=>"), TAG_Int(3)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("<=>"), TAG_Int(3)); /*new String*/
     once_value_variable3_217 = variable3;
     once_bool_variable3_217 = true;
   }
@@ -2845,8 +2845,8 @@ val_t lexer___TClassid___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TClassid___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1121, LOCATE_lexer___TClassid___init};
+void lexer___TClassid___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1121, LOCATE_lexer___TClassid___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2877,8 +2877,8 @@ val_t lexer___TId___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TId___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1136, LOCATE_lexer___TId___init};
+void lexer___TId___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1136, LOCATE_lexer___TId___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2909,8 +2909,8 @@ val_t lexer___TAttrid___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TAttrid___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1151, LOCATE_lexer___TAttrid___init};
+void lexer___TAttrid___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1151, LOCATE_lexer___TAttrid___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2941,8 +2941,8 @@ val_t lexer___TNumber___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TNumber___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1166, LOCATE_lexer___TNumber___init};
+void lexer___TNumber___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1166, LOCATE_lexer___TNumber___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2973,8 +2973,8 @@ val_t lexer___TFloat___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TFloat___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1181, LOCATE_lexer___TFloat___init};
+void lexer___TFloat___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1181, LOCATE_lexer___TFloat___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3005,8 +3005,8 @@ val_t lexer___TChar___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TChar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1196, LOCATE_lexer___TChar___init};
+void lexer___TChar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1196, LOCATE_lexer___TChar___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3037,8 +3037,8 @@ val_t lexer___TString___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1211, LOCATE_lexer___TString___init};
+void lexer___TString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1211, LOCATE_lexer___TString___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3069,8 +3069,8 @@ val_t lexer___TStartString___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TStartString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1226, LOCATE_lexer___TStartString___init};
+void lexer___TStartString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1226, LOCATE_lexer___TStartString___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3101,8 +3101,8 @@ val_t lexer___TMidString___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TMidString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1241, LOCATE_lexer___TMidString___init};
+void lexer___TMidString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1241, LOCATE_lexer___TMidString___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3133,8 +3133,8 @@ val_t lexer___TEndString___parser_index(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void lexer___TEndString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1256, LOCATE_lexer___TEndString___init};
+void lexer___TEndString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 1256, LOCATE_lexer___TEndString___init_tk};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3178,7 +3178,7 @@ void lexer___EOF___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_EOF].i]) return;
   ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
   ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
   ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
@@ -3249,12 +3249,12 @@ void lexer___Lexer___init(val_t  self, val_t  param0, val_t  param1, int* init_t
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Lexer].i]) return;
   ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/ =  variable1 /*fname*/;
-  variable2 = NEW_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
   ATTR_lexer___Lexer____text( self) /*Lexer::_text*/ = variable2;
   ATTR_lexer___Lexer____stream( self) /*Lexer::_stream*/ =  variable0 /*stream*/;
   variable2 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ATTR_lexer___Lexer____stream_pos( self) /*Lexer::_stream_pos*/ = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
   ATTR_lexer___Lexer____stream_buf( self) /*Lexer::_stream_buf*/ = variable2;
   ((lexer___Lexer___build_goto_table_t)CALL( self,COLOR_lexer___Lexer___build_goto_table))( self) /*Lexer::build_goto_table*/;
   ((lexer___Lexer___build_accept_table_t)CALL( self,COLOR_lexer___Lexer___build_accept_table))( self) /*Lexer::build_accept_table*/;
@@ -3613,7 +3613,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TEol___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TEol*/
+          variable16 = NEW_TEol_lexer___TEol___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TEol*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3630,7 +3630,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TComment___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TComment*/
+          variable16 = NEW_TComment_lexer___TComment___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TComment*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3644,7 +3644,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwpackage___init(variable12, variable13, variable14); /*new TKwpackage*/
+          variable15 = NEW_TKwpackage_lexer___TKwpackage___init_tk(variable12, variable13, variable14); /*new TKwpackage*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3658,7 +3658,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwimport___init(variable12, variable13, variable14); /*new TKwimport*/
+          variable15 = NEW_TKwimport_lexer___TKwimport___init_tk(variable12, variable13, variable14); /*new TKwimport*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3672,7 +3672,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwclass___init(variable12, variable13, variable14); /*new TKwclass*/
+          variable15 = NEW_TKwclass_lexer___TKwclass___init_tk(variable12, variable13, variable14); /*new TKwclass*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3686,7 +3686,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwabstract___init(variable12, variable13, variable14); /*new TKwabstract*/
+          variable15 = NEW_TKwabstract_lexer___TKwabstract___init_tk(variable12, variable13, variable14); /*new TKwabstract*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3700,7 +3700,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwinterface___init(variable12, variable13, variable14); /*new TKwinterface*/
+          variable15 = NEW_TKwinterface_lexer___TKwinterface___init_tk(variable12, variable13, variable14); /*new TKwinterface*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3714,7 +3714,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwuniversal___init(variable12, variable13, variable14); /*new TKwuniversal*/
+          variable15 = NEW_TKwuniversal_lexer___TKwuniversal___init_tk(variable12, variable13, variable14); /*new TKwuniversal*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3728,7 +3728,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwspecial___init(variable12, variable13, variable14); /*new TKwspecial*/
+          variable15 = NEW_TKwspecial_lexer___TKwspecial___init_tk(variable12, variable13, variable14); /*new TKwspecial*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3742,7 +3742,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwend___init(variable12, variable13, variable14); /*new TKwend*/
+          variable15 = NEW_TKwend_lexer___TKwend___init_tk(variable12, variable13, variable14); /*new TKwend*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3756,7 +3756,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwmeth___init(variable12, variable13, variable14); /*new TKwmeth*/
+          variable15 = NEW_TKwmeth_lexer___TKwmeth___init_tk(variable12, variable13, variable14); /*new TKwmeth*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3770,7 +3770,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwtype___init(variable12, variable13, variable14); /*new TKwtype*/
+          variable15 = NEW_TKwtype_lexer___TKwtype___init_tk(variable12, variable13, variable14); /*new TKwtype*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3784,7 +3784,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwattr___init(variable12, variable13, variable14); /*new TKwattr*/
+          variable15 = NEW_TKwattr_lexer___TKwattr___init_tk(variable12, variable13, variable14); /*new TKwattr*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3798,7 +3798,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwinit___init(variable12, variable13, variable14); /*new TKwinit*/
+          variable15 = NEW_TKwinit_lexer___TKwinit___init_tk(variable12, variable13, variable14); /*new TKwinit*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3812,7 +3812,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwredef___init(variable12, variable13, variable14); /*new TKwredef*/
+          variable15 = NEW_TKwredef_lexer___TKwredef___init_tk(variable12, variable13, variable14); /*new TKwredef*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3826,7 +3826,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwis___init(variable12, variable13, variable14); /*new TKwis*/
+          variable15 = NEW_TKwis_lexer___TKwis___init_tk(variable12, variable13, variable14); /*new TKwis*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3840,7 +3840,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwdo___init(variable12, variable13, variable14); /*new TKwdo*/
+          variable15 = NEW_TKwdo_lexer___TKwdo___init_tk(variable12, variable13, variable14); /*new TKwdo*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3854,7 +3854,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwreadable___init(variable12, variable13, variable14); /*new TKwreadable*/
+          variable15 = NEW_TKwreadable_lexer___TKwreadable___init_tk(variable12, variable13, variable14); /*new TKwreadable*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3868,7 +3868,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwwritable___init(variable12, variable13, variable14); /*new TKwwritable*/
+          variable15 = NEW_TKwwritable_lexer___TKwwritable___init_tk(variable12, variable13, variable14); /*new TKwwritable*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3882,7 +3882,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwvar___init(variable12, variable13, variable14); /*new TKwvar*/
+          variable15 = NEW_TKwvar_lexer___TKwvar___init_tk(variable12, variable13, variable14); /*new TKwvar*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3896,7 +3896,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwintern___init(variable12, variable13, variable14); /*new TKwintern*/
+          variable15 = NEW_TKwintern_lexer___TKwintern___init_tk(variable12, variable13, variable14); /*new TKwintern*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3910,7 +3910,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwextern___init(variable12, variable13, variable14); /*new TKwextern*/
+          variable15 = NEW_TKwextern_lexer___TKwextern___init_tk(variable12, variable13, variable14); /*new TKwextern*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3924,7 +3924,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwprotected___init(variable12, variable13, variable14); /*new TKwprotected*/
+          variable15 = NEW_TKwprotected_lexer___TKwprotected___init_tk(variable12, variable13, variable14); /*new TKwprotected*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3938,7 +3938,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwprivate___init(variable12, variable13, variable14); /*new TKwprivate*/
+          variable15 = NEW_TKwprivate_lexer___TKwprivate___init_tk(variable12, variable13, variable14); /*new TKwprivate*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3952,7 +3952,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwintrude___init(variable12, variable13, variable14); /*new TKwintrude*/
+          variable15 = NEW_TKwintrude_lexer___TKwintrude___init_tk(variable12, variable13, variable14); /*new TKwintrude*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3966,7 +3966,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwif___init(variable12, variable13, variable14); /*new TKwif*/
+          variable15 = NEW_TKwif_lexer___TKwif___init_tk(variable12, variable13, variable14); /*new TKwif*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3980,7 +3980,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwthen___init(variable12, variable13, variable14); /*new TKwthen*/
+          variable15 = NEW_TKwthen_lexer___TKwthen___init_tk(variable12, variable13, variable14); /*new TKwthen*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -3994,7 +3994,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwelse___init(variable12, variable13, variable14); /*new TKwelse*/
+          variable15 = NEW_TKwelse_lexer___TKwelse___init_tk(variable12, variable13, variable14); /*new TKwelse*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4008,7 +4008,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwwhile___init(variable12, variable13, variable14); /*new TKwwhile*/
+          variable15 = NEW_TKwwhile_lexer___TKwwhile___init_tk(variable12, variable13, variable14); /*new TKwwhile*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4022,7 +4022,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwfor___init(variable12, variable13, variable14); /*new TKwfor*/
+          variable15 = NEW_TKwfor_lexer___TKwfor___init_tk(variable12, variable13, variable14); /*new TKwfor*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4036,7 +4036,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwin___init(variable12, variable13, variable14); /*new TKwin*/
+          variable15 = NEW_TKwin_lexer___TKwin___init_tk(variable12, variable13, variable14); /*new TKwin*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4050,7 +4050,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwand___init(variable12, variable13, variable14); /*new TKwand*/
+          variable15 = NEW_TKwand_lexer___TKwand___init_tk(variable12, variable13, variable14); /*new TKwand*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4064,7 +4064,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwor___init(variable12, variable13, variable14); /*new TKwor*/
+          variable15 = NEW_TKwor_lexer___TKwor___init_tk(variable12, variable13, variable14); /*new TKwor*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4078,7 +4078,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwnot___init(variable12, variable13, variable14); /*new TKwnot*/
+          variable15 = NEW_TKwnot_lexer___TKwnot___init_tk(variable12, variable13, variable14); /*new TKwnot*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4092,7 +4092,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwreturn___init(variable12, variable13, variable14); /*new TKwreturn*/
+          variable15 = NEW_TKwreturn_lexer___TKwreturn___init_tk(variable12, variable13, variable14); /*new TKwreturn*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4106,7 +4106,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwcontinue___init(variable12, variable13, variable14); /*new TKwcontinue*/
+          variable15 = NEW_TKwcontinue_lexer___TKwcontinue___init_tk(variable12, variable13, variable14); /*new TKwcontinue*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4120,7 +4120,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwbreak___init(variable12, variable13, variable14); /*new TKwbreak*/
+          variable15 = NEW_TKwbreak_lexer___TKwbreak___init_tk(variable12, variable13, variable14); /*new TKwbreak*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4134,7 +4134,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwabort___init(variable12, variable13, variable14); /*new TKwabort*/
+          variable15 = NEW_TKwabort_lexer___TKwabort___init_tk(variable12, variable13, variable14); /*new TKwabort*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4148,7 +4148,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwassert___init(variable12, variable13, variable14); /*new TKwassert*/
+          variable15 = NEW_TKwassert_lexer___TKwassert___init_tk(variable12, variable13, variable14); /*new TKwassert*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4162,7 +4162,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwnew___init(variable12, variable13, variable14); /*new TKwnew*/
+          variable15 = NEW_TKwnew_lexer___TKwnew___init_tk(variable12, variable13, variable14); /*new TKwnew*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4176,7 +4176,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwisa___init(variable12, variable13, variable14); /*new TKwisa*/
+          variable15 = NEW_TKwisa_lexer___TKwisa___init_tk(variable12, variable13, variable14); /*new TKwisa*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4190,7 +4190,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwonce___init(variable12, variable13, variable14); /*new TKwonce*/
+          variable15 = NEW_TKwonce_lexer___TKwonce___init_tk(variable12, variable13, variable14); /*new TKwonce*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4204,7 +4204,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwsuper___init(variable12, variable13, variable14); /*new TKwsuper*/
+          variable15 = NEW_TKwsuper_lexer___TKwsuper___init_tk(variable12, variable13, variable14); /*new TKwsuper*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4218,7 +4218,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwself___init(variable12, variable13, variable14); /*new TKwself*/
+          variable15 = NEW_TKwself_lexer___TKwself___init_tk(variable12, variable13, variable14); /*new TKwself*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4232,7 +4232,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwtrue___init(variable12, variable13, variable14); /*new TKwtrue*/
+          variable15 = NEW_TKwtrue_lexer___TKwtrue___init_tk(variable12, variable13, variable14); /*new TKwtrue*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4246,7 +4246,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwfalse___init(variable12, variable13, variable14); /*new TKwfalse*/
+          variable15 = NEW_TKwfalse_lexer___TKwfalse___init_tk(variable12, variable13, variable14); /*new TKwfalse*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4260,7 +4260,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwnull___init(variable12, variable13, variable14); /*new TKwnull*/
+          variable15 = NEW_TKwnull_lexer___TKwnull___init_tk(variable12, variable13, variable14); /*new TKwnull*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4274,7 +4274,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TKwas___init(variable12, variable13, variable14); /*new TKwas*/
+          variable15 = NEW_TKwas_lexer___TKwas___init_tk(variable12, variable13, variable14); /*new TKwas*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4288,7 +4288,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TOpar___init(variable12, variable13, variable14); /*new TOpar*/
+          variable15 = NEW_TOpar_lexer___TOpar___init_tk(variable12, variable13, variable14); /*new TOpar*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4302,7 +4302,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TCpar___init(variable12, variable13, variable14); /*new TCpar*/
+          variable15 = NEW_TCpar_lexer___TCpar___init_tk(variable12, variable13, variable14); /*new TCpar*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4316,7 +4316,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TObra___init(variable12, variable13, variable14); /*new TObra*/
+          variable15 = NEW_TObra_lexer___TObra___init_tk(variable12, variable13, variable14); /*new TObra*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4330,7 +4330,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TCbra___init(variable12, variable13, variable14); /*new TCbra*/
+          variable15 = NEW_TCbra_lexer___TCbra___init_tk(variable12, variable13, variable14); /*new TCbra*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4344,7 +4344,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TComma___init(variable12, variable13, variable14); /*new TComma*/
+          variable15 = NEW_TComma_lexer___TComma___init_tk(variable12, variable13, variable14); /*new TComma*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4358,7 +4358,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TColumn___init(variable12, variable13, variable14); /*new TColumn*/
+          variable15 = NEW_TColumn_lexer___TColumn___init_tk(variable12, variable13, variable14); /*new TColumn*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4372,7 +4372,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TQuad___init(variable12, variable13, variable14); /*new TQuad*/
+          variable15 = NEW_TQuad_lexer___TQuad___init_tk(variable12, variable13, variable14); /*new TQuad*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4386,7 +4386,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TAssign___init(variable12, variable13, variable14); /*new TAssign*/
+          variable15 = NEW_TAssign_lexer___TAssign___init_tk(variable12, variable13, variable14); /*new TAssign*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4400,7 +4400,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TPluseq___init(variable12, variable13, variable14); /*new TPluseq*/
+          variable15 = NEW_TPluseq_lexer___TPluseq___init_tk(variable12, variable13, variable14); /*new TPluseq*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4414,7 +4414,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TMinuseq___init(variable12, variable13, variable14); /*new TMinuseq*/
+          variable15 = NEW_TMinuseq_lexer___TMinuseq___init_tk(variable12, variable13, variable14); /*new TMinuseq*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4428,7 +4428,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TDotdotdot___init(variable12, variable13, variable14); /*new TDotdotdot*/
+          variable15 = NEW_TDotdotdot_lexer___TDotdotdot___init_tk(variable12, variable13, variable14); /*new TDotdotdot*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4442,7 +4442,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TDotdot___init(variable12, variable13, variable14); /*new TDotdot*/
+          variable15 = NEW_TDotdot_lexer___TDotdot___init_tk(variable12, variable13, variable14); /*new TDotdot*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4456,7 +4456,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TDot___init(variable12, variable13, variable14); /*new TDot*/
+          variable15 = NEW_TDot_lexer___TDot___init_tk(variable12, variable13, variable14); /*new TDot*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4470,7 +4470,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TPlus___init(variable12, variable13, variable14); /*new TPlus*/
+          variable15 = NEW_TPlus_lexer___TPlus___init_tk(variable12, variable13, variable14); /*new TPlus*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4484,7 +4484,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TMinus___init(variable12, variable13, variable14); /*new TMinus*/
+          variable15 = NEW_TMinus_lexer___TMinus___init_tk(variable12, variable13, variable14); /*new TMinus*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4498,7 +4498,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TStar___init(variable12, variable13, variable14); /*new TStar*/
+          variable15 = NEW_TStar_lexer___TStar___init_tk(variable12, variable13, variable14); /*new TStar*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4512,7 +4512,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TSlash___init(variable12, variable13, variable14); /*new TSlash*/
+          variable15 = NEW_TSlash_lexer___TSlash___init_tk(variable12, variable13, variable14); /*new TSlash*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4526,7 +4526,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TPercent___init(variable12, variable13, variable14); /*new TPercent*/
+          variable15 = NEW_TPercent_lexer___TPercent___init_tk(variable12, variable13, variable14); /*new TPercent*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4540,7 +4540,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TEq___init(variable12, variable13, variable14); /*new TEq*/
+          variable15 = NEW_TEq_lexer___TEq___init_tk(variable12, variable13, variable14); /*new TEq*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4554,7 +4554,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TNe___init(variable12, variable13, variable14); /*new TNe*/
+          variable15 = NEW_TNe_lexer___TNe___init_tk(variable12, variable13, variable14); /*new TNe*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4568,7 +4568,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TLt___init(variable12, variable13, variable14); /*new TLt*/
+          variable15 = NEW_TLt_lexer___TLt___init_tk(variable12, variable13, variable14); /*new TLt*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4582,7 +4582,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TLe___init(variable12, variable13, variable14); /*new TLe*/
+          variable15 = NEW_TLe_lexer___TLe___init_tk(variable12, variable13, variable14); /*new TLe*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4596,7 +4596,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TGt___init(variable12, variable13, variable14); /*new TGt*/
+          variable15 = NEW_TGt_lexer___TGt___init_tk(variable12, variable13, variable14); /*new TGt*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4610,7 +4610,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TGe___init(variable12, variable13, variable14); /*new TGe*/
+          variable15 = NEW_TGe_lexer___TGe___init_tk(variable12, variable13, variable14); /*new TGe*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4624,7 +4624,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___TStarship___init(variable12, variable13, variable14); /*new TStarship*/
+          variable15 = NEW_TStarship_lexer___TStarship___init_tk(variable12, variable13, variable14); /*new TStarship*/
           variable12 = variable15;
           variable11 = variable12;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4641,7 +4641,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TClassid___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TClassid*/
+          variable16 = NEW_TClassid_lexer___TClassid___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TClassid*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4658,7 +4658,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TId___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TId*/
+          variable16 = NEW_TId_lexer___TId___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TId*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4675,7 +4675,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TAttrid___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TAttrid*/
+          variable16 = NEW_TAttrid_lexer___TAttrid___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TAttrid*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4692,7 +4692,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TNumber___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TNumber*/
+          variable16 = NEW_TNumber_lexer___TNumber___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TNumber*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4709,7 +4709,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TFloat___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TFloat*/
+          variable16 = NEW_TFloat_lexer___TFloat___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TFloat*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4726,7 +4726,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TChar___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TChar*/
+          variable16 = NEW_TChar_lexer___TChar___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TChar*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4743,7 +4743,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TString___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TString*/
+          variable16 = NEW_TString_lexer___TString___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TString*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4760,7 +4760,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TStartString___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TStartString*/
+          variable16 = NEW_TStartString_lexer___TStartString___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TStartString*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4777,7 +4777,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TMidString___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TMidString*/
+          variable16 = NEW_TMidString_lexer___TMidString___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TMidString*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4794,7 +4794,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable13 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable14 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable15 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable16 = NEW_lexer___TEndString___init( variable11 /*token_text*/, variable13, variable14, variable15); /*new TEndString*/
+          variable16 = NEW_TEndString_lexer___TEndString___init_tk( variable11 /*token_text*/, variable13, variable14, variable15); /*new TEndString*/
           variable13 = variable16;
           variable12 = variable13;
           ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
@@ -4811,17 +4811,17 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_string___String___init(); /*new String*/
-          variable16 = NEW_string___String___with_native(BOX_NativeString("Unknown token: "), TAG_Int(15)); /*new String*/
+          variable15 = NEW_String_string___String___init(); /*new String*/
+          variable16 = NEW_String_string___String___with_native(BOX_NativeString("Unknown token: "), TAG_Int(15)); /*new String*/
           variable17 = variable16;
           ((string___String___append_t)CALL(variable15,COLOR_abstract_collection___IndexedCollection___append))(variable15, variable17) /*String::append*/;
           variable18 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
           variable19 = variable18;
           ((string___String___append_t)CALL(variable15,COLOR_abstract_collection___IndexedCollection___append))(variable15, variable19) /*String::append*/;
-          variable20 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+          variable20 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
           variable21 = variable20;
           ((string___String___append_t)CALL(variable15,COLOR_abstract_collection___IndexedCollection___append))(variable15, variable21) /*String::append*/;
-          variable16 = NEW_lexer___PError___init_error(variable12, variable13, variable14, variable15); /*new PError*/
+          variable16 = NEW_PError_lexer___PError___init_error(variable12, variable13, variable14, variable15); /*new PError*/
           variable12 = variable16;
           variable11 = variable12;
           variable0 =  variable11 /*token*/;
@@ -4830,7 +4830,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
           variable14 = TAG_Int(UNTAG_Int( variable1 /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable15 = NEW_lexer___EOF___init(variable12, variable13, variable14); /*new EOF*/
+          variable15 = NEW_EOF_lexer___EOF___init(variable12, variable13, variable14); /*new EOF*/
           variable12 = variable15;
           variable11 = variable12;
           variable0 =  variable11 /*token*/;
@@ -5190,257 +5190,257 @@ void lexer___Lexer___build_goto_table(val_t  self) {
   trace.file = LOCATE_lexer;
   if (once_bool_variable0_264) variable0 = once_value_variable0_264;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable1 = NEW_array___Array___with_capacity(TAG_Int(253)); /*new Array[E]*/
-    variable2 = NEW_array___Array___with_capacity(TAG_Int(48)); /*new Array[E]*/
-    variable3 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Array[Array[Int]]]]*/
+    variable1 = NEW_Array_array___Array___with_capacity(TAG_Int(253)); /*new Array[Array[Array[Int]]]*/
+    variable2 = NEW_Array_array___Array___with_capacity(TAG_Int(48)); /*new Array[Array[Int]]*/
+    variable3 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(1)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*AbstractArray::add*/;
-    variable4 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable4 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(10)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(10)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(2)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable4) /*AbstractArray::add*/;
-    variable5 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable5 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(13)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(13)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(3)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable5) /*AbstractArray::add*/;
-    variable6 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable6 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(32)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(32)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(4)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable6) /*AbstractArray::add*/;
-    variable7 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable7 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(33)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(33)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(5)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable7) /*AbstractArray::add*/;
-    variable8 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable8 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(34)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(34)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(6)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable8) /*AbstractArray::add*/;
-    variable9 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable9 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(35)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(35)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(7)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable9) /*AbstractArray::add*/;
-    variable10 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable10 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(37)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(37)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(8)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable10) /*AbstractArray::add*/;
-    variable11 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable11 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(39)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(39)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable11) /*AbstractArray::add*/;
-    variable12 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable12 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(40)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(40)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(10)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable12) /*AbstractArray::add*/;
-    variable13 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable13 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(41)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(41)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(11)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable13) /*AbstractArray::add*/;
-    variable14 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable14 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(42)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(42)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(12)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable14) /*AbstractArray::add*/;
-    variable15 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable15 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(43)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(43)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(13)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable15) /*AbstractArray::add*/;
-    variable16 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable16 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(44)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(44)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(14)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable16) /*AbstractArray::add*/;
-    variable17 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable17 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(45)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(45)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(15)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable17) /*AbstractArray::add*/;
-    variable18 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable18 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(46)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(46)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(16)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable18) /*AbstractArray::add*/;
-    variable19 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable19 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(47)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(47)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(17)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable19) /*AbstractArray::add*/;
-    variable20 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable20 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(57)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(18)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable20) /*AbstractArray::add*/;
-    variable21 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable21 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(58)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(58)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(19)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable21) /*AbstractArray::add*/;
-    variable22 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable22 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(60)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(60)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(20)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable22) /*AbstractArray::add*/;
-    variable23 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable23 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(21)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable23) /*AbstractArray::add*/;
-    variable24 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable24 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(62)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(62)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(22)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable24) /*AbstractArray::add*/;
-    variable25 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable25 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(65)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(90)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(23)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable25) /*AbstractArray::add*/;
-    variable26 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable26 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(91)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(91)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(24)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable26) /*AbstractArray::add*/;
-    variable27 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable27 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(93)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(93)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(25)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable27) /*AbstractArray::add*/;
-    variable28 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable28 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(95)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(95)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(26)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable28) /*AbstractArray::add*/;
-    variable29 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable29 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(27)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable29) /*AbstractArray::add*/;
-    variable30 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable30 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(28)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable30) /*AbstractArray::add*/;
-    variable31 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable31 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(29)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable31) /*AbstractArray::add*/;
-    variable32 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable32 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(30)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable32) /*AbstractArray::add*/;
-    variable33 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable33 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(31)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable33) /*AbstractArray::add*/;
-    variable34 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable34 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(32)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable34) /*AbstractArray::add*/;
-    variable35 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable35 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(103)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(104)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(33)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable35) /*AbstractArray::add*/;
-    variable36 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable36 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(34)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable36) /*AbstractArray::add*/;
-    variable37 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable37 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(106)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(33)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable37) /*AbstractArray::add*/;
-    variable38 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable38 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(35)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable38) /*AbstractArray::add*/;
-    variable39 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable39 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(36)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable39) /*AbstractArray::add*/;
-    variable40 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable40 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(37)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable40) /*AbstractArray::add*/;
-    variable41 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable41 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(38)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable41) /*AbstractArray::add*/;
-    variable42 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable42 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(33)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable42) /*AbstractArray::add*/;
-    variable43 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable43 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(39)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable43) /*AbstractArray::add*/;
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable44 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(40)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable44) /*AbstractArray::add*/;
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable45 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(41)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable45) /*AbstractArray::add*/;
-    variable46 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable46 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(42)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable46) /*AbstractArray::add*/;
-    variable47 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable47 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(43)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable47) /*AbstractArray::add*/;
-    variable48 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable48 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(119)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(119)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(44)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable48) /*AbstractArray::add*/;
-    variable49 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable49 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(120)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(33)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable49) /*AbstractArray::add*/;
-    variable50 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable50 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(125)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(125)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(45)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable50) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*AbstractArray::add*/;
-    variable3 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-    variable4 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable3 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Array[Int]]*/
+    variable4 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(1)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable4) /*AbstractArray::add*/;
-    variable5 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable5 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(32)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(32)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(4)) /*AbstractArray::add*/;
@@ -5448,97 +5448,97 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable3) /*AbstractArray::add*/;
     variable4 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable4) /*AbstractArray::add*/;
-    variable5 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable6 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable5 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable6 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(10)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(10)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(46)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable6) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable5) /*AbstractArray::add*/;
-    variable6 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable7 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable6 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable7 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(32)) /*AbstractArray::add*/;
     variable8 = TAG_Int(-UNTAG_Int( TAG_Int(3)));
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable8) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable7) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable6) /*AbstractArray::add*/;
-    variable7 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable8 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable7 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable8 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(47)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable8) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*AbstractArray::add*/;
-    variable8 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
-    variable9 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable8 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Array[Int]]*/
+    variable9 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable9) /*AbstractArray::add*/;
-    variable10 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable10 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(11)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(12)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable10) /*AbstractArray::add*/;
-    variable11 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable11 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(14)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(33)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable11) /*AbstractArray::add*/;
-    variable12 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable12 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(34)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(34)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(49)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable12) /*AbstractArray::add*/;
-    variable13 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable13 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(35)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(91)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable13) /*AbstractArray::add*/;
-    variable14 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable14 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(92)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(92)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(50)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable14) /*AbstractArray::add*/;
-    variable15 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable15 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(93)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable15) /*AbstractArray::add*/;
-    variable16 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable16 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(123)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(123)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(51)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable16) /*AbstractArray::add*/;
-    variable17 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable17 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(124)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(255)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable17) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable8) /*AbstractArray::add*/;
-    variable9 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[E]*/
-    variable10 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable9 = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
+    variable10 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(52)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable10) /*AbstractArray::add*/;
-    variable11 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable11 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(10)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(10)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(53)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable11) /*AbstractArray::add*/;
-    variable12 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable12 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(11)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(12)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(52)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable12) /*AbstractArray::add*/;
-    variable13 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable13 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(13)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(13)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(54)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable13) /*AbstractArray::add*/;
-    variable14 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable14 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(14)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(255)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(52)) /*AbstractArray::add*/;
@@ -5546,28 +5546,28 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable9) /*AbstractArray::add*/;
     variable10 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable10) /*AbstractArray::add*/;
-    variable11 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[E]*/
-    variable12 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable11 = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
+    variable12 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(55)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable12) /*AbstractArray::add*/;
-    variable13 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable13 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(11)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(12)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(55)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable13) /*AbstractArray::add*/;
-    variable14 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable14 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(14)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(38)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(55)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable14) /*AbstractArray::add*/;
-    variable15 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable15 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(39)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(39)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(56)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable15) /*AbstractArray::add*/;
-    variable16 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable16 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(40)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(255)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(55)) /*AbstractArray::add*/;
@@ -5579,8 +5579,8 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable13) /*AbstractArray::add*/;
     variable14 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable14) /*AbstractArray::add*/;
-    variable15 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable16 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable15 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable16 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(57)) /*AbstractArray::add*/;
@@ -5588,20 +5588,20 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable15) /*AbstractArray::add*/;
     variable16 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable16) /*AbstractArray::add*/;
-    variable17 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable18 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable17 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable18 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(58)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17, variable18) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable17) /*AbstractArray::add*/;
-    variable18 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-    variable19 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable18 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Array[Int]]*/
+    variable19 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(46)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(46)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(59)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18, variable19) /*AbstractArray::add*/;
-    variable20 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable20 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(57)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(60)) /*AbstractArray::add*/;
@@ -5609,63 +5609,63 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable18) /*AbstractArray::add*/;
     variable19 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable19) /*AbstractArray::add*/;
-    variable20 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-    variable21 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable20 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Array[Int]]*/
+    variable21 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(46)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(46)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20, variable21) /*AbstractArray::add*/;
-    variable22 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable22 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(57)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(18)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20, variable22) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable20) /*AbstractArray::add*/;
-    variable21 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable22 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable21 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable22 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(58)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(58)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(62)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21, variable22) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable21) /*AbstractArray::add*/;
-    variable22 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable23 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable22 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable23 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(63)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable23) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable22) /*AbstractArray::add*/;
-    variable23 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable24 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable23 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable24 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(64)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23, variable24) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable23) /*AbstractArray::add*/;
-    variable24 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable25 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable24 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable25 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(65)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24, variable25) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable24) /*AbstractArray::add*/;
-    variable25 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable26 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable25 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable26 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(57)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(66)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25, variable26) /*AbstractArray::add*/;
-    variable27 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable27 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(65)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(90)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(67)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25, variable27) /*AbstractArray::add*/;
-    variable28 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable28 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(95)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(95)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(68)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25, variable28) /*AbstractArray::add*/;
-    variable29 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable29 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(69)) /*AbstractArray::add*/;
@@ -5675,603 +5675,603 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable26) /*AbstractArray::add*/;
     variable27 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable27) /*AbstractArray::add*/;
-    variable28 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable29 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable28 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable29 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(70)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28, variable29) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable28) /*AbstractArray::add*/;
-    variable29 = NEW_array___Array___with_capacity(TAG_Int(11)); /*new Array[E]*/
-    variable30 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable29 = NEW_Array_array___Array___with_capacity(TAG_Int(11)); /*new Array[Array[Int]]*/
+    variable30 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(57)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(71)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable30) /*AbstractArray::add*/;
-    variable31 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable31 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(65)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(90)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(72)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable31) /*AbstractArray::add*/;
-    variable32 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable32 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(95)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(95)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(73)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable32) /*AbstractArray::add*/;
-    variable33 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable33 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable33) /*AbstractArray::add*/;
-    variable34 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable34 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(75)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable34) /*AbstractArray::add*/;
-    variable35 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable35 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable35) /*AbstractArray::add*/;
-    variable36 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable36 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(76)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable36) /*AbstractArray::add*/;
-    variable37 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable37 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable37) /*AbstractArray::add*/;
-    variable38 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable38 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(77)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable38) /*AbstractArray::add*/;
-    variable39 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable39 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(78)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable39) /*AbstractArray::add*/;
-    variable40 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable40 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable40) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable29) /*AbstractArray::add*/;
-    variable30 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable31 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable30 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable31 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(95)) /*AbstractArray::add*/;
     variable32 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable32) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable31) /*AbstractArray::add*/;
-    variable32 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable32 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable32) /*AbstractArray::add*/;
-    variable33 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable33 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(79)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable33) /*AbstractArray::add*/;
-    variable34 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable34 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable34) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable30) /*AbstractArray::add*/;
-    variable31 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
-    variable32 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable31 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Array[Int]]*/
+    variable32 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(95)) /*AbstractArray::add*/;
     variable33 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32, variable33) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable32) /*AbstractArray::add*/;
-    variable33 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable33 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(107)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable33) /*AbstractArray::add*/;
-    variable34 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable34 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(80)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable34) /*AbstractArray::add*/;
-    variable35 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable35 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable35) /*AbstractArray::add*/;
-    variable36 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable36 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(81)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable36) /*AbstractArray::add*/;
-    variable37 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable37 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable37) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable31) /*AbstractArray::add*/;
-    variable32 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable33 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable32 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable33 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(95)) /*AbstractArray::add*/;
     variable34 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable34) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32, variable33) /*AbstractArray::add*/;
-    variable34 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable34 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32, variable34) /*AbstractArray::add*/;
-    variable35 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable35 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(82)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32, variable35) /*AbstractArray::add*/;
-    variable36 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable36 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32, variable36) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable32) /*AbstractArray::add*/;
-    variable33 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[E]*/
-    variable34 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable33 = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[Array[Int]]*/
+    variable34 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(107)) /*AbstractArray::add*/;
     variable35 = TAG_Int(-UNTAG_Int( TAG_Int(31)));
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable35) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable34) /*AbstractArray::add*/;
-    variable35 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable35 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(83)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable35) /*AbstractArray::add*/;
-    variable36 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable36 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable36) /*AbstractArray::add*/;
-    variable37 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable37 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(84)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable37) /*AbstractArray::add*/;
-    variable38 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable38 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(119)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable38) /*AbstractArray::add*/;
-    variable39 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable39 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(120)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(120)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(85)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable39) /*AbstractArray::add*/;
-    variable40 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable40 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(121)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable40) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable33) /*AbstractArray::add*/;
-    variable34 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[E]*/
-    variable35 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable34 = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
+    variable35 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(95)) /*AbstractArray::add*/;
     variable36 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35, variable36) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable35) /*AbstractArray::add*/;
-    variable36 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable36 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(86)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable36) /*AbstractArray::add*/;
-    variable37 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable37 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable37) /*AbstractArray::add*/;
-    variable38 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable38 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(87)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable38) /*AbstractArray::add*/;
-    variable39 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable39 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable39) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable34) /*AbstractArray::add*/;
-    variable35 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-    variable36 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable35 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Array[Int]]*/
+    variable36 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(95)) /*AbstractArray::add*/;
     variable37 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable37) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35, variable36) /*AbstractArray::add*/;
-    variable37 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable37 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35, variable37) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable35) /*AbstractArray::add*/;
-    variable36 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
-    variable37 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable36 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Array[Int]]*/
+    variable37 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(95)) /*AbstractArray::add*/;
     variable38 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37, variable38) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable37) /*AbstractArray::add*/;
-    variable38 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable38 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable38) /*AbstractArray::add*/;
-    variable39 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable39 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(88)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable39) /*AbstractArray::add*/;
-    variable40 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable40 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(103)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable40) /*AbstractArray::add*/;
-    variable41 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable41 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(89)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable41) /*AbstractArray::add*/;
-    variable42 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable42 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(90)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable42) /*AbstractArray::add*/;
-    variable43 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable43 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable43) /*AbstractArray::add*/;
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable44 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(91)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable44) /*AbstractArray::add*/;
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable45 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable45) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable36) /*AbstractArray::add*/;
-    variable37 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable38 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable37 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable38 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(95)) /*AbstractArray::add*/;
     variable39 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable39) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37, variable38) /*AbstractArray::add*/;
-    variable39 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable39 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37, variable39) /*AbstractArray::add*/;
-    variable40 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable40 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(92)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37, variable40) /*AbstractArray::add*/;
-    variable41 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable41 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37, variable41) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable37) /*AbstractArray::add*/;
-    variable38 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[E]*/
-    variable39 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable38 = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[Array[Int]]*/
+    variable39 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(100)) /*AbstractArray::add*/;
     variable40 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable40) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable39) /*AbstractArray::add*/;
-    variable40 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable40 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(93)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable40) /*AbstractArray::add*/;
-    variable41 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable41 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable41) /*AbstractArray::add*/;
-    variable42 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable42 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(94)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable42) /*AbstractArray::add*/;
-    variable43 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable43 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable43) /*AbstractArray::add*/;
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable44 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(95)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable44) /*AbstractArray::add*/;
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable45 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable45) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable38) /*AbstractArray::add*/;
-    variable39 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
-    variable40 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable39 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Array[Int]]*/
+    variable40 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(95)) /*AbstractArray::add*/;
     variable41 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable41) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable40) /*AbstractArray::add*/;
-    variable41 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable41 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable41) /*AbstractArray::add*/;
-    variable42 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable42 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(96)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable42) /*AbstractArray::add*/;
-    variable43 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable43 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable43) /*AbstractArray::add*/;
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable44 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable44) /*AbstractArray::add*/;
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable45 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable45) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable39) /*AbstractArray::add*/;
-    variable40 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[E]*/
-    variable41 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable40 = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
+    variable41 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(95)) /*AbstractArray::add*/;
     variable42 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41, variable42) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable41) /*AbstractArray::add*/;
-    variable42 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable42 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable42) /*AbstractArray::add*/;
-    variable43 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable43 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable43) /*AbstractArray::add*/;
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable44 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable44) /*AbstractArray::add*/;
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable45 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable45) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable40) /*AbstractArray::add*/;
-    variable41 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable42 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable41 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable42 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(100)) /*AbstractArray::add*/;
     variable43 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable43) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41, variable42) /*AbstractArray::add*/;
-    variable43 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable43 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41, variable43) /*AbstractArray::add*/;
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable44 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41, variable44) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable41) /*AbstractArray::add*/;
-    variable42 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[E]*/
-    variable43 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable42 = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[Array[Int]]*/
+    variable43 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(100)) /*AbstractArray::add*/;
     variable44 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable44) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable43) /*AbstractArray::add*/;
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable44 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable44) /*AbstractArray::add*/;
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable45 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable45) /*AbstractArray::add*/;
-    variable46 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable46 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable46) /*AbstractArray::add*/;
-    variable47 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable47 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable47) /*AbstractArray::add*/;
-    variable48 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable48 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(103)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable48) /*AbstractArray::add*/;
-    variable49 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable49 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable49) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable42) /*AbstractArray::add*/;
-    variable43 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable43 = NEW_Array_array___Array___with_capacity(TAG_Int(8)); /*new Array[Array[Int]]*/
+    variable44 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(95)) /*AbstractArray::add*/;
     variable45 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44, variable45) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable44) /*AbstractArray::add*/;
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable45 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(103)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable45) /*AbstractArray::add*/;
-    variable46 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable46 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(104)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(104)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(104)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable46) /*AbstractArray::add*/;
-    variable47 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable47 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable47) /*AbstractArray::add*/;
-    variable48 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable48 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable48) /*AbstractArray::add*/;
-    variable49 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable49 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(120)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable49) /*AbstractArray::add*/;
-    variable50 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable50 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(121)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(121)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(106)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable50) /*AbstractArray::add*/;
-    variable51 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable51 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable51) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable43) /*AbstractArray::add*/;
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable44 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable45 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(109)) /*AbstractArray::add*/;
     variable46 = TAG_Int(-UNTAG_Int( TAG_Int(39)));
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable46) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44, variable45) /*AbstractArray::add*/;
-    variable46 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable46 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(107)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44, variable46) /*AbstractArray::add*/;
-    variable47 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable47 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44, variable47) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable44) /*AbstractArray::add*/;
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable46 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable45 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable46 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(95)) /*AbstractArray::add*/;
     variable47 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable47) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable46) /*AbstractArray::add*/;
-    variable47 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable47 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable47) /*AbstractArray::add*/;
-    variable48 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable48 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable48) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable45) /*AbstractArray::add*/;
-    variable46 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[E]*/
-    variable47 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable46 = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
+    variable47 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(103)) /*AbstractArray::add*/;
     variable48 = TAG_Int(-UNTAG_Int( TAG_Int(43)));
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable48) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable47) /*AbstractArray::add*/;
-    variable48 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable48 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(104)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(104)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable48) /*AbstractArray::add*/;
-    variable49 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable49 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable49) /*AbstractArray::add*/;
-    variable50 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable50 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable50) /*AbstractArray::add*/;
-    variable51 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable51 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable51) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable46) /*AbstractArray::add*/;
-    variable47 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
-    variable48 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable47 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Array[Int]]*/
+    variable48 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable48) /*AbstractArray::add*/;
-    variable49 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable49 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(11)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(12)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable49) /*AbstractArray::add*/;
-    variable50 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable50 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(14)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(33)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable50) /*AbstractArray::add*/;
-    variable51 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable51 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(34)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(34)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable51) /*AbstractArray::add*/;
-    variable52 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable52 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52,  TAG_Int(35)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52,  TAG_Int(91)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable52) /*AbstractArray::add*/;
-    variable53 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable53 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(92)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(92)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable53) /*AbstractArray::add*/;
-    variable54 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable54 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(93)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable54) /*AbstractArray::add*/;
-    variable55 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable55 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(123)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(123)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable55) /*AbstractArray::add*/;
-    variable56 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable56 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(124)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(255)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(111)) /*AbstractArray::add*/;
@@ -6281,8 +6281,8 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable48) /*AbstractArray::add*/;
     variable49 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable49) /*AbstractArray::add*/;
-    variable50 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable51 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable50 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable51 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(255)) /*AbstractArray::add*/;
     variable52 = TAG_Int(-UNTAG_Int( TAG_Int(8)));
@@ -6291,18 +6291,18 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable50) /*AbstractArray::add*/;
     variable51 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable51) /*AbstractArray::add*/;
-    variable52 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable53 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable52 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable53 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52, variable53) /*AbstractArray::add*/;
-    variable54 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable54 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(11)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(12)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52, variable54) /*AbstractArray::add*/;
-    variable55 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable55 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(14)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(255)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(115)) /*AbstractArray::add*/;
@@ -6310,8 +6310,8 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable52) /*AbstractArray::add*/;
     variable53 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable53) /*AbstractArray::add*/;
-    variable54 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable55 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable54 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable55 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(255)) /*AbstractArray::add*/;
     variable56 = TAG_Int(-UNTAG_Int( TAG_Int(9)));
@@ -6320,15 +6320,15 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable54) /*AbstractArray::add*/;
     variable55 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable55) /*AbstractArray::add*/;
-    variable56 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable57 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable56 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable57 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(10)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(10)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56, variable57) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable56) /*AbstractArray::add*/;
-    variable57 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable58 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable57 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable58 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(255)) /*AbstractArray::add*/;
     variable59 = TAG_Int(-UNTAG_Int( TAG_Int(11)));
@@ -6341,22 +6341,22 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable59) /*AbstractArray::add*/;
     variable60 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable60) /*AbstractArray::add*/;
-    variable61 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable62 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable61 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable62 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(46)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(46)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable61,COLOR_abstract_collection___SimpleCollection___add))(variable61, variable62) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable61) /*AbstractArray::add*/;
-    variable62 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable63 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable62 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable63 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(57)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(60)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62, variable63) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable62) /*AbstractArray::add*/;
-    variable63 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable64 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable63 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable64 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(57)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(60)) /*AbstractArray::add*/;
@@ -6364,8 +6364,8 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable63) /*AbstractArray::add*/;
     variable64 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable64) /*AbstractArray::add*/;
-    variable65 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable66 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable65 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable66 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66,  TAG_Int(62)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66,  TAG_Int(62)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66,  TAG_Int(118)) /*AbstractArray::add*/;
@@ -6375,802 +6375,802 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable66) /*AbstractArray::add*/;
     variable67 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable67) /*AbstractArray::add*/;
-    variable68 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable69 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable68 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable69 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(122)) /*AbstractArray::add*/;
     variable70 = TAG_Int(-UNTAG_Int( TAG_Int(25)));
     ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69, variable70) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable68,COLOR_abstract_collection___SimpleCollection___add))(variable68, variable69) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable68) /*AbstractArray::add*/;
-    variable69 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable70 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable69 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable70 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable70,COLOR_abstract_collection___SimpleCollection___add))(variable70,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable70,COLOR_abstract_collection___SimpleCollection___add))(variable70,  TAG_Int(122)) /*AbstractArray::add*/;
     variable71 = TAG_Int(-UNTAG_Int( TAG_Int(25)));
     ((array___AbstractArray___add_t)CALL(variable70,COLOR_abstract_collection___SimpleCollection___add))(variable70, variable71) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69, variable70) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable69) /*AbstractArray::add*/;
-    variable70 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable71 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable70 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable71 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(122)) /*AbstractArray::add*/;
     variable72 = TAG_Int(-UNTAG_Int( TAG_Int(25)));
     ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71, variable72) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable70,COLOR_abstract_collection___SimpleCollection___add))(variable70, variable71) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable70) /*AbstractArray::add*/;
-    variable71 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable72 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable71 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable72 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(122)) /*AbstractArray::add*/;
     variable73 = TAG_Int(-UNTAG_Int( TAG_Int(25)));
     ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72, variable73) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71, variable72) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable71) /*AbstractArray::add*/;
-    variable72 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable73 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable72 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable73 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(57)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(119)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72, variable73) /*AbstractArray::add*/;
-    variable74 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable74 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74,  TAG_Int(65)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74,  TAG_Int(90)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74,  TAG_Int(120)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72, variable74) /*AbstractArray::add*/;
-    variable75 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable75 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75,  TAG_Int(95)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75,  TAG_Int(95)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75,  TAG_Int(121)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72, variable75) /*AbstractArray::add*/;
-    variable76 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable76 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72, variable76) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable72) /*AbstractArray::add*/;
-    variable73 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable74 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable73 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable74 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74,  TAG_Int(122)) /*AbstractArray::add*/;
     variable75 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74, variable75) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73, variable74) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable73) /*AbstractArray::add*/;
-    variable74 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable75 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable74 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable75 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75,  TAG_Int(122)) /*AbstractArray::add*/;
     variable76 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75, variable76) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74, variable75) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable74) /*AbstractArray::add*/;
-    variable75 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable76 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable75 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable76 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(122)) /*AbstractArray::add*/;
     variable77 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76, variable77) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75, variable76) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable75) /*AbstractArray::add*/;
-    variable76 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable77 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable76 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable77 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(122)) /*AbstractArray::add*/;
     variable78 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable78) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76, variable77) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable76) /*AbstractArray::add*/;
-    variable77 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[E]*/
-    variable78 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable77 = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
+    variable78 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78,  TAG_Int(110)) /*AbstractArray::add*/;
     variable79 = TAG_Int(-UNTAG_Int( TAG_Int(32)));
     ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78, variable79) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable78) /*AbstractArray::add*/;
-    variable79 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable79 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79,  TAG_Int(123)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable79) /*AbstractArray::add*/;
-    variable80 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable80 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable80) /*AbstractArray::add*/;
-    variable81 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable81 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(124)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable81) /*AbstractArray::add*/;
-    variable82 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable82 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable82) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable77) /*AbstractArray::add*/;
-    variable78 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable79 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable78 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable79 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79,  TAG_Int(95)) /*AbstractArray::add*/;
     variable80 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79, variable80) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78, variable79) /*AbstractArray::add*/;
-    variable80 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable80 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78, variable80) /*AbstractArray::add*/;
-    variable81 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable81 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(125)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78, variable81) /*AbstractArray::add*/;
-    variable82 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable82 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78, variable82) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable78) /*AbstractArray::add*/;
-    variable79 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable80 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable79 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable80 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(95)) /*AbstractArray::add*/;
     variable81 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80, variable81) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79, variable80) /*AbstractArray::add*/;
-    variable81 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable81 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79, variable81) /*AbstractArray::add*/;
-    variable82 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable82 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(126)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79, variable82) /*AbstractArray::add*/;
-    variable83 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable83 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79, variable83) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable79) /*AbstractArray::add*/;
-    variable80 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable81 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable80 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable81 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(95)) /*AbstractArray::add*/;
     variable82 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81, variable82) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80, variable81) /*AbstractArray::add*/;
-    variable82 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable82 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80, variable82) /*AbstractArray::add*/;
-    variable83 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable83 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(127)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80, variable83) /*AbstractArray::add*/;
-    variable84 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable84 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80, variable84) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable80) /*AbstractArray::add*/;
-    variable81 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable82 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable81 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable82 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(100)) /*AbstractArray::add*/;
     variable83 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82, variable83) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81, variable82) /*AbstractArray::add*/;
-    variable83 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable83 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(128)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81, variable83) /*AbstractArray::add*/;
-    variable84 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable84 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81, variable84) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable81) /*AbstractArray::add*/;
-    variable82 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable83 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable82 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable83 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(95)) /*AbstractArray::add*/;
     variable84 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83, variable84) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82, variable83) /*AbstractArray::add*/;
-    variable84 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable84 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(129)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82, variable84) /*AbstractArray::add*/;
-    variable85 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable85 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82, variable85) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable82) /*AbstractArray::add*/;
-    variable83 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable84 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable83 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable84 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(109)) /*AbstractArray::add*/;
     variable85 = TAG_Int(-UNTAG_Int( TAG_Int(39)));
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84, variable85) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83, variable84) /*AbstractArray::add*/;
-    variable85 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable85 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(130)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83, variable85) /*AbstractArray::add*/;
-    variable86 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable86 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83, variable86) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable83) /*AbstractArray::add*/;
-    variable84 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable85 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable84 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable85 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(122)) /*AbstractArray::add*/;
     variable86 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85, variable86) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84, variable85) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable84) /*AbstractArray::add*/;
-    variable85 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable86 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable85 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable86 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86,  TAG_Int(114)) /*AbstractArray::add*/;
     variable87 = TAG_Int(-UNTAG_Int( TAG_Int(79)));
     ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86, variable87) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85, variable86) /*AbstractArray::add*/;
-    variable87 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable87 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(131)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85, variable87) /*AbstractArray::add*/;
-    variable88 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable88 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85, variable88) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable85) /*AbstractArray::add*/;
-    variable86 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable87 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable86 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable87 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(99)) /*AbstractArray::add*/;
     variable88 = TAG_Int(-UNTAG_Int( TAG_Int(78)));
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87, variable88) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86, variable87) /*AbstractArray::add*/;
-    variable88 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable88 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(132)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86, variable88) /*AbstractArray::add*/;
-    variable89 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable89 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86, variable89) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable86) /*AbstractArray::add*/;
-    variable87 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable88 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable87 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable88 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(115)) /*AbstractArray::add*/;
     variable89 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88, variable89) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87, variable88) /*AbstractArray::add*/;
-    variable89 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable89 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(133)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87, variable89) /*AbstractArray::add*/;
-    variable90 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable90 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87, variable90) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable87) /*AbstractArray::add*/;
-    variable88 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable89 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable88 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable89 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(107)) /*AbstractArray::add*/;
     variable90 = TAG_Int(-UNTAG_Int( TAG_Int(31)));
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89, variable90) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88, variable89) /*AbstractArray::add*/;
-    variable90 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable90 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(134)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88, variable90) /*AbstractArray::add*/;
-    variable91 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable91 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88, variable91) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable88) /*AbstractArray::add*/;
-    variable89 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable90 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable89 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable90 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(113)) /*AbstractArray::add*/;
     variable91 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90, variable91) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89, variable90) /*AbstractArray::add*/;
-    variable91 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable91 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(135)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89, variable91) /*AbstractArray::add*/;
-    variable92 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable92 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89, variable92) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable89) /*AbstractArray::add*/;
-    variable90 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable91 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable90 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable91 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(122)) /*AbstractArray::add*/;
     variable92 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91, variable92) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90, variable91) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable90) /*AbstractArray::add*/;
-    variable91 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable92 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable91 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable92 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92,  TAG_Int(95)) /*AbstractArray::add*/;
     variable93 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable93) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91, variable92) /*AbstractArray::add*/;
-    variable93 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable93 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91, variable93) /*AbstractArray::add*/;
-    variable94 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable94 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(136)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91, variable94) /*AbstractArray::add*/;
-    variable95 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable95 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91, variable95) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable91) /*AbstractArray::add*/;
-    variable92 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
-    variable93 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable92 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Array[Int]]*/
+    variable93 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93,  TAG_Int(95)) /*AbstractArray::add*/;
     variable94 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93, variable94) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable93) /*AbstractArray::add*/;
-    variable94 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable94 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(104)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable94) /*AbstractArray::add*/;
-    variable95 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable95 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(137)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable95) /*AbstractArray::add*/;
-    variable96 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable96 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(106)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable96) /*AbstractArray::add*/;
-    variable97 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable97 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(138)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable97) /*AbstractArray::add*/;
-    variable98 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable98 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable98) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable92) /*AbstractArray::add*/;
-    variable93 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable94 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable93 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable94 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(95)) /*AbstractArray::add*/;
     variable95 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94, variable95) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93, variable94) /*AbstractArray::add*/;
-    variable95 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable95 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(139)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93, variable95) /*AbstractArray::add*/;
-    variable96 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable96 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93, variable96) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable93) /*AbstractArray::add*/;
-    variable94 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable95 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable94 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable95 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(115)) /*AbstractArray::add*/;
     variable96 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable96) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94, variable95) /*AbstractArray::add*/;
-    variable96 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable96 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(140)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94, variable96) /*AbstractArray::add*/;
-    variable97 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable97 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94, variable97) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable94) /*AbstractArray::add*/;
-    variable95 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable96 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable95 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable96 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(95)) /*AbstractArray::add*/;
     variable97 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96, variable97) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable96) /*AbstractArray::add*/;
-    variable97 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable97 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable97) /*AbstractArray::add*/;
-    variable98 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable98 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(119)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(119)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(141)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable98) /*AbstractArray::add*/;
-    variable99 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable99 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(120)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable99) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable95) /*AbstractArray::add*/;
-    variable96 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable97 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable96 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable97 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(115)) /*AbstractArray::add*/;
     variable98 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97, variable98) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96, variable97) /*AbstractArray::add*/;
-    variable98 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable98 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(142)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96, variable98) /*AbstractArray::add*/;
-    variable99 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable99 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96, variable99) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable96) /*AbstractArray::add*/;
-    variable97 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable98 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable97 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable98 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(107)) /*AbstractArray::add*/;
     variable99 = TAG_Int(-UNTAG_Int( TAG_Int(31)));
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable99) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97, variable98) /*AbstractArray::add*/;
-    variable99 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable99 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(143)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97, variable99) /*AbstractArray::add*/;
-    variable100 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable100 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97, variable100) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable97) /*AbstractArray::add*/;
-    variable98 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable99 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable98 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable99 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(95)) /*AbstractArray::add*/;
     variable100 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99, variable100) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable99) /*AbstractArray::add*/;
-    variable100 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable100 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable100) /*AbstractArray::add*/;
-    variable101 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable101 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101,  TAG_Int(144)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable101) /*AbstractArray::add*/;
-    variable102 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable102 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable102) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable98) /*AbstractArray::add*/;
-    variable99 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable100 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable99 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable100 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(122)) /*AbstractArray::add*/;
     variable101 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100, variable101) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99, variable100) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable99) /*AbstractArray::add*/;
-    variable100 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable101 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable100 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable101 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101,  TAG_Int(98)) /*AbstractArray::add*/;
     variable102 = TAG_Int(-UNTAG_Int( TAG_Int(98)));
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable102) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100, variable101) /*AbstractArray::add*/;
-    variable102 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable102 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(145)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100, variable102) /*AbstractArray::add*/;
-    variable103 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable103 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100, variable103) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable100) /*AbstractArray::add*/;
-    variable101 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[E]*/
-    variable102 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable101 = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
+    variable102 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(104)) /*AbstractArray::add*/;
     variable103 = TAG_Int(-UNTAG_Int( TAG_Int(92)));
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable103) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable102) /*AbstractArray::add*/;
-    variable103 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable103 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(146)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable103) /*AbstractArray::add*/;
-    variable104 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable104 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(106)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable104) /*AbstractArray::add*/;
-    variable105 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable105 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(147)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable105) /*AbstractArray::add*/;
-    variable106 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable106 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable106) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable101) /*AbstractArray::add*/;
-    variable102 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[E]*/
-    variable103 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable102 = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[Array[Int]]*/
+    variable103 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(95)) /*AbstractArray::add*/;
     variable104 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103, variable104) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable103) /*AbstractArray::add*/;
-    variable104 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable104 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(148)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable104) /*AbstractArray::add*/;
-    variable105 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable105 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable105) /*AbstractArray::add*/;
-    variable106 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable106 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(149)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable106) /*AbstractArray::add*/;
-    variable107 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable107 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable107) /*AbstractArray::add*/;
-    variable108 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable108 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(150)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable108) /*AbstractArray::add*/;
-    variable109 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable109 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable109) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable102) /*AbstractArray::add*/;
-    variable103 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable104 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable103 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable104 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(107)) /*AbstractArray::add*/;
     variable105 = TAG_Int(-UNTAG_Int( TAG_Int(31)));
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104, variable105) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103, variable104) /*AbstractArray::add*/;
-    variable105 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable105 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(151)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103, variable105) /*AbstractArray::add*/;
-    variable106 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable106 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103, variable106) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable103) /*AbstractArray::add*/;
-    variable104 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable105 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable104 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable105 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(100)) /*AbstractArray::add*/;
     variable106 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105, variable106) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104, variable105) /*AbstractArray::add*/;
-    variable106 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable106 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(152)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104, variable106) /*AbstractArray::add*/;
-    variable107 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable107 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104, variable107) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable104) /*AbstractArray::add*/;
-    variable105 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable106 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable105 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable106 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(111)) /*AbstractArray::add*/;
     variable107 = TAG_Int(-UNTAG_Int( TAG_Int(91)));
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106, variable107) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105, variable106) /*AbstractArray::add*/;
-    variable107 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable107 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(153)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105, variable107) /*AbstractArray::add*/;
-    variable108 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable108 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105, variable108) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable105) /*AbstractArray::add*/;
-    variable106 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable107 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable106 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable107 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(100)) /*AbstractArray::add*/;
     variable108 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107, variable108) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106, variable107) /*AbstractArray::add*/;
-    variable108 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable108 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(154)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106, variable108) /*AbstractArray::add*/;
-    variable109 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable109 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106, variable109) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable106) /*AbstractArray::add*/;
-    variable107 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable108 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable107 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable108 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(95)) /*AbstractArray::add*/;
     variable109 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108, variable109) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107, variable108) /*AbstractArray::add*/;
-    variable109 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable109 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107, variable109) /*AbstractArray::add*/;
-    variable110 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable110 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(155)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107, variable110) /*AbstractArray::add*/;
-    variable111 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable111 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107, variable111) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable107) /*AbstractArray::add*/;
-    variable108 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable109 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable108 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable109 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(111)) /*AbstractArray::add*/;
     variable110 = TAG_Int(-UNTAG_Int( TAG_Int(91)));
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109, variable110) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108, variable109) /*AbstractArray::add*/;
-    variable110 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable110 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(156)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108, variable110) /*AbstractArray::add*/;
-    variable111 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable111 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108, variable111) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable108) /*AbstractArray::add*/;
-    variable109 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable110 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable109 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable110 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(104)) /*AbstractArray::add*/;
     variable111 = TAG_Int(-UNTAG_Int( TAG_Int(92)));
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110, variable111) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109, variable110) /*AbstractArray::add*/;
-    variable111 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable111 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(157)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109, variable111) /*AbstractArray::add*/;
-    variable112 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable112 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(106)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109, variable112) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable109) /*AbstractArray::add*/;
-    variable110 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable111 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable110 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable111 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(113)) /*AbstractArray::add*/;
     variable112 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111, variable112) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110, variable111) /*AbstractArray::add*/;
-    variable112 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable112 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(158)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110, variable112) /*AbstractArray::add*/;
-    variable113 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable113 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110, variable113) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable110) /*AbstractArray::add*/;
-    variable111 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable112 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable111 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable112 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(104)) /*AbstractArray::add*/;
     variable113 = TAG_Int(-UNTAG_Int( TAG_Int(92)));
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112, variable113) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111, variable112) /*AbstractArray::add*/;
-    variable113 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable113 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(159)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111, variable113) /*AbstractArray::add*/;
-    variable114 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable114 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(106)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111, variable114) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable111) /*AbstractArray::add*/;
-    variable112 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable113 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable112 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable113 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(104)) /*AbstractArray::add*/;
     variable114 = TAG_Int(-UNTAG_Int( TAG_Int(92)));
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113, variable114) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112, variable113) /*AbstractArray::add*/;
-    variable114 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable114 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(160)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112, variable114) /*AbstractArray::add*/;
-    variable115 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable115 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115,  TAG_Int(106)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112, variable115) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable112) /*AbstractArray::add*/;
-    variable113 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable114 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable113 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable114 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(255)) /*AbstractArray::add*/;
     variable115 = TAG_Int(-UNTAG_Int( TAG_Int(47)));
@@ -7179,18 +7179,18 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable113) /*AbstractArray::add*/;
     variable114 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable114) /*AbstractArray::add*/;
-    variable115 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable116 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable115 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable116 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(9)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(161)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115, variable116) /*AbstractArray::add*/;
-    variable117 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable117 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable117,COLOR_abstract_collection___SimpleCollection___add))(variable117,  TAG_Int(11)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable117,COLOR_abstract_collection___SimpleCollection___add))(variable117,  TAG_Int(12)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable117,COLOR_abstract_collection___SimpleCollection___add))(variable117,  TAG_Int(161)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115, variable117) /*AbstractArray::add*/;
-    variable118 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable118 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable118,COLOR_abstract_collection___SimpleCollection___add))(variable118,  TAG_Int(14)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable118,COLOR_abstract_collection___SimpleCollection___add))(variable118,  TAG_Int(255)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable118,COLOR_abstract_collection___SimpleCollection___add))(variable118,  TAG_Int(161)) /*AbstractArray::add*/;
@@ -7198,8 +7198,8 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable115) /*AbstractArray::add*/;
     variable116 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable116) /*AbstractArray::add*/;
-    variable117 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable118 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable117 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable118 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable118,COLOR_abstract_collection___SimpleCollection___add))(variable118,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable118,COLOR_abstract_collection___SimpleCollection___add))(variable118,  TAG_Int(255)) /*AbstractArray::add*/;
     variable119 = TAG_Int(-UNTAG_Int( TAG_Int(8)));
@@ -7212,1997 +7212,1997 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable119) /*AbstractArray::add*/;
     variable120 = ((lexer___Lexer___nil_array_t)CALL( self,COLOR_lexer___Lexer___nil_array))( self) /*Lexer::nil_array*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable120) /*AbstractArray::add*/;
-    variable121 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable122 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable121 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable122 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable122,COLOR_abstract_collection___SimpleCollection___add))(variable122,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable122,COLOR_abstract_collection___SimpleCollection___add))(variable122,  TAG_Int(122)) /*AbstractArray::add*/;
     variable123 = TAG_Int(-UNTAG_Int( TAG_Int(72)));
     ((array___AbstractArray___add_t)CALL(variable122,COLOR_abstract_collection___SimpleCollection___add))(variable122, variable123) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable121,COLOR_abstract_collection___SimpleCollection___add))(variable121, variable122) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable121) /*AbstractArray::add*/;
-    variable122 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable123 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable122 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable123 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable123,COLOR_abstract_collection___SimpleCollection___add))(variable123,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable123,COLOR_abstract_collection___SimpleCollection___add))(variable123,  TAG_Int(122)) /*AbstractArray::add*/;
     variable124 = TAG_Int(-UNTAG_Int( TAG_Int(72)));
     ((array___AbstractArray___add_t)CALL(variable123,COLOR_abstract_collection___SimpleCollection___add))(variable123, variable124) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable122,COLOR_abstract_collection___SimpleCollection___add))(variable122, variable123) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable122) /*AbstractArray::add*/;
-    variable123 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable124 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable123 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable124 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable124,COLOR_abstract_collection___SimpleCollection___add))(variable124,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable124,COLOR_abstract_collection___SimpleCollection___add))(variable124,  TAG_Int(122)) /*AbstractArray::add*/;
     variable125 = TAG_Int(-UNTAG_Int( TAG_Int(72)));
     ((array___AbstractArray___add_t)CALL(variable124,COLOR_abstract_collection___SimpleCollection___add))(variable124, variable125) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable123,COLOR_abstract_collection___SimpleCollection___add))(variable123, variable124) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable123) /*AbstractArray::add*/;
-    variable124 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable125 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable124 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable125 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable125,COLOR_abstract_collection___SimpleCollection___add))(variable125,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable125,COLOR_abstract_collection___SimpleCollection___add))(variable125,  TAG_Int(122)) /*AbstractArray::add*/;
     variable126 = TAG_Int(-UNTAG_Int( TAG_Int(72)));
     ((array___AbstractArray___add_t)CALL(variable125,COLOR_abstract_collection___SimpleCollection___add))(variable125, variable126) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable124,COLOR_abstract_collection___SimpleCollection___add))(variable124, variable125) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable124) /*AbstractArray::add*/;
-    variable125 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable126 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable125 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable126 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable126,COLOR_abstract_collection___SimpleCollection___add))(variable126,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable126,COLOR_abstract_collection___SimpleCollection___add))(variable126,  TAG_Int(113)) /*AbstractArray::add*/;
     variable127 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable126,COLOR_abstract_collection___SimpleCollection___add))(variable126, variable127) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable125,COLOR_abstract_collection___SimpleCollection___add))(variable125, variable126) /*AbstractArray::add*/;
-    variable127 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable127 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable127,COLOR_abstract_collection___SimpleCollection___add))(variable127,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable127,COLOR_abstract_collection___SimpleCollection___add))(variable127,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable127,COLOR_abstract_collection___SimpleCollection___add))(variable127,  TAG_Int(162)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable125,COLOR_abstract_collection___SimpleCollection___add))(variable125, variable127) /*AbstractArray::add*/;
-    variable128 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable128 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable125,COLOR_abstract_collection___SimpleCollection___add))(variable125, variable128) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable125) /*AbstractArray::add*/;
-    variable126 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable127 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable126 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable127 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable127,COLOR_abstract_collection___SimpleCollection___add))(variable127,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable127,COLOR_abstract_collection___SimpleCollection___add))(variable127,  TAG_Int(115)) /*AbstractArray::add*/;
     variable128 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable127,COLOR_abstract_collection___SimpleCollection___add))(variable127, variable128) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable126,COLOR_abstract_collection___SimpleCollection___add))(variable126, variable127) /*AbstractArray::add*/;
-    variable128 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable128 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(163)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable126,COLOR_abstract_collection___SimpleCollection___add))(variable126, variable128) /*AbstractArray::add*/;
-    variable129 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable129 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable126,COLOR_abstract_collection___SimpleCollection___add))(variable126, variable129) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable126) /*AbstractArray::add*/;
-    variable127 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable128 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable127 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable128 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(122)) /*AbstractArray::add*/;
     variable129 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128, variable129) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable127,COLOR_abstract_collection___SimpleCollection___add))(variable127, variable128) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable127) /*AbstractArray::add*/;
-    variable128 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable129 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable128 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable129 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129,  TAG_Int(100)) /*AbstractArray::add*/;
     variable130 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129, variable130) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128, variable129) /*AbstractArray::add*/;
-    variable130 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable130 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130,  TAG_Int(164)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128, variable130) /*AbstractArray::add*/;
-    variable131 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable131 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128, variable131) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable128) /*AbstractArray::add*/;
-    variable129 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable130 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable129 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable130 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130,  TAG_Int(113)) /*AbstractArray::add*/;
     variable131 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130, variable131) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129, variable130) /*AbstractArray::add*/;
-    variable131 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable131 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(165)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129, variable131) /*AbstractArray::add*/;
-    variable132 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable132 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129, variable132) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable129) /*AbstractArray::add*/;
-    variable130 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable131 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable130 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable131 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(95)) /*AbstractArray::add*/;
     variable132 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131, variable132) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130, variable131) /*AbstractArray::add*/;
-    variable132 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable132 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(166)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130, variable132) /*AbstractArray::add*/;
-    variable133 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable133 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130, variable133) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable130) /*AbstractArray::add*/;
-    variable131 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable132 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable131 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable132 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(114)) /*AbstractArray::add*/;
     variable133 = TAG_Int(-UNTAG_Int( TAG_Int(79)));
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132, variable133) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131, variable132) /*AbstractArray::add*/;
-    variable133 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable133 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(167)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131, variable133) /*AbstractArray::add*/;
-    variable134 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable134 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131, variable134) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable131) /*AbstractArray::add*/;
-    variable132 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable133 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable132 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable133 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(115)) /*AbstractArray::add*/;
     variable134 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133, variable134) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132, variable133) /*AbstractArray::add*/;
-    variable134 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable134 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(168)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132, variable134) /*AbstractArray::add*/;
-    variable135 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable135 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132, variable135) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable132) /*AbstractArray::add*/;
-    variable133 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable134 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable133 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable134 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(100)) /*AbstractArray::add*/;
     variable135 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134, variable135) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133, variable134) /*AbstractArray::add*/;
-    variable135 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable135 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(169)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133, variable135) /*AbstractArray::add*/;
-    variable136 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable136 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133, variable136) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable133) /*AbstractArray::add*/;
-    variable134 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable135 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable134 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable135 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(122)) /*AbstractArray::add*/;
     variable136 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135, variable136) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134, variable135) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable134) /*AbstractArray::add*/;
-    variable135 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable136 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable135 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable136 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136,  TAG_Int(100)) /*AbstractArray::add*/;
     variable137 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136, variable137) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135, variable136) /*AbstractArray::add*/;
-    variable137 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable137 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable137,COLOR_abstract_collection___SimpleCollection___add))(variable137,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable137,COLOR_abstract_collection___SimpleCollection___add))(variable137,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable137,COLOR_abstract_collection___SimpleCollection___add))(variable137,  TAG_Int(170)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135, variable137) /*AbstractArray::add*/;
-    variable138 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable138 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135, variable138) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable135) /*AbstractArray::add*/;
-    variable136 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable137 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable136 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable137 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable137,COLOR_abstract_collection___SimpleCollection___add))(variable137,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable137,COLOR_abstract_collection___SimpleCollection___add))(variable137,  TAG_Int(114)) /*AbstractArray::add*/;
     variable138 = TAG_Int(-UNTAG_Int( TAG_Int(79)));
     ((array___AbstractArray___add_t)CALL(variable137,COLOR_abstract_collection___SimpleCollection___add))(variable137, variable138) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136, variable137) /*AbstractArray::add*/;
-    variable138 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable138 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(171)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136, variable138) /*AbstractArray::add*/;
-    variable139 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable139 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136, variable139) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable136) /*AbstractArray::add*/;
-    variable137 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable138 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable137 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable138 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(122)) /*AbstractArray::add*/;
     variable139 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138, variable139) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable137,COLOR_abstract_collection___SimpleCollection___add))(variable137, variable138) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable137) /*AbstractArray::add*/;
-    variable138 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable139 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable138 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable139 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139,  TAG_Int(110)) /*AbstractArray::add*/;
     variable140 = TAG_Int(-UNTAG_Int( TAG_Int(32)));
     ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139, variable140) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138, variable139) /*AbstractArray::add*/;
-    variable140 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable140 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140,  TAG_Int(172)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138, variable140) /*AbstractArray::add*/;
-    variable141 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable141 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(112)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138, variable141) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable138) /*AbstractArray::add*/;
-    variable139 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable140 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable139 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable140 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140,  TAG_Int(115)) /*AbstractArray::add*/;
     variable141 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140, variable141) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139, variable140) /*AbstractArray::add*/;
-    variable141 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable141 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(173)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139, variable141) /*AbstractArray::add*/;
-    variable142 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable142 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139, variable142) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable139) /*AbstractArray::add*/;
-    variable140 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[E]*/
-    variable141 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable140 = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
+    variable141 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(100)) /*AbstractArray::add*/;
     variable142 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141, variable142) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140, variable141) /*AbstractArray::add*/;
-    variable142 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable142 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(174)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140, variable142) /*AbstractArray::add*/;
-    variable143 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable143 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable143,COLOR_abstract_collection___SimpleCollection___add))(variable143,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable143,COLOR_abstract_collection___SimpleCollection___add))(variable143,  TAG_Int(113)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable143,COLOR_abstract_collection___SimpleCollection___add))(variable143,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140, variable143) /*AbstractArray::add*/;
-    variable144 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable144 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(175)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140, variable144) /*AbstractArray::add*/;
-    variable145 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable145 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140, variable145) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable140) /*AbstractArray::add*/;
-    variable141 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable142 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable141 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable142 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(122)) /*AbstractArray::add*/;
     variable143 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142, variable143) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141, variable142) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable141) /*AbstractArray::add*/;
-    variable142 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable143 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable142 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable143 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable143,COLOR_abstract_collection___SimpleCollection___add))(variable143,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable143,COLOR_abstract_collection___SimpleCollection___add))(variable143,  TAG_Int(103)) /*AbstractArray::add*/;
     variable144 = TAG_Int(-UNTAG_Int( TAG_Int(43)));
     ((array___AbstractArray___add_t)CALL(variable143,COLOR_abstract_collection___SimpleCollection___add))(variable143, variable144) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142, variable143) /*AbstractArray::add*/;
-    variable144 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable144 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(104)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(104)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(176)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142, variable144) /*AbstractArray::add*/;
-    variable145 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable145 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142, variable145) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable142) /*AbstractArray::add*/;
-    variable143 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable144 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable143 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable144 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(122)) /*AbstractArray::add*/;
     variable145 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144, variable145) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable143,COLOR_abstract_collection___SimpleCollection___add))(variable143, variable144) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable143) /*AbstractArray::add*/;
-    variable144 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable145 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable144 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable145 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(122)) /*AbstractArray::add*/;
     variable146 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145, variable146) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144, variable145) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable144) /*AbstractArray::add*/;
-    variable145 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable146 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable145 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable146 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable146,COLOR_abstract_collection___SimpleCollection___add))(variable146,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable146,COLOR_abstract_collection___SimpleCollection___add))(variable146,  TAG_Int(107)) /*AbstractArray::add*/;
     variable147 = TAG_Int(-UNTAG_Int( TAG_Int(31)));
     ((array___AbstractArray___add_t)CALL(variable146,COLOR_abstract_collection___SimpleCollection___add))(variable146, variable147) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145, variable146) /*AbstractArray::add*/;
-    variable147 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable147 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147,  TAG_Int(177)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145, variable147) /*AbstractArray::add*/;
-    variable148 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable148 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145, variable148) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable145) /*AbstractArray::add*/;
-    variable146 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable147 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable146 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable147 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147,  TAG_Int(100)) /*AbstractArray::add*/;
     variable148 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147, variable148) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable146,COLOR_abstract_collection___SimpleCollection___add))(variable146, variable147) /*AbstractArray::add*/;
-    variable148 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable148 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(178)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable146,COLOR_abstract_collection___SimpleCollection___add))(variable146, variable148) /*AbstractArray::add*/;
-    variable149 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable149 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable146,COLOR_abstract_collection___SimpleCollection___add))(variable146, variable149) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable146) /*AbstractArray::add*/;
-    variable147 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable148 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable147 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable148 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(95)) /*AbstractArray::add*/;
     variable149 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148, variable149) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147, variable148) /*AbstractArray::add*/;
-    variable149 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable149 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(106)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147, variable149) /*AbstractArray::add*/;
-    variable150 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable150 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(107)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(107)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(179)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147, variable150) /*AbstractArray::add*/;
-    variable151 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable151 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147, variable151) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable147) /*AbstractArray::add*/;
-    variable148 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable149 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable148 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable149 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(95)) /*AbstractArray::add*/;
     variable150 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149, variable150) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148, variable149) /*AbstractArray::add*/;
-    variable150 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable150 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148, variable150) /*AbstractArray::add*/;
-    variable151 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable151 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(180)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148, variable151) /*AbstractArray::add*/;
-    variable152 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable152 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(119)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148, variable152) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable148) /*AbstractArray::add*/;
-    variable149 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable150 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable149 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable150 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(115)) /*AbstractArray::add*/;
     variable151 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150, variable151) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149, variable150) /*AbstractArray::add*/;
-    variable151 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable151 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(181)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149, variable151) /*AbstractArray::add*/;
-    variable152 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable152 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149, variable152) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable149) /*AbstractArray::add*/;
-    variable150 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable151 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable150 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable151 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(99)) /*AbstractArray::add*/;
     variable152 = TAG_Int(-UNTAG_Int( TAG_Int(78)));
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151, variable152) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150, variable151) /*AbstractArray::add*/;
-    variable152 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable152 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(182)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150, variable152) /*AbstractArray::add*/;
-    variable153 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable153 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150, variable153) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable150) /*AbstractArray::add*/;
-    variable151 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable152 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable151 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable152 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(100)) /*AbstractArray::add*/;
     variable153 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152, variable153) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151, variable152) /*AbstractArray::add*/;
-    variable153 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable153 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(183)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151, variable153) /*AbstractArray::add*/;
-    variable154 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable154 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151, variable154) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable151) /*AbstractArray::add*/;
-    variable152 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable153 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable152 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable153 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(116)) /*AbstractArray::add*/;
     variable154 = TAG_Int(-UNTAG_Int( TAG_Int(107)));
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153, variable154) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152, variable153) /*AbstractArray::add*/;
-    variable154 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable154 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(184)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152, variable154) /*AbstractArray::add*/;
-    variable155 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable155 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152, variable155) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable152) /*AbstractArray::add*/;
-    variable153 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable154 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable153 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable154 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(101)) /*AbstractArray::add*/;
     variable155 = TAG_Int(-UNTAG_Int( TAG_Int(36)));
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154, variable155) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153, variable154) /*AbstractArray::add*/;
-    variable155 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable155 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(185)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153, variable155) /*AbstractArray::add*/;
-    variable156 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable156 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(103)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153, variable156) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable153) /*AbstractArray::add*/;
-    variable154 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable155 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable154 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable155 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(98)) /*AbstractArray::add*/;
     variable156 = TAG_Int(-UNTAG_Int( TAG_Int(98)));
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155, variable156) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154, variable155) /*AbstractArray::add*/;
-    variable156 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable156 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(186)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154, variable156) /*AbstractArray::add*/;
-    variable157 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable157 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154, variable157) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable154) /*AbstractArray::add*/;
-    variable155 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable156 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable155 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable156 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(100)) /*AbstractArray::add*/;
     variable157 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156, variable157) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155, variable156) /*AbstractArray::add*/;
-    variable157 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable157 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(187)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155, variable157) /*AbstractArray::add*/;
-    variable158 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable158 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155, variable158) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable155) /*AbstractArray::add*/;
-    variable156 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable157 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable156 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable157 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(109)) /*AbstractArray::add*/;
     variable158 = TAG_Int(-UNTAG_Int( TAG_Int(39)));
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157, variable158) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156, variable157) /*AbstractArray::add*/;
-    variable158 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable158 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(188)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156, variable158) /*AbstractArray::add*/;
-    variable159 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable159 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156, variable159) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable156) /*AbstractArray::add*/;
-    variable157 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable158 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable157 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable158 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(100)) /*AbstractArray::add*/;
     variable159 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158, variable159) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157, variable158) /*AbstractArray::add*/;
-    variable159 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable159 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(189)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157, variable159) /*AbstractArray::add*/;
-    variable160 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable160 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157, variable160) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable157) /*AbstractArray::add*/;
-    variable158 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable159 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable158 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable159 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(100)) /*AbstractArray::add*/;
     variable160 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159, variable160) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158, variable159) /*AbstractArray::add*/;
-    variable160 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable160 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(190)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158, variable160) /*AbstractArray::add*/;
-    variable161 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable161 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158, variable161) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable158) /*AbstractArray::add*/;
-    variable159 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable160 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable159 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable160 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(117)) /*AbstractArray::add*/;
     variable161 = TAG_Int(-UNTAG_Int( TAG_Int(148)));
     ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160, variable161) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159, variable160) /*AbstractArray::add*/;
-    variable161 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable161 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(191)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159, variable161) /*AbstractArray::add*/;
-    variable162 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable162 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162,  TAG_Int(119)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159, variable162) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable159) /*AbstractArray::add*/;
-    variable160 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable161 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable160 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable161 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(122)) /*AbstractArray::add*/;
     variable162 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161, variable162) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160, variable161) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable160) /*AbstractArray::add*/;
-    variable161 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable162 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable161 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable162 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162,  TAG_Int(107)) /*AbstractArray::add*/;
     variable163 = TAG_Int(-UNTAG_Int( TAG_Int(31)));
     ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162, variable163) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161, variable162) /*AbstractArray::add*/;
-    variable163 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable163 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable163,COLOR_abstract_collection___SimpleCollection___add))(variable163,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable163,COLOR_abstract_collection___SimpleCollection___add))(variable163,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable163,COLOR_abstract_collection___SimpleCollection___add))(variable163,  TAG_Int(192)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161, variable163) /*AbstractArray::add*/;
-    variable164 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable164 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161, variable164) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable161) /*AbstractArray::add*/;
-    variable162 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable163 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable162 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable163 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable163,COLOR_abstract_collection___SimpleCollection___add))(variable163,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable163,COLOR_abstract_collection___SimpleCollection___add))(variable163,  TAG_Int(115)) /*AbstractArray::add*/;
     variable164 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable163,COLOR_abstract_collection___SimpleCollection___add))(variable163, variable164) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162, variable163) /*AbstractArray::add*/;
-    variable164 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable164 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(193)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162, variable164) /*AbstractArray::add*/;
-    variable165 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable165 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162, variable165) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable162) /*AbstractArray::add*/;
-    variable163 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable164 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable163 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable164 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(255)) /*AbstractArray::add*/;
     variable165 = TAG_Int(-UNTAG_Int( TAG_Int(47)));
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164, variable165) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable163,COLOR_abstract_collection___SimpleCollection___add))(variable163, variable164) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable163) /*AbstractArray::add*/;
-    variable164 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable165 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable164 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable165 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165,  TAG_Int(115)) /*AbstractArray::add*/;
     variable166 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165, variable166) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164, variable165) /*AbstractArray::add*/;
-    variable166 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable166 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166,  TAG_Int(194)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164, variable166) /*AbstractArray::add*/;
-    variable167 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable167 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164, variable167) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable164) /*AbstractArray::add*/;
-    variable165 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable166 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable165 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable166 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166,  TAG_Int(113)) /*AbstractArray::add*/;
     variable167 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166, variable167) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165, variable166) /*AbstractArray::add*/;
-    variable167 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable167 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(195)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165, variable167) /*AbstractArray::add*/;
-    variable168 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable168 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165, variable168) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable165) /*AbstractArray::add*/;
-    variable166 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable167 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable166 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable167 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(113)) /*AbstractArray::add*/;
     variable168 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167, variable168) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166, variable167) /*AbstractArray::add*/;
-    variable168 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable168 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(196)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166, variable168) /*AbstractArray::add*/;
-    variable169 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable169 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166, variable169) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable166) /*AbstractArray::add*/;
-    variable167 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable168 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable167 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable168 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(122)) /*AbstractArray::add*/;
     variable169 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168, variable169) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167, variable168) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable167) /*AbstractArray::add*/;
-    variable168 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable169 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable168 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable169 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169,  TAG_Int(106)) /*AbstractArray::add*/;
     variable170 = TAG_Int(-UNTAG_Int( TAG_Int(147)));
     ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169, variable170) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168, variable169) /*AbstractArray::add*/;
-    variable170 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable170 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170,  TAG_Int(107)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170,  TAG_Int(107)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170,  TAG_Int(197)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168, variable170) /*AbstractArray::add*/;
-    variable171 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable171 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168, variable171) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable168) /*AbstractArray::add*/;
-    variable169 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable170 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable169 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable170 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170,  TAG_Int(114)) /*AbstractArray::add*/;
     variable171 = TAG_Int(-UNTAG_Int( TAG_Int(79)));
     ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170, variable171) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169, variable170) /*AbstractArray::add*/;
-    variable171 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable171 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(198)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169, variable171) /*AbstractArray::add*/;
-    variable172 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable172 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169, variable172) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable169) /*AbstractArray::add*/;
-    variable170 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable171 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable170 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable171 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(104)) /*AbstractArray::add*/;
     variable172 = TAG_Int(-UNTAG_Int( TAG_Int(92)));
     ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171, variable172) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170, variable171) /*AbstractArray::add*/;
-    variable172 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable172 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(199)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170, variable172) /*AbstractArray::add*/;
-    variable173 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable173 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173,  TAG_Int(106)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170, variable173) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable170) /*AbstractArray::add*/;
-    variable171 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable172 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable171 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable172 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(122)) /*AbstractArray::add*/;
     variable173 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172, variable173) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171, variable172) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable171) /*AbstractArray::add*/;
-    variable172 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable173 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable172 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable173 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173,  TAG_Int(113)) /*AbstractArray::add*/;
     variable174 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173, variable174) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172, variable173) /*AbstractArray::add*/;
-    variable174 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable174 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174,  TAG_Int(200)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172, variable174) /*AbstractArray::add*/;
-    variable175 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable175 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172, variable175) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable172) /*AbstractArray::add*/;
-    variable173 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable174 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable173 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable174 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174,  TAG_Int(100)) /*AbstractArray::add*/;
     variable175 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174, variable175) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173, variable174) /*AbstractArray::add*/;
-    variable175 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable175 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(201)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173, variable175) /*AbstractArray::add*/;
-    variable176 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable176 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173, variable176) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable173) /*AbstractArray::add*/;
-    variable174 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable175 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable174 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable175 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(113)) /*AbstractArray::add*/;
     variable176 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175, variable176) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174, variable175) /*AbstractArray::add*/;
-    variable176 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable176 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(202)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174, variable176) /*AbstractArray::add*/;
-    variable177 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable177 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174, variable177) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable174) /*AbstractArray::add*/;
-    variable175 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable176 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable175 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable176 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(122)) /*AbstractArray::add*/;
     variable177 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176, variable177) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175, variable176) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable175) /*AbstractArray::add*/;
-    variable176 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable177 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable176 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable177 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177,  TAG_Int(113)) /*AbstractArray::add*/;
     variable178 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177, variable178) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176, variable177) /*AbstractArray::add*/;
-    variable178 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable178 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable178,COLOR_abstract_collection___SimpleCollection___add))(variable178,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable178,COLOR_abstract_collection___SimpleCollection___add))(variable178,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable178,COLOR_abstract_collection___SimpleCollection___add))(variable178,  TAG_Int(203)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176, variable178) /*AbstractArray::add*/;
-    variable179 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable179 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176, variable179) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable176) /*AbstractArray::add*/;
-    variable177 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable178 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable177 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable178 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable178,COLOR_abstract_collection___SimpleCollection___add))(variable178,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable178,COLOR_abstract_collection___SimpleCollection___add))(variable178,  TAG_Int(116)) /*AbstractArray::add*/;
     variable179 = TAG_Int(-UNTAG_Int( TAG_Int(107)));
     ((array___AbstractArray___add_t)CALL(variable178,COLOR_abstract_collection___SimpleCollection___add))(variable178, variable179) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177, variable178) /*AbstractArray::add*/;
-    variable179 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable179 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(204)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177, variable179) /*AbstractArray::add*/;
-    variable180 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable180 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable180,COLOR_abstract_collection___SimpleCollection___add))(variable180,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable180,COLOR_abstract_collection___SimpleCollection___add))(variable180,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable180,COLOR_abstract_collection___SimpleCollection___add))(variable180,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177, variable180) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable177) /*AbstractArray::add*/;
-    variable178 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable179 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable178 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable179 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(122)) /*AbstractArray::add*/;
     variable180 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179, variable180) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable178,COLOR_abstract_collection___SimpleCollection___add))(variable178, variable179) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable178) /*AbstractArray::add*/;
-    variable179 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable180 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable179 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable180 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable180,COLOR_abstract_collection___SimpleCollection___add))(variable180,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable180,COLOR_abstract_collection___SimpleCollection___add))(variable180,  TAG_Int(122)) /*AbstractArray::add*/;
     variable181 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable180,COLOR_abstract_collection___SimpleCollection___add))(variable180, variable181) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179, variable180) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable179) /*AbstractArray::add*/;
-    variable180 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable181 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable180 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable181 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable181,COLOR_abstract_collection___SimpleCollection___add))(variable181,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable181,COLOR_abstract_collection___SimpleCollection___add))(variable181,  TAG_Int(122)) /*AbstractArray::add*/;
     variable182 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable181,COLOR_abstract_collection___SimpleCollection___add))(variable181, variable182) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable180,COLOR_abstract_collection___SimpleCollection___add))(variable180, variable181) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable180) /*AbstractArray::add*/;
-    variable181 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable182 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable181 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable182 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable182,COLOR_abstract_collection___SimpleCollection___add))(variable182,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable182,COLOR_abstract_collection___SimpleCollection___add))(variable182,  TAG_Int(95)) /*AbstractArray::add*/;
     variable183 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable182,COLOR_abstract_collection___SimpleCollection___add))(variable182, variable183) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable181,COLOR_abstract_collection___SimpleCollection___add))(variable181, variable182) /*AbstractArray::add*/;
-    variable183 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable183 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183,  TAG_Int(205)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable181,COLOR_abstract_collection___SimpleCollection___add))(variable181, variable183) /*AbstractArray::add*/;
-    variable184 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable184 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable181,COLOR_abstract_collection___SimpleCollection___add))(variable181, variable184) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable181) /*AbstractArray::add*/;
-    variable182 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable183 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable182 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable183 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183,  TAG_Int(95)) /*AbstractArray::add*/;
     variable184 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183, variable184) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable182,COLOR_abstract_collection___SimpleCollection___add))(variable182, variable183) /*AbstractArray::add*/;
-    variable184 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable184 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(206)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable182,COLOR_abstract_collection___SimpleCollection___add))(variable182, variable184) /*AbstractArray::add*/;
-    variable185 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable185 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable182,COLOR_abstract_collection___SimpleCollection___add))(variable182, variable185) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable182) /*AbstractArray::add*/;
-    variable183 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable184 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable183 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable184 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(100)) /*AbstractArray::add*/;
     variable185 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184, variable185) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183, variable184) /*AbstractArray::add*/;
-    variable185 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable185 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(207)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183, variable185) /*AbstractArray::add*/;
-    variable186 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable186 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183, variable186) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable183) /*AbstractArray::add*/;
-    variable184 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable185 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable184 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable185 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(95)) /*AbstractArray::add*/;
     variable186 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185, variable186) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184, variable185) /*AbstractArray::add*/;
-    variable186 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable186 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(208)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184, variable186) /*AbstractArray::add*/;
-    variable187 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable187 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184, variable187) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable184) /*AbstractArray::add*/;
-    variable185 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable186 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable185 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable186 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(101)) /*AbstractArray::add*/;
     variable187 = TAG_Int(-UNTAG_Int( TAG_Int(36)));
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186, variable187) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185, variable186) /*AbstractArray::add*/;
-    variable187 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable187 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(209)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185, variable187) /*AbstractArray::add*/;
-    variable188 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable188 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(103)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185, variable188) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable185) /*AbstractArray::add*/;
-    variable186 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable187 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable186 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable187 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(113)) /*AbstractArray::add*/;
     variable188 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187, variable188) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186, variable187) /*AbstractArray::add*/;
-    variable188 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable188 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(210)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186, variable188) /*AbstractArray::add*/;
-    variable189 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable189 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186, variable189) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable186) /*AbstractArray::add*/;
-    variable187 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable188 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable187 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable188 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(122)) /*AbstractArray::add*/;
     variable189 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188, variable189) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187, variable188) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable187) /*AbstractArray::add*/;
-    variable188 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable189 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable188 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable189 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189,  TAG_Int(104)) /*AbstractArray::add*/;
     variable190 = TAG_Int(-UNTAG_Int( TAG_Int(92)));
     ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189, variable190) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188, variable189) /*AbstractArray::add*/;
-    variable190 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable190 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable190,COLOR_abstract_collection___SimpleCollection___add))(variable190,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable190,COLOR_abstract_collection___SimpleCollection___add))(variable190,  TAG_Int(105)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable190,COLOR_abstract_collection___SimpleCollection___add))(variable190,  TAG_Int(211)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188, variable190) /*AbstractArray::add*/;
-    variable191 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable191 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(106)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188, variable191) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable188) /*AbstractArray::add*/;
-    variable189 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable190 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable189 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable190 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable190,COLOR_abstract_collection___SimpleCollection___add))(variable190,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable190,COLOR_abstract_collection___SimpleCollection___add))(variable190,  TAG_Int(113)) /*AbstractArray::add*/;
     variable191 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable190,COLOR_abstract_collection___SimpleCollection___add))(variable190, variable191) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189, variable190) /*AbstractArray::add*/;
-    variable191 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable191 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(212)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189, variable191) /*AbstractArray::add*/;
-    variable192 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable192 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable192,COLOR_abstract_collection___SimpleCollection___add))(variable192,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable192,COLOR_abstract_collection___SimpleCollection___add))(variable192,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable192,COLOR_abstract_collection___SimpleCollection___add))(variable192,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189, variable192) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable189) /*AbstractArray::add*/;
-    variable190 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable191 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable190 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable191 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(122)) /*AbstractArray::add*/;
     variable192 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191, variable192) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable190,COLOR_abstract_collection___SimpleCollection___add))(variable190, variable191) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable190) /*AbstractArray::add*/;
-    variable191 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable192 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable191 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable192 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable192,COLOR_abstract_collection___SimpleCollection___add))(variable192,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable192,COLOR_abstract_collection___SimpleCollection___add))(variable192,  TAG_Int(122)) /*AbstractArray::add*/;
     variable193 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable192,COLOR_abstract_collection___SimpleCollection___add))(variable192, variable193) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191, variable192) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable191) /*AbstractArray::add*/;
-    variable192 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable193 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable192 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable193 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable193,COLOR_abstract_collection___SimpleCollection___add))(variable193,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable193,COLOR_abstract_collection___SimpleCollection___add))(variable193,  TAG_Int(122)) /*AbstractArray::add*/;
     variable194 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable193,COLOR_abstract_collection___SimpleCollection___add))(variable193, variable194) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable192,COLOR_abstract_collection___SimpleCollection___add))(variable192, variable193) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable192) /*AbstractArray::add*/;
-    variable193 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable194 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable193 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable194 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable194,COLOR_abstract_collection___SimpleCollection___add))(variable194,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable194,COLOR_abstract_collection___SimpleCollection___add))(variable194,  TAG_Int(100)) /*AbstractArray::add*/;
     variable195 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable194,COLOR_abstract_collection___SimpleCollection___add))(variable194, variable195) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable193,COLOR_abstract_collection___SimpleCollection___add))(variable193, variable194) /*AbstractArray::add*/;
-    variable195 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable195 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195,  TAG_Int(213)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable193,COLOR_abstract_collection___SimpleCollection___add))(variable193, variable195) /*AbstractArray::add*/;
-    variable196 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable196 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable193,COLOR_abstract_collection___SimpleCollection___add))(variable193, variable196) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable193) /*AbstractArray::add*/;
-    variable194 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable195 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable194 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable195 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195,  TAG_Int(100)) /*AbstractArray::add*/;
     variable196 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195, variable196) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable194,COLOR_abstract_collection___SimpleCollection___add))(variable194, variable195) /*AbstractArray::add*/;
-    variable196 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable196 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(214)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable194,COLOR_abstract_collection___SimpleCollection___add))(variable194, variable196) /*AbstractArray::add*/;
-    variable197 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable197 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable194,COLOR_abstract_collection___SimpleCollection___add))(variable194, variable197) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable194) /*AbstractArray::add*/;
-    variable195 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable196 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable195 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable196 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(95)) /*AbstractArray::add*/;
     variable197 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196, variable197) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195, variable196) /*AbstractArray::add*/;
-    variable197 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable197 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(215)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195, variable197) /*AbstractArray::add*/;
-    variable198 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable198 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195, variable198) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable195) /*AbstractArray::add*/;
-    variable196 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable197 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable196 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable197 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(122)) /*AbstractArray::add*/;
     variable198 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197, variable198) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196, variable197) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable196) /*AbstractArray::add*/;
-    variable197 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable198 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable197 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable198 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198,  TAG_Int(95)) /*AbstractArray::add*/;
     variable199 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198, variable199) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197, variable198) /*AbstractArray::add*/;
-    variable199 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable199 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable199,COLOR_abstract_collection___SimpleCollection___add))(variable199,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable199,COLOR_abstract_collection___SimpleCollection___add))(variable199,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable199,COLOR_abstract_collection___SimpleCollection___add))(variable199,  TAG_Int(216)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197, variable199) /*AbstractArray::add*/;
-    variable200 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable200 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197, variable200) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable197) /*AbstractArray::add*/;
-    variable198 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable199 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable198 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable199 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable199,COLOR_abstract_collection___SimpleCollection___add))(variable199,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable199,COLOR_abstract_collection___SimpleCollection___add))(variable199,  TAG_Int(115)) /*AbstractArray::add*/;
     variable200 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable199,COLOR_abstract_collection___SimpleCollection___add))(variable199, variable200) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198, variable199) /*AbstractArray::add*/;
-    variable200 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable200 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(217)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198, variable200) /*AbstractArray::add*/;
-    variable201 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable201 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198, variable201) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable198) /*AbstractArray::add*/;
-    variable199 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable200 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable199 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable200 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(122)) /*AbstractArray::add*/;
     variable201 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200, variable201) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable199,COLOR_abstract_collection___SimpleCollection___add))(variable199, variable200) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable199) /*AbstractArray::add*/;
-    variable200 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable201 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable200 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable201 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201,  TAG_Int(122)) /*AbstractArray::add*/;
     variable202 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201, variable202) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200, variable201) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable200) /*AbstractArray::add*/;
-    variable201 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable202 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable201 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable202 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable202,COLOR_abstract_collection___SimpleCollection___add))(variable202,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable202,COLOR_abstract_collection___SimpleCollection___add))(variable202,  TAG_Int(109)) /*AbstractArray::add*/;
     variable203 = TAG_Int(-UNTAG_Int( TAG_Int(39)));
     ((array___AbstractArray___add_t)CALL(variable202,COLOR_abstract_collection___SimpleCollection___add))(variable202, variable203) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201, variable202) /*AbstractArray::add*/;
-    variable203 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable203 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable203,COLOR_abstract_collection___SimpleCollection___add))(variable203,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable203,COLOR_abstract_collection___SimpleCollection___add))(variable203,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable203,COLOR_abstract_collection___SimpleCollection___add))(variable203,  TAG_Int(218)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201, variable203) /*AbstractArray::add*/;
-    variable204 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable204 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201, variable204) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable201) /*AbstractArray::add*/;
-    variable202 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable203 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable202 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable203 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable203,COLOR_abstract_collection___SimpleCollection___add))(variable203,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable203,COLOR_abstract_collection___SimpleCollection___add))(variable203,  TAG_Int(109)) /*AbstractArray::add*/;
     variable204 = TAG_Int(-UNTAG_Int( TAG_Int(39)));
     ((array___AbstractArray___add_t)CALL(variable203,COLOR_abstract_collection___SimpleCollection___add))(variable203, variable204) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable202,COLOR_abstract_collection___SimpleCollection___add))(variable202, variable203) /*AbstractArray::add*/;
-    variable204 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable204 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(219)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable202,COLOR_abstract_collection___SimpleCollection___add))(variable202, variable204) /*AbstractArray::add*/;
-    variable205 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable205 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable202,COLOR_abstract_collection___SimpleCollection___add))(variable202, variable205) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable202) /*AbstractArray::add*/;
-    variable203 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable204 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable203 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable204 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(122)) /*AbstractArray::add*/;
     variable205 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204, variable205) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable203,COLOR_abstract_collection___SimpleCollection___add))(variable203, variable204) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable203) /*AbstractArray::add*/;
-    variable204 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable205 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable204 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable205 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205,  TAG_Int(115)) /*AbstractArray::add*/;
     variable206 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205, variable206) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204, variable205) /*AbstractArray::add*/;
-    variable206 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable206 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206,  TAG_Int(220)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204, variable206) /*AbstractArray::add*/;
-    variable207 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable207 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204, variable207) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable204) /*AbstractArray::add*/;
-    variable205 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[E]*/
-    variable206 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable205 = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
+    variable206 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206,  TAG_Int(101)) /*AbstractArray::add*/;
     variable207 = TAG_Int(-UNTAG_Int( TAG_Int(36)));
     ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206, variable207) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205, variable206) /*AbstractArray::add*/;
-    variable207 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable207 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(221)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205, variable207) /*AbstractArray::add*/;
-    variable208 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable208 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(103)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205, variable208) /*AbstractArray::add*/;
-    variable209 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable209 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(222)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205, variable209) /*AbstractArray::add*/;
-    variable210 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable210 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205, variable210) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable205) /*AbstractArray::add*/;
-    variable206 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable207 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable206 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable207 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(99)) /*AbstractArray::add*/;
     variable208 = TAG_Int(-UNTAG_Int( TAG_Int(78)));
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207, variable208) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206, variable207) /*AbstractArray::add*/;
-    variable208 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable208 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(223)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206, variable208) /*AbstractArray::add*/;
-    variable209 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable209 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206, variable209) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable206) /*AbstractArray::add*/;
-    variable207 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
-    variable208 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable207 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
+    variable208 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(95)) /*AbstractArray::add*/;
     variable209 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208, variable209) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207, variable208) /*AbstractArray::add*/;
-    variable209 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable209 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207, variable209) /*AbstractArray::add*/;
-    variable210 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable210 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(103)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(103)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(224)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207, variable210) /*AbstractArray::add*/;
-    variable211 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable211 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(104)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207, variable211) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable207) /*AbstractArray::add*/;
-    variable208 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable209 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable208 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable209 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(115)) /*AbstractArray::add*/;
     variable210 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209, variable210) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208, variable209) /*AbstractArray::add*/;
-    variable210 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable210 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(225)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208, variable210) /*AbstractArray::add*/;
-    variable211 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable211 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208, variable211) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable208) /*AbstractArray::add*/;
-    variable209 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable210 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable209 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable210 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(98)) /*AbstractArray::add*/;
     variable211 = TAG_Int(-UNTAG_Int( TAG_Int(98)));
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210, variable211) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209, variable210) /*AbstractArray::add*/;
-    variable211 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable211 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(226)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209, variable211) /*AbstractArray::add*/;
-    variable212 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable212 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209, variable212) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable209) /*AbstractArray::add*/;
-    variable210 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable211 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable210 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable211 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(97)) /*AbstractArray::add*/;
     variable212 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211, variable212) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210, variable211) /*AbstractArray::add*/;
-    variable212 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable212 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(227)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210, variable212) /*AbstractArray::add*/;
-    variable213 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable213 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210, variable213) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable210) /*AbstractArray::add*/;
-    variable211 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable212 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable211 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable212 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(122)) /*AbstractArray::add*/;
     variable213 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212, variable213) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211, variable212) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable211) /*AbstractArray::add*/;
-    variable212 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable213 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable212 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable213 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213,  TAG_Int(109)) /*AbstractArray::add*/;
     variable214 = TAG_Int(-UNTAG_Int( TAG_Int(39)));
     ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213, variable214) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212, variable213) /*AbstractArray::add*/;
-    variable214 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable214 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable214,COLOR_abstract_collection___SimpleCollection___add))(variable214,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable214,COLOR_abstract_collection___SimpleCollection___add))(variable214,  TAG_Int(110)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable214,COLOR_abstract_collection___SimpleCollection___add))(variable214,  TAG_Int(228)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212, variable214) /*AbstractArray::add*/;
-    variable215 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable215 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(111)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212, variable215) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable212) /*AbstractArray::add*/;
-    variable213 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable214 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable213 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable214 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable214,COLOR_abstract_collection___SimpleCollection___add))(variable214,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable214,COLOR_abstract_collection___SimpleCollection___add))(variable214,  TAG_Int(95)) /*AbstractArray::add*/;
     variable215 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable214,COLOR_abstract_collection___SimpleCollection___add))(variable214, variable215) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213, variable214) /*AbstractArray::add*/;
-    variable215 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable215 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(229)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213, variable215) /*AbstractArray::add*/;
-    variable216 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable216 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable216,COLOR_abstract_collection___SimpleCollection___add))(variable216,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable216,COLOR_abstract_collection___SimpleCollection___add))(variable216,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable216,COLOR_abstract_collection___SimpleCollection___add))(variable216,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213, variable216) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable213) /*AbstractArray::add*/;
-    variable214 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable215 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable214 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable215 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(122)) /*AbstractArray::add*/;
     variable216 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215, variable216) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable214,COLOR_abstract_collection___SimpleCollection___add))(variable214, variable215) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable214) /*AbstractArray::add*/;
-    variable215 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable216 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable215 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable216 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable216,COLOR_abstract_collection___SimpleCollection___add))(variable216,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable216,COLOR_abstract_collection___SimpleCollection___add))(variable216,  TAG_Int(113)) /*AbstractArray::add*/;
     variable217 = TAG_Int(-UNTAG_Int( TAG_Int(30)));
     ((array___AbstractArray___add_t)CALL(variable216,COLOR_abstract_collection___SimpleCollection___add))(variable216, variable217) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215, variable216) /*AbstractArray::add*/;
-    variable217 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable217 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217,  TAG_Int(114)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217,  TAG_Int(230)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215, variable217) /*AbstractArray::add*/;
-    variable218 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable218 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215, variable218) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable215) /*AbstractArray::add*/;
-    variable216 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable217 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable216 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable217 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217,  TAG_Int(122)) /*AbstractArray::add*/;
     variable218 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217, variable218) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable216,COLOR_abstract_collection___SimpleCollection___add))(variable216, variable217) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable216) /*AbstractArray::add*/;
-    variable217 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable218 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable217 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable218 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218,  TAG_Int(97)) /*AbstractArray::add*/;
     variable219 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218, variable219) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217, variable218) /*AbstractArray::add*/;
-    variable219 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable219 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable219,COLOR_abstract_collection___SimpleCollection___add))(variable219,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable219,COLOR_abstract_collection___SimpleCollection___add))(variable219,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable219,COLOR_abstract_collection___SimpleCollection___add))(variable219,  TAG_Int(231)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217, variable219) /*AbstractArray::add*/;
-    variable220 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable220 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217, variable220) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable217) /*AbstractArray::add*/;
-    variable218 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable219 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable218 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable219 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable219,COLOR_abstract_collection___SimpleCollection___add))(variable219,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable219,COLOR_abstract_collection___SimpleCollection___add))(variable219,  TAG_Int(98)) /*AbstractArray::add*/;
     variable220 = TAG_Int(-UNTAG_Int( TAG_Int(98)));
     ((array___AbstractArray___add_t)CALL(variable219,COLOR_abstract_collection___SimpleCollection___add))(variable219, variable220) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218, variable219) /*AbstractArray::add*/;
-    variable220 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable220 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(232)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218, variable220) /*AbstractArray::add*/;
-    variable221 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable221 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable221,COLOR_abstract_collection___SimpleCollection___add))(variable221,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable221,COLOR_abstract_collection___SimpleCollection___add))(variable221,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable221,COLOR_abstract_collection___SimpleCollection___add))(variable221,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218, variable221) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable218) /*AbstractArray::add*/;
-    variable219 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable220 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable219 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable220 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(122)) /*AbstractArray::add*/;
     variable221 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220, variable221) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable219,COLOR_abstract_collection___SimpleCollection___add))(variable219, variable220) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable219) /*AbstractArray::add*/;
-    variable220 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable221 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable220 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable221 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable221,COLOR_abstract_collection___SimpleCollection___add))(variable221,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable221,COLOR_abstract_collection___SimpleCollection___add))(variable221,  TAG_Int(116)) /*AbstractArray::add*/;
     variable222 = TAG_Int(-UNTAG_Int( TAG_Int(107)));
     ((array___AbstractArray___add_t)CALL(variable221,COLOR_abstract_collection___SimpleCollection___add))(variable221, variable222) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220, variable221) /*AbstractArray::add*/;
-    variable222 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable222 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable222,COLOR_abstract_collection___SimpleCollection___add))(variable222,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable222,COLOR_abstract_collection___SimpleCollection___add))(variable222,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable222,COLOR_abstract_collection___SimpleCollection___add))(variable222,  TAG_Int(233)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220, variable222) /*AbstractArray::add*/;
-    variable223 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable223 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223,  TAG_Int(118)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220, variable223) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable220) /*AbstractArray::add*/;
-    variable221 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable222 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable221 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable222 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable222,COLOR_abstract_collection___SimpleCollection___add))(variable222,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable222,COLOR_abstract_collection___SimpleCollection___add))(variable222,  TAG_Int(122)) /*AbstractArray::add*/;
     variable223 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable222,COLOR_abstract_collection___SimpleCollection___add))(variable222, variable223) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable221,COLOR_abstract_collection___SimpleCollection___add))(variable221, variable222) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable221) /*AbstractArray::add*/;
-    variable222 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable223 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable222 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable223 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223,  TAG_Int(122)) /*AbstractArray::add*/;
     variable224 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223, variable224) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable222,COLOR_abstract_collection___SimpleCollection___add))(variable222, variable223) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable222) /*AbstractArray::add*/;
-    variable223 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable224 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable223 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable224 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable224,COLOR_abstract_collection___SimpleCollection___add))(variable224,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable224,COLOR_abstract_collection___SimpleCollection___add))(variable224,  TAG_Int(95)) /*AbstractArray::add*/;
     variable225 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable224,COLOR_abstract_collection___SimpleCollection___add))(variable224, variable225) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223, variable224) /*AbstractArray::add*/;
-    variable225 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable225 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225,  TAG_Int(234)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223, variable225) /*AbstractArray::add*/;
-    variable226 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable226 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223, variable226) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable223) /*AbstractArray::add*/;
-    variable224 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable225 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable224 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable225 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225,  TAG_Int(122)) /*AbstractArray::add*/;
     variable226 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225, variable226) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable224,COLOR_abstract_collection___SimpleCollection___add))(variable224, variable225) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable224) /*AbstractArray::add*/;
-    variable225 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable226 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable225 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable226 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226,  TAG_Int(100)) /*AbstractArray::add*/;
     variable227 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226, variable227) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225, variable226) /*AbstractArray::add*/;
-    variable227 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable227 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227,  TAG_Int(235)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225, variable227) /*AbstractArray::add*/;
-    variable228 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable228 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225, variable228) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable225) /*AbstractArray::add*/;
-    variable226 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable227 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable226 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable227 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227,  TAG_Int(100)) /*AbstractArray::add*/;
     variable228 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227, variable228) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226, variable227) /*AbstractArray::add*/;
-    variable228 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable228 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(236)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226, variable228) /*AbstractArray::add*/;
-    variable229 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable229 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226, variable229) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable226) /*AbstractArray::add*/;
-    variable227 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable228 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable227 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable228 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(100)) /*AbstractArray::add*/;
     variable229 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228, variable229) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227, variable228) /*AbstractArray::add*/;
-    variable229 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable229 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(237)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227, variable229) /*AbstractArray::add*/;
-    variable230 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable230 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227, variable230) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable227) /*AbstractArray::add*/;
-    variable228 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable229 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable228 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable229 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(115)) /*AbstractArray::add*/;
     variable230 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229, variable230) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228, variable229) /*AbstractArray::add*/;
-    variable230 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable230 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(238)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228, variable230) /*AbstractArray::add*/;
-    variable231 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable231 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228, variable231) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable228) /*AbstractArray::add*/;
-    variable229 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable230 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable229 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable230 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(107)) /*AbstractArray::add*/;
     variable231 = TAG_Int(-UNTAG_Int( TAG_Int(31)));
     ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230, variable231) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229, variable230) /*AbstractArray::add*/;
-    variable231 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable231 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(239)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229, variable231) /*AbstractArray::add*/;
-    variable232 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable232 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229, variable232) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable229) /*AbstractArray::add*/;
-    variable230 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable231 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable230 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable231 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(122)) /*AbstractArray::add*/;
     variable232 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231, variable232) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230, variable231) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable230) /*AbstractArray::add*/;
-    variable231 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable232 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable231 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable232 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232,  TAG_Int(107)) /*AbstractArray::add*/;
     variable233 = TAG_Int(-UNTAG_Int( TAG_Int(31)));
     ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232, variable233) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231, variable232) /*AbstractArray::add*/;
-    variable233 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable233 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233,  TAG_Int(240)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231, variable233) /*AbstractArray::add*/;
-    variable234 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable234 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231, variable234) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable231) /*AbstractArray::add*/;
-    variable232 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable233 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable232 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable233 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233,  TAG_Int(114)) /*AbstractArray::add*/;
     variable234 = TAG_Int(-UNTAG_Int( TAG_Int(79)));
     ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233, variable234) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232, variable233) /*AbstractArray::add*/;
-    variable234 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable234 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(241)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232, variable234) /*AbstractArray::add*/;
-    variable235 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable235 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232, variable235) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable232) /*AbstractArray::add*/;
-    variable233 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable234 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable233 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable234 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(107)) /*AbstractArray::add*/;
     variable235 = TAG_Int(-UNTAG_Int( TAG_Int(31)));
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234, variable235) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233, variable234) /*AbstractArray::add*/;
-    variable235 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable235 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(242)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233, variable235) /*AbstractArray::add*/;
-    variable236 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable236 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233, variable236) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable233) /*AbstractArray::add*/;
-    variable234 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable235 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable234 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable235 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(115)) /*AbstractArray::add*/;
     variable236 = TAG_Int(-UNTAG_Int( TAG_Int(80)));
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235, variable236) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234, variable235) /*AbstractArray::add*/;
-    variable236 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable236 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(116)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(243)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234, variable236) /*AbstractArray::add*/;
-    variable237 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable237 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234, variable237) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable234) /*AbstractArray::add*/;
-    variable235 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable236 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable235 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable236 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(100)) /*AbstractArray::add*/;
     variable237 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236, variable237) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235, variable236) /*AbstractArray::add*/;
-    variable237 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable237 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(244)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235, variable237) /*AbstractArray::add*/;
-    variable238 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable238 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235, variable238) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable235) /*AbstractArray::add*/;
-    variable236 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable237 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable236 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable237 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(98)) /*AbstractArray::add*/;
     variable238 = TAG_Int(-UNTAG_Int( TAG_Int(98)));
     ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237, variable238) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236, variable237) /*AbstractArray::add*/;
-    variable238 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable238 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(99)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(245)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236, variable238) /*AbstractArray::add*/;
-    variable239 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable239 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable239,COLOR_abstract_collection___SimpleCollection___add))(variable239,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable239,COLOR_abstract_collection___SimpleCollection___add))(variable239,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable239,COLOR_abstract_collection___SimpleCollection___add))(variable239,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236, variable239) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable236) /*AbstractArray::add*/;
-    variable237 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable238 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable237 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable238 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(122)) /*AbstractArray::add*/;
     variable239 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238, variable239) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237, variable238) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable237) /*AbstractArray::add*/;
-    variable238 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable239 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable238 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable239 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable239,COLOR_abstract_collection___SimpleCollection___add))(variable239,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable239,COLOR_abstract_collection___SimpleCollection___add))(variable239,  TAG_Int(122)) /*AbstractArray::add*/;
     variable240 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable239,COLOR_abstract_collection___SimpleCollection___add))(variable239, variable240) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238, variable239) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable238) /*AbstractArray::add*/;
-    variable239 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable240 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable239 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable240 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable240,COLOR_abstract_collection___SimpleCollection___add))(variable240,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable240,COLOR_abstract_collection___SimpleCollection___add))(variable240,  TAG_Int(122)) /*AbstractArray::add*/;
     variable241 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable240,COLOR_abstract_collection___SimpleCollection___add))(variable240, variable241) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable239,COLOR_abstract_collection___SimpleCollection___add))(variable239, variable240) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable239) /*AbstractArray::add*/;
-    variable240 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable241 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable240 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable241 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable241,COLOR_abstract_collection___SimpleCollection___add))(variable241,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable241,COLOR_abstract_collection___SimpleCollection___add))(variable241,  TAG_Int(100)) /*AbstractArray::add*/;
     variable242 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable241,COLOR_abstract_collection___SimpleCollection___add))(variable241, variable242) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable240,COLOR_abstract_collection___SimpleCollection___add))(variable240, variable241) /*AbstractArray::add*/;
-    variable242 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable242 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable242,COLOR_abstract_collection___SimpleCollection___add))(variable242,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable242,COLOR_abstract_collection___SimpleCollection___add))(variable242,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable242,COLOR_abstract_collection___SimpleCollection___add))(variable242,  TAG_Int(246)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable240,COLOR_abstract_collection___SimpleCollection___add))(variable240, variable242) /*AbstractArray::add*/;
-    variable243 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable243 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable240,COLOR_abstract_collection___SimpleCollection___add))(variable240, variable243) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable240) /*AbstractArray::add*/;
-    variable241 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable242 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable241 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable242 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable242,COLOR_abstract_collection___SimpleCollection___add))(variable242,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable242,COLOR_abstract_collection___SimpleCollection___add))(variable242,  TAG_Int(100)) /*AbstractArray::add*/;
     variable243 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable242,COLOR_abstract_collection___SimpleCollection___add))(variable242, variable243) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable241,COLOR_abstract_collection___SimpleCollection___add))(variable241, variable242) /*AbstractArray::add*/;
-    variable243 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable243 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(247)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable241,COLOR_abstract_collection___SimpleCollection___add))(variable241, variable243) /*AbstractArray::add*/;
-    variable244 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable244 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable241,COLOR_abstract_collection___SimpleCollection___add))(variable241, variable244) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable241) /*AbstractArray::add*/;
-    variable242 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable243 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable242 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable243 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(122)) /*AbstractArray::add*/;
     variable244 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243, variable244) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable242,COLOR_abstract_collection___SimpleCollection___add))(variable242, variable243) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable242) /*AbstractArray::add*/;
-    variable243 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable244 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable243 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable244 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244,  TAG_Int(95)) /*AbstractArray::add*/;
     variable245 = TAG_Int(-UNTAG_Int( TAG_Int(29)));
     ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244, variable245) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243, variable244) /*AbstractArray::add*/;
-    variable245 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable245 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable245,COLOR_abstract_collection___SimpleCollection___add))(variable245,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable245,COLOR_abstract_collection___SimpleCollection___add))(variable245,  TAG_Int(97)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable245,COLOR_abstract_collection___SimpleCollection___add))(variable245,  TAG_Int(248)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243, variable245) /*AbstractArray::add*/;
-    variable246 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable246 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(98)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243, variable246) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable243) /*AbstractArray::add*/;
-    variable244 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable245 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable244 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable245 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable245,COLOR_abstract_collection___SimpleCollection___add))(variable245,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable245,COLOR_abstract_collection___SimpleCollection___add))(variable245,  TAG_Int(100)) /*AbstractArray::add*/;
     variable246 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable245,COLOR_abstract_collection___SimpleCollection___add))(variable245, variable246) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244, variable245) /*AbstractArray::add*/;
-    variable246 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable246 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(249)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244, variable246) /*AbstractArray::add*/;
-    variable247 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable247 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244, variable247) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable244) /*AbstractArray::add*/;
-    variable245 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable246 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable245 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable246 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(122)) /*AbstractArray::add*/;
     variable247 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246, variable247) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable245,COLOR_abstract_collection___SimpleCollection___add))(variable245, variable246) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable245) /*AbstractArray::add*/;
-    variable246 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable247 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable246 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable247 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247,  TAG_Int(122)) /*AbstractArray::add*/;
     variable248 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247, variable248) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246, variable247) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable246) /*AbstractArray::add*/;
-    variable247 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable248 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable247 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable248 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable248,COLOR_abstract_collection___SimpleCollection___add))(variable248,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable248,COLOR_abstract_collection___SimpleCollection___add))(variable248,  TAG_Int(100)) /*AbstractArray::add*/;
     variable249 = TAG_Int(-UNTAG_Int( TAG_Int(37)));
     ((array___AbstractArray___add_t)CALL(variable248,COLOR_abstract_collection___SimpleCollection___add))(variable248, variable249) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247, variable248) /*AbstractArray::add*/;
-    variable249 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable249 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable249,COLOR_abstract_collection___SimpleCollection___add))(variable249,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable249,COLOR_abstract_collection___SimpleCollection___add))(variable249,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable249,COLOR_abstract_collection___SimpleCollection___add))(variable249,  TAG_Int(250)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247, variable249) /*AbstractArray::add*/;
-    variable250 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable250 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(102)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247, variable250) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable247) /*AbstractArray::add*/;
-    variable248 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable249 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable248 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable249 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable249,COLOR_abstract_collection___SimpleCollection___add))(variable249,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable249,COLOR_abstract_collection___SimpleCollection___add))(variable249,  TAG_Int(99)) /*AbstractArray::add*/;
     variable250 = TAG_Int(-UNTAG_Int( TAG_Int(78)));
     ((array___AbstractArray___add_t)CALL(variable249,COLOR_abstract_collection___SimpleCollection___add))(variable249, variable250) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable248,COLOR_abstract_collection___SimpleCollection___add))(variable248, variable249) /*AbstractArray::add*/;
-    variable250 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable250 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(100)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(251)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable248,COLOR_abstract_collection___SimpleCollection___add))(variable248, variable250) /*AbstractArray::add*/;
-    variable251 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable251 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable251,COLOR_abstract_collection___SimpleCollection___add))(variable251,  TAG_Int(101)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable251,COLOR_abstract_collection___SimpleCollection___add))(variable251,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable251,COLOR_abstract_collection___SimpleCollection___add))(variable251,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable248,COLOR_abstract_collection___SimpleCollection___add))(variable248, variable251) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable248) /*AbstractArray::add*/;
-    variable249 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable250 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable249 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable250 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(122)) /*AbstractArray::add*/;
     variable251 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250, variable251) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable249,COLOR_abstract_collection___SimpleCollection___add))(variable249, variable250) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable249) /*AbstractArray::add*/;
-    variable250 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-    variable251 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable250 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
+    variable251 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable251,COLOR_abstract_collection___SimpleCollection___add))(variable251,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable251,COLOR_abstract_collection___SimpleCollection___add))(variable251,  TAG_Int(107)) /*AbstractArray::add*/;
     variable252 = TAG_Int(-UNTAG_Int( TAG_Int(31)));
     ((array___AbstractArray___add_t)CALL(variable251,COLOR_abstract_collection___SimpleCollection___add))(variable251, variable252) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250, variable251) /*AbstractArray::add*/;
-    variable252 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable252 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable252,COLOR_abstract_collection___SimpleCollection___add))(variable252,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable252,COLOR_abstract_collection___SimpleCollection___add))(variable252,  TAG_Int(108)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable252,COLOR_abstract_collection___SimpleCollection___add))(variable252,  TAG_Int(252)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250, variable252) /*AbstractArray::add*/;
-    variable253 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable253 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable253,COLOR_abstract_collection___SimpleCollection___add))(variable253,  TAG_Int(109)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable253,COLOR_abstract_collection___SimpleCollection___add))(variable253,  TAG_Int(122)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable253,COLOR_abstract_collection___SimpleCollection___add))(variable253,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250, variable253) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable250) /*AbstractArray::add*/;
-    variable251 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable252 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable251 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable252 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable252,COLOR_abstract_collection___SimpleCollection___add))(variable252,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable252,COLOR_abstract_collection___SimpleCollection___add))(variable252,  TAG_Int(122)) /*AbstractArray::add*/;
     variable253 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable252,COLOR_abstract_collection___SimpleCollection___add))(variable252, variable253) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable251,COLOR_abstract_collection___SimpleCollection___add))(variable251, variable252) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable251) /*AbstractArray::add*/;
-    variable252 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable253 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable252 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable253 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable253,COLOR_abstract_collection___SimpleCollection___add))(variable253,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable253,COLOR_abstract_collection___SimpleCollection___add))(variable253,  TAG_Int(122)) /*AbstractArray::add*/;
     variable254 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable253,COLOR_abstract_collection___SimpleCollection___add))(variable253, variable254) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable252,COLOR_abstract_collection___SimpleCollection___add))(variable252, variable253) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable252) /*AbstractArray::add*/;
-    variable253 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable254 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable253 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable254 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable254,COLOR_abstract_collection___SimpleCollection___add))(variable254,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable254,COLOR_abstract_collection___SimpleCollection___add))(variable254,  TAG_Int(122)) /*AbstractArray::add*/;
     variable255 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
     ((array___AbstractArray___add_t)CALL(variable254,COLOR_abstract_collection___SimpleCollection___add))(variable254, variable255) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable253,COLOR_abstract_collection___SimpleCollection___add))(variable253, variable254) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable253) /*AbstractArray::add*/;
-    variable254 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable255 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    variable254 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable255 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable255,COLOR_abstract_collection___SimpleCollection___add))(variable255,  TAG_Int(48)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable255,COLOR_abstract_collection___SimpleCollection___add))(variable255,  TAG_Int(122)) /*AbstractArray::add*/;
     variable256 = TAG_Int(-UNTAG_Int( TAG_Int(35)));
@@ -9225,7 +9225,7 @@ val_t lexer___Lexer___nil_array(val_t  self) {
   trace.file = LOCATE_lexer;
   if (once_bool_variable0_266) variable0 = once_value_variable0_266;
   else {
-    variable0 = NEW_array___Array___init(); /*new Array[E]*/
+    variable0 = NEW_Array_array___Array___init(); /*new Array[Array[Int]]*/
     once_value_variable0_266 = variable0;
     once_bool_variable0_266 = true;
   }
@@ -9259,8 +9259,8 @@ void lexer___Lexer___build_accept_table(val_t  self) {
   trace.file = LOCATE_lexer;
   if (once_bool_variable0_268) variable0 = once_value_variable0_268;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-    variable1 = NEW_array___Array___with_capacity(TAG_Int(253)); /*new Array[E]*/
+    variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
+    variable1 = NEW_Array_array___Array___with_capacity(TAG_Int(253)); /*new Array[Int]*/
     variable2 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(0)) /*AbstractArray::add*/;
index 84aaa74..2c4970e 100644 (file)
@@ -17,89 +17,89 @@ extern const int SFT_lexer[];
 #define COLOR_lexer___Token___line SFT_lexer[7]
 #define COLOR_lexer___Token___pos SFT_lexer[8]
 #define COLOR_lexer___Token___parser_index SFT_lexer[9]
-#define COLOR_lexer___TEol___init SFT_lexer[10]
-#define COLOR_lexer___TComment___init SFT_lexer[11]
-#define COLOR_lexer___TKwpackage___init SFT_lexer[12]
-#define COLOR_lexer___TKwimport___init SFT_lexer[13]
-#define COLOR_lexer___TKwclass___init SFT_lexer[14]
-#define COLOR_lexer___TKwabstract___init SFT_lexer[15]
-#define COLOR_lexer___TKwinterface___init SFT_lexer[16]
-#define COLOR_lexer___TKwuniversal___init SFT_lexer[17]
-#define COLOR_lexer___TKwspecial___init SFT_lexer[18]
-#define COLOR_lexer___TKwend___init SFT_lexer[19]
-#define COLOR_lexer___TKwmeth___init SFT_lexer[20]
-#define COLOR_lexer___TKwtype___init SFT_lexer[21]
-#define COLOR_lexer___TKwattr___init SFT_lexer[22]
-#define COLOR_lexer___TKwinit___init SFT_lexer[23]
-#define COLOR_lexer___TKwredef___init SFT_lexer[24]
-#define COLOR_lexer___TKwis___init SFT_lexer[25]
-#define COLOR_lexer___TKwdo___init SFT_lexer[26]
-#define COLOR_lexer___TKwreadable___init SFT_lexer[27]
-#define COLOR_lexer___TKwwritable___init SFT_lexer[28]
-#define COLOR_lexer___TKwvar___init SFT_lexer[29]
-#define COLOR_lexer___TKwintern___init SFT_lexer[30]
-#define COLOR_lexer___TKwextern___init SFT_lexer[31]
-#define COLOR_lexer___TKwprotected___init SFT_lexer[32]
-#define COLOR_lexer___TKwprivate___init SFT_lexer[33]
-#define COLOR_lexer___TKwintrude___init SFT_lexer[34]
-#define COLOR_lexer___TKwif___init SFT_lexer[35]
-#define COLOR_lexer___TKwthen___init SFT_lexer[36]
-#define COLOR_lexer___TKwelse___init SFT_lexer[37]
-#define COLOR_lexer___TKwwhile___init SFT_lexer[38]
-#define COLOR_lexer___TKwfor___init SFT_lexer[39]
-#define COLOR_lexer___TKwin___init SFT_lexer[40]
-#define COLOR_lexer___TKwand___init SFT_lexer[41]
-#define COLOR_lexer___TKwor___init SFT_lexer[42]
-#define COLOR_lexer___TKwnot___init SFT_lexer[43]
-#define COLOR_lexer___TKwreturn___init SFT_lexer[44]
-#define COLOR_lexer___TKwcontinue___init SFT_lexer[45]
-#define COLOR_lexer___TKwbreak___init SFT_lexer[46]
-#define COLOR_lexer___TKwabort___init SFT_lexer[47]
-#define COLOR_lexer___TKwassert___init SFT_lexer[48]
-#define COLOR_lexer___TKwnew___init SFT_lexer[49]
-#define COLOR_lexer___TKwisa___init SFT_lexer[50]
-#define COLOR_lexer___TKwonce___init SFT_lexer[51]
-#define COLOR_lexer___TKwsuper___init SFT_lexer[52]
-#define COLOR_lexer___TKwself___init SFT_lexer[53]
-#define COLOR_lexer___TKwtrue___init SFT_lexer[54]
-#define COLOR_lexer___TKwfalse___init SFT_lexer[55]
-#define COLOR_lexer___TKwnull___init SFT_lexer[56]
-#define COLOR_lexer___TKwas___init SFT_lexer[57]
-#define COLOR_lexer___TOpar___init SFT_lexer[58]
-#define COLOR_lexer___TCpar___init SFT_lexer[59]
-#define COLOR_lexer___TObra___init SFT_lexer[60]
-#define COLOR_lexer___TCbra___init SFT_lexer[61]
-#define COLOR_lexer___TComma___init SFT_lexer[62]
-#define COLOR_lexer___TColumn___init SFT_lexer[63]
-#define COLOR_lexer___TQuad___init SFT_lexer[64]
-#define COLOR_lexer___TAssign___init SFT_lexer[65]
-#define COLOR_lexer___TPluseq___init SFT_lexer[66]
-#define COLOR_lexer___TMinuseq___init SFT_lexer[67]
-#define COLOR_lexer___TDotdotdot___init SFT_lexer[68]
-#define COLOR_lexer___TDotdot___init SFT_lexer[69]
-#define COLOR_lexer___TDot___init SFT_lexer[70]
-#define COLOR_lexer___TPlus___init SFT_lexer[71]
-#define COLOR_lexer___TMinus___init SFT_lexer[72]
-#define COLOR_lexer___TStar___init SFT_lexer[73]
-#define COLOR_lexer___TSlash___init SFT_lexer[74]
-#define COLOR_lexer___TPercent___init SFT_lexer[75]
-#define COLOR_lexer___TEq___init SFT_lexer[76]
-#define COLOR_lexer___TNe___init SFT_lexer[77]
-#define COLOR_lexer___TLt___init SFT_lexer[78]
-#define COLOR_lexer___TLe___init SFT_lexer[79]
-#define COLOR_lexer___TGt___init SFT_lexer[80]
-#define COLOR_lexer___TGe___init SFT_lexer[81]
-#define COLOR_lexer___TStarship___init SFT_lexer[82]
-#define COLOR_lexer___TClassid___init SFT_lexer[83]
-#define COLOR_lexer___TId___init SFT_lexer[84]
-#define COLOR_lexer___TAttrid___init SFT_lexer[85]
-#define COLOR_lexer___TNumber___init SFT_lexer[86]
-#define COLOR_lexer___TFloat___init SFT_lexer[87]
-#define COLOR_lexer___TChar___init SFT_lexer[88]
-#define COLOR_lexer___TString___init SFT_lexer[89]
-#define COLOR_lexer___TStartString___init SFT_lexer[90]
-#define COLOR_lexer___TMidString___init SFT_lexer[91]
-#define COLOR_lexer___TEndString___init SFT_lexer[92]
+#define COLOR_lexer___TEol___init_tk SFT_lexer[10]
+#define COLOR_lexer___TComment___init_tk SFT_lexer[11]
+#define COLOR_lexer___TKwpackage___init_tk SFT_lexer[12]
+#define COLOR_lexer___TKwimport___init_tk SFT_lexer[13]
+#define COLOR_lexer___TKwclass___init_tk SFT_lexer[14]
+#define COLOR_lexer___TKwabstract___init_tk SFT_lexer[15]
+#define COLOR_lexer___TKwinterface___init_tk SFT_lexer[16]
+#define COLOR_lexer___TKwuniversal___init_tk SFT_lexer[17]
+#define COLOR_lexer___TKwspecial___init_tk SFT_lexer[18]
+#define COLOR_lexer___TKwend___init_tk SFT_lexer[19]
+#define COLOR_lexer___TKwmeth___init_tk SFT_lexer[20]
+#define COLOR_lexer___TKwtype___init_tk SFT_lexer[21]
+#define COLOR_lexer___TKwattr___init_tk SFT_lexer[22]
+#define COLOR_lexer___TKwinit___init_tk SFT_lexer[23]
+#define COLOR_lexer___TKwredef___init_tk SFT_lexer[24]
+#define COLOR_lexer___TKwis___init_tk SFT_lexer[25]
+#define COLOR_lexer___TKwdo___init_tk SFT_lexer[26]
+#define COLOR_lexer___TKwreadable___init_tk SFT_lexer[27]
+#define COLOR_lexer___TKwwritable___init_tk SFT_lexer[28]
+#define COLOR_lexer___TKwvar___init_tk SFT_lexer[29]
+#define COLOR_lexer___TKwintern___init_tk SFT_lexer[30]
+#define COLOR_lexer___TKwextern___init_tk SFT_lexer[31]
+#define COLOR_lexer___TKwprotected___init_tk SFT_lexer[32]
+#define COLOR_lexer___TKwprivate___init_tk SFT_lexer[33]
+#define COLOR_lexer___TKwintrude___init_tk SFT_lexer[34]
+#define COLOR_lexer___TKwif___init_tk SFT_lexer[35]
+#define COLOR_lexer___TKwthen___init_tk SFT_lexer[36]
+#define COLOR_lexer___TKwelse___init_tk SFT_lexer[37]
+#define COLOR_lexer___TKwwhile___init_tk SFT_lexer[38]
+#define COLOR_lexer___TKwfor___init_tk SFT_lexer[39]
+#define COLOR_lexer___TKwin___init_tk SFT_lexer[40]
+#define COLOR_lexer___TKwand___init_tk SFT_lexer[41]
+#define COLOR_lexer___TKwor___init_tk SFT_lexer[42]
+#define COLOR_lexer___TKwnot___init_tk SFT_lexer[43]
+#define COLOR_lexer___TKwreturn___init_tk SFT_lexer[44]
+#define COLOR_lexer___TKwcontinue___init_tk SFT_lexer[45]
+#define COLOR_lexer___TKwbreak___init_tk SFT_lexer[46]
+#define COLOR_lexer___TKwabort___init_tk SFT_lexer[47]
+#define COLOR_lexer___TKwassert___init_tk SFT_lexer[48]
+#define COLOR_lexer___TKwnew___init_tk SFT_lexer[49]
+#define COLOR_lexer___TKwisa___init_tk SFT_lexer[50]
+#define COLOR_lexer___TKwonce___init_tk SFT_lexer[51]
+#define COLOR_lexer___TKwsuper___init_tk SFT_lexer[52]
+#define COLOR_lexer___TKwself___init_tk SFT_lexer[53]
+#define COLOR_lexer___TKwtrue___init_tk SFT_lexer[54]
+#define COLOR_lexer___TKwfalse___init_tk SFT_lexer[55]
+#define COLOR_lexer___TKwnull___init_tk SFT_lexer[56]
+#define COLOR_lexer___TKwas___init_tk SFT_lexer[57]
+#define COLOR_lexer___TOpar___init_tk SFT_lexer[58]
+#define COLOR_lexer___TCpar___init_tk SFT_lexer[59]
+#define COLOR_lexer___TObra___init_tk SFT_lexer[60]
+#define COLOR_lexer___TCbra___init_tk SFT_lexer[61]
+#define COLOR_lexer___TComma___init_tk SFT_lexer[62]
+#define COLOR_lexer___TColumn___init_tk SFT_lexer[63]
+#define COLOR_lexer___TQuad___init_tk SFT_lexer[64]
+#define COLOR_lexer___TAssign___init_tk SFT_lexer[65]
+#define COLOR_lexer___TPluseq___init_tk SFT_lexer[66]
+#define COLOR_lexer___TMinuseq___init_tk SFT_lexer[67]
+#define COLOR_lexer___TDotdotdot___init_tk SFT_lexer[68]
+#define COLOR_lexer___TDotdot___init_tk SFT_lexer[69]
+#define COLOR_lexer___TDot___init_tk SFT_lexer[70]
+#define COLOR_lexer___TPlus___init_tk SFT_lexer[71]
+#define COLOR_lexer___TMinus___init_tk SFT_lexer[72]
+#define COLOR_lexer___TStar___init_tk SFT_lexer[73]
+#define COLOR_lexer___TSlash___init_tk SFT_lexer[74]
+#define COLOR_lexer___TPercent___init_tk SFT_lexer[75]
+#define COLOR_lexer___TEq___init_tk SFT_lexer[76]
+#define COLOR_lexer___TNe___init_tk SFT_lexer[77]
+#define COLOR_lexer___TLt___init_tk SFT_lexer[78]
+#define COLOR_lexer___TLe___init_tk SFT_lexer[79]
+#define COLOR_lexer___TGt___init_tk SFT_lexer[80]
+#define COLOR_lexer___TGe___init_tk SFT_lexer[81]
+#define COLOR_lexer___TStarship___init_tk SFT_lexer[82]
+#define COLOR_lexer___TClassid___init_tk SFT_lexer[83]
+#define COLOR_lexer___TId___init_tk SFT_lexer[84]
+#define COLOR_lexer___TAttrid___init_tk SFT_lexer[85]
+#define COLOR_lexer___TNumber___init_tk SFT_lexer[86]
+#define COLOR_lexer___TFloat___init_tk SFT_lexer[87]
+#define COLOR_lexer___TChar___init_tk SFT_lexer[88]
+#define COLOR_lexer___TString___init_tk SFT_lexer[89]
+#define COLOR_lexer___TStartString___init_tk SFT_lexer[90]
+#define COLOR_lexer___TMidString___init_tk SFT_lexer[91]
+#define COLOR_lexer___TEndString___init_tk SFT_lexer[92]
 #define COLOR_lexer___EOF___init SFT_lexer[93]
 #define COLOR_lexer___PError____message SFT_lexer[94]
 #define COLOR_lexer___PError___message SFT_lexer[95]
@@ -160,584 +160,584 @@ val_t lexer___Token___to_s(val_t  self);
 typedef val_t (* lexer___TEol___parser_index_t)(val_t  self);
 val_t lexer___TEol___parser_index(val_t  self);
 #define LOCATE_lexer___TEol___parser_index "lexer::TEol::(lexer::Token::parser_index)"
-typedef void (* lexer___TEol___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TEol___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TEol___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TEol___init "lexer::TEol::init"
+typedef void (* lexer___TEol___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TEol___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TEol___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TEol___init_tk "lexer::TEol::init_tk"
 typedef val_t (* lexer___TComment___parser_index_t)(val_t  self);
 val_t lexer___TComment___parser_index(val_t  self);
 #define LOCATE_lexer___TComment___parser_index "lexer::TComment::(lexer::Token::parser_index)"
-typedef void (* lexer___TComment___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TComment___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TComment___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TComment___init "lexer::TComment::init"
+typedef void (* lexer___TComment___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TComment___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TComment___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TComment___init_tk "lexer::TComment::init_tk"
 typedef val_t (* lexer___TKwpackage___parser_index_t)(val_t  self);
 val_t lexer___TKwpackage___parser_index(val_t  self);
 #define LOCATE_lexer___TKwpackage___parser_index "lexer::TKwpackage::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwpackage___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwpackage___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwpackage___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwpackage___init "lexer::TKwpackage::init"
+typedef void (* lexer___TKwpackage___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwpackage___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwpackage___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwpackage___init_tk "lexer::TKwpackage::init_tk"
 typedef val_t (* lexer___TKwimport___parser_index_t)(val_t  self);
 val_t lexer___TKwimport___parser_index(val_t  self);
 #define LOCATE_lexer___TKwimport___parser_index "lexer::TKwimport::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwimport___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwimport___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwimport___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwimport___init "lexer::TKwimport::init"
+typedef void (* lexer___TKwimport___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwimport___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwimport___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwimport___init_tk "lexer::TKwimport::init_tk"
 typedef val_t (* lexer___TKwclass___parser_index_t)(val_t  self);
 val_t lexer___TKwclass___parser_index(val_t  self);
 #define LOCATE_lexer___TKwclass___parser_index "lexer::TKwclass::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwclass___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwclass___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwclass___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwclass___init "lexer::TKwclass::init"
+typedef void (* lexer___TKwclass___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwclass___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwclass___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwclass___init_tk "lexer::TKwclass::init_tk"
 typedef val_t (* lexer___TKwabstract___parser_index_t)(val_t  self);
 val_t lexer___TKwabstract___parser_index(val_t  self);
 #define LOCATE_lexer___TKwabstract___parser_index "lexer::TKwabstract::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwabstract___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwabstract___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwabstract___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwabstract___init "lexer::TKwabstract::init"
+typedef void (* lexer___TKwabstract___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwabstract___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwabstract___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwabstract___init_tk "lexer::TKwabstract::init_tk"
 typedef val_t (* lexer___TKwinterface___parser_index_t)(val_t  self);
 val_t lexer___TKwinterface___parser_index(val_t  self);
 #define LOCATE_lexer___TKwinterface___parser_index "lexer::TKwinterface::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwinterface___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwinterface___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwinterface___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwinterface___init "lexer::TKwinterface::init"
+typedef void (* lexer___TKwinterface___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwinterface___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwinterface___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwinterface___init_tk "lexer::TKwinterface::init_tk"
 typedef val_t (* lexer___TKwuniversal___parser_index_t)(val_t  self);
 val_t lexer___TKwuniversal___parser_index(val_t  self);
 #define LOCATE_lexer___TKwuniversal___parser_index "lexer::TKwuniversal::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwuniversal___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwuniversal___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwuniversal___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwuniversal___init "lexer::TKwuniversal::init"
+typedef void (* lexer___TKwuniversal___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwuniversal___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwuniversal___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwuniversal___init_tk "lexer::TKwuniversal::init_tk"
 typedef val_t (* lexer___TKwspecial___parser_index_t)(val_t  self);
 val_t lexer___TKwspecial___parser_index(val_t  self);
 #define LOCATE_lexer___TKwspecial___parser_index "lexer::TKwspecial::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwspecial___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwspecial___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwspecial___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwspecial___init "lexer::TKwspecial::init"
+typedef void (* lexer___TKwspecial___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwspecial___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwspecial___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwspecial___init_tk "lexer::TKwspecial::init_tk"
 typedef val_t (* lexer___TKwend___parser_index_t)(val_t  self);
 val_t lexer___TKwend___parser_index(val_t  self);
 #define LOCATE_lexer___TKwend___parser_index "lexer::TKwend::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwend___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwend___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwend___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwend___init "lexer::TKwend::init"
+typedef void (* lexer___TKwend___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwend___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwend___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwend___init_tk "lexer::TKwend::init_tk"
 typedef val_t (* lexer___TKwmeth___parser_index_t)(val_t  self);
 val_t lexer___TKwmeth___parser_index(val_t  self);
 #define LOCATE_lexer___TKwmeth___parser_index "lexer::TKwmeth::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwmeth___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwmeth___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwmeth___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwmeth___init "lexer::TKwmeth::init"
+typedef void (* lexer___TKwmeth___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwmeth___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwmeth___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwmeth___init_tk "lexer::TKwmeth::init_tk"
 typedef val_t (* lexer___TKwtype___parser_index_t)(val_t  self);
 val_t lexer___TKwtype___parser_index(val_t  self);
 #define LOCATE_lexer___TKwtype___parser_index "lexer::TKwtype::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwtype___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwtype___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwtype___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwtype___init "lexer::TKwtype::init"
+typedef void (* lexer___TKwtype___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwtype___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwtype___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwtype___init_tk "lexer::TKwtype::init_tk"
 typedef val_t (* lexer___TKwattr___parser_index_t)(val_t  self);
 val_t lexer___TKwattr___parser_index(val_t  self);
 #define LOCATE_lexer___TKwattr___parser_index "lexer::TKwattr::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwattr___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwattr___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwattr___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwattr___init "lexer::TKwattr::init"
+typedef void (* lexer___TKwattr___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwattr___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwattr___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwattr___init_tk "lexer::TKwattr::init_tk"
 typedef val_t (* lexer___TKwinit___parser_index_t)(val_t  self);
 val_t lexer___TKwinit___parser_index(val_t  self);
 #define LOCATE_lexer___TKwinit___parser_index "lexer::TKwinit::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwinit___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwinit___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwinit___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwinit___init "lexer::TKwinit::init"
+typedef void (* lexer___TKwinit___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwinit___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwinit___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwinit___init_tk "lexer::TKwinit::init_tk"
 typedef val_t (* lexer___TKwredef___parser_index_t)(val_t  self);
 val_t lexer___TKwredef___parser_index(val_t  self);
 #define LOCATE_lexer___TKwredef___parser_index "lexer::TKwredef::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwredef___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwredef___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwredef___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwredef___init "lexer::TKwredef::init"
+typedef void (* lexer___TKwredef___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwredef___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwredef___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwredef___init_tk "lexer::TKwredef::init_tk"
 typedef val_t (* lexer___TKwis___parser_index_t)(val_t  self);
 val_t lexer___TKwis___parser_index(val_t  self);
 #define LOCATE_lexer___TKwis___parser_index "lexer::TKwis::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwis___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwis___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwis___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwis___init "lexer::TKwis::init"
+typedef void (* lexer___TKwis___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwis___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwis___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwis___init_tk "lexer::TKwis::init_tk"
 typedef val_t (* lexer___TKwdo___parser_index_t)(val_t  self);
 val_t lexer___TKwdo___parser_index(val_t  self);
 #define LOCATE_lexer___TKwdo___parser_index "lexer::TKwdo::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwdo___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwdo___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwdo___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwdo___init "lexer::TKwdo::init"
+typedef void (* lexer___TKwdo___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwdo___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwdo___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwdo___init_tk "lexer::TKwdo::init_tk"
 typedef val_t (* lexer___TKwreadable___parser_index_t)(val_t  self);
 val_t lexer___TKwreadable___parser_index(val_t  self);
 #define LOCATE_lexer___TKwreadable___parser_index "lexer::TKwreadable::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwreadable___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwreadable___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwreadable___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwreadable___init "lexer::TKwreadable::init"
+typedef void (* lexer___TKwreadable___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwreadable___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwreadable___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwreadable___init_tk "lexer::TKwreadable::init_tk"
 typedef val_t (* lexer___TKwwritable___parser_index_t)(val_t  self);
 val_t lexer___TKwwritable___parser_index(val_t  self);
 #define LOCATE_lexer___TKwwritable___parser_index "lexer::TKwwritable::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwwritable___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwwritable___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwwritable___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwwritable___init "lexer::TKwwritable::init"
+typedef void (* lexer___TKwwritable___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwwritable___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwwritable___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwwritable___init_tk "lexer::TKwwritable::init_tk"
 typedef val_t (* lexer___TKwvar___parser_index_t)(val_t  self);
 val_t lexer___TKwvar___parser_index(val_t  self);
 #define LOCATE_lexer___TKwvar___parser_index "lexer::TKwvar::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwvar___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwvar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwvar___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwvar___init "lexer::TKwvar::init"
+typedef void (* lexer___TKwvar___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwvar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwvar___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwvar___init_tk "lexer::TKwvar::init_tk"
 typedef val_t (* lexer___TKwintern___parser_index_t)(val_t  self);
 val_t lexer___TKwintern___parser_index(val_t  self);
 #define LOCATE_lexer___TKwintern___parser_index "lexer::TKwintern::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwintern___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwintern___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwintern___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwintern___init "lexer::TKwintern::init"
+typedef void (* lexer___TKwintern___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwintern___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwintern___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwintern___init_tk "lexer::TKwintern::init_tk"
 typedef val_t (* lexer___TKwextern___parser_index_t)(val_t  self);
 val_t lexer___TKwextern___parser_index(val_t  self);
 #define LOCATE_lexer___TKwextern___parser_index "lexer::TKwextern::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwextern___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwextern___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwextern___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwextern___init "lexer::TKwextern::init"
+typedef void (* lexer___TKwextern___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwextern___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwextern___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwextern___init_tk "lexer::TKwextern::init_tk"
 typedef val_t (* lexer___TKwprotected___parser_index_t)(val_t  self);
 val_t lexer___TKwprotected___parser_index(val_t  self);
 #define LOCATE_lexer___TKwprotected___parser_index "lexer::TKwprotected::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwprotected___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwprotected___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwprotected___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwprotected___init "lexer::TKwprotected::init"
+typedef void (* lexer___TKwprotected___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwprotected___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwprotected___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwprotected___init_tk "lexer::TKwprotected::init_tk"
 typedef val_t (* lexer___TKwprivate___parser_index_t)(val_t  self);
 val_t lexer___TKwprivate___parser_index(val_t  self);
 #define LOCATE_lexer___TKwprivate___parser_index "lexer::TKwprivate::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwprivate___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwprivate___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwprivate___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwprivate___init "lexer::TKwprivate::init"
+typedef void (* lexer___TKwprivate___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwprivate___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwprivate___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwprivate___init_tk "lexer::TKwprivate::init_tk"
 typedef val_t (* lexer___TKwintrude___parser_index_t)(val_t  self);
 val_t lexer___TKwintrude___parser_index(val_t  self);
 #define LOCATE_lexer___TKwintrude___parser_index "lexer::TKwintrude::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwintrude___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwintrude___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwintrude___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwintrude___init "lexer::TKwintrude::init"
+typedef void (* lexer___TKwintrude___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwintrude___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwintrude___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwintrude___init_tk "lexer::TKwintrude::init_tk"
 typedef val_t (* lexer___TKwif___parser_index_t)(val_t  self);
 val_t lexer___TKwif___parser_index(val_t  self);
 #define LOCATE_lexer___TKwif___parser_index "lexer::TKwif::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwif___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwif___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwif___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwif___init "lexer::TKwif::init"
+typedef void (* lexer___TKwif___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwif___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwif___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwif___init_tk "lexer::TKwif::init_tk"
 typedef val_t (* lexer___TKwthen___parser_index_t)(val_t  self);
 val_t lexer___TKwthen___parser_index(val_t  self);
 #define LOCATE_lexer___TKwthen___parser_index "lexer::TKwthen::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwthen___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwthen___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwthen___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwthen___init "lexer::TKwthen::init"
+typedef void (* lexer___TKwthen___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwthen___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwthen___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwthen___init_tk "lexer::TKwthen::init_tk"
 typedef val_t (* lexer___TKwelse___parser_index_t)(val_t  self);
 val_t lexer___TKwelse___parser_index(val_t  self);
 #define LOCATE_lexer___TKwelse___parser_index "lexer::TKwelse::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwelse___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwelse___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwelse___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwelse___init "lexer::TKwelse::init"
+typedef void (* lexer___TKwelse___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwelse___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwelse___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwelse___init_tk "lexer::TKwelse::init_tk"
 typedef val_t (* lexer___TKwwhile___parser_index_t)(val_t  self);
 val_t lexer___TKwwhile___parser_index(val_t  self);
 #define LOCATE_lexer___TKwwhile___parser_index "lexer::TKwwhile::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwwhile___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwwhile___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwwhile___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwwhile___init "lexer::TKwwhile::init"
+typedef void (* lexer___TKwwhile___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwwhile___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwwhile___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwwhile___init_tk "lexer::TKwwhile::init_tk"
 typedef val_t (* lexer___TKwfor___parser_index_t)(val_t  self);
 val_t lexer___TKwfor___parser_index(val_t  self);
 #define LOCATE_lexer___TKwfor___parser_index "lexer::TKwfor::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwfor___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwfor___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwfor___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwfor___init "lexer::TKwfor::init"
+typedef void (* lexer___TKwfor___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwfor___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwfor___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwfor___init_tk "lexer::TKwfor::init_tk"
 typedef val_t (* lexer___TKwin___parser_index_t)(val_t  self);
 val_t lexer___TKwin___parser_index(val_t  self);
 #define LOCATE_lexer___TKwin___parser_index "lexer::TKwin::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwin___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwin___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwin___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwin___init "lexer::TKwin::init"
+typedef void (* lexer___TKwin___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwin___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwin___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwin___init_tk "lexer::TKwin::init_tk"
 typedef val_t (* lexer___TKwand___parser_index_t)(val_t  self);
 val_t lexer___TKwand___parser_index(val_t  self);
 #define LOCATE_lexer___TKwand___parser_index "lexer::TKwand::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwand___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwand___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwand___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwand___init "lexer::TKwand::init"
+typedef void (* lexer___TKwand___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwand___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwand___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwand___init_tk "lexer::TKwand::init_tk"
 typedef val_t (* lexer___TKwor___parser_index_t)(val_t  self);
 val_t lexer___TKwor___parser_index(val_t  self);
 #define LOCATE_lexer___TKwor___parser_index "lexer::TKwor::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwor___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwor___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwor___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwor___init "lexer::TKwor::init"
+typedef void (* lexer___TKwor___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwor___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwor___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwor___init_tk "lexer::TKwor::init_tk"
 typedef val_t (* lexer___TKwnot___parser_index_t)(val_t  self);
 val_t lexer___TKwnot___parser_index(val_t  self);
 #define LOCATE_lexer___TKwnot___parser_index "lexer::TKwnot::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwnot___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwnot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwnot___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwnot___init "lexer::TKwnot::init"
+typedef void (* lexer___TKwnot___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwnot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwnot___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwnot___init_tk "lexer::TKwnot::init_tk"
 typedef val_t (* lexer___TKwreturn___parser_index_t)(val_t  self);
 val_t lexer___TKwreturn___parser_index(val_t  self);
 #define LOCATE_lexer___TKwreturn___parser_index "lexer::TKwreturn::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwreturn___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwreturn___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwreturn___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwreturn___init "lexer::TKwreturn::init"
+typedef void (* lexer___TKwreturn___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwreturn___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwreturn___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwreturn___init_tk "lexer::TKwreturn::init_tk"
 typedef val_t (* lexer___TKwcontinue___parser_index_t)(val_t  self);
 val_t lexer___TKwcontinue___parser_index(val_t  self);
 #define LOCATE_lexer___TKwcontinue___parser_index "lexer::TKwcontinue::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwcontinue___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwcontinue___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwcontinue___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwcontinue___init "lexer::TKwcontinue::init"
+typedef void (* lexer___TKwcontinue___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwcontinue___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwcontinue___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwcontinue___init_tk "lexer::TKwcontinue::init_tk"
 typedef val_t (* lexer___TKwbreak___parser_index_t)(val_t  self);
 val_t lexer___TKwbreak___parser_index(val_t  self);
 #define LOCATE_lexer___TKwbreak___parser_index "lexer::TKwbreak::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwbreak___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwbreak___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwbreak___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwbreak___init "lexer::TKwbreak::init"
+typedef void (* lexer___TKwbreak___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwbreak___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwbreak___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwbreak___init_tk "lexer::TKwbreak::init_tk"
 typedef val_t (* lexer___TKwabort___parser_index_t)(val_t  self);
 val_t lexer___TKwabort___parser_index(val_t  self);
 #define LOCATE_lexer___TKwabort___parser_index "lexer::TKwabort::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwabort___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwabort___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwabort___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwabort___init "lexer::TKwabort::init"
+typedef void (* lexer___TKwabort___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwabort___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwabort___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwabort___init_tk "lexer::TKwabort::init_tk"
 typedef val_t (* lexer___TKwassert___parser_index_t)(val_t  self);
 val_t lexer___TKwassert___parser_index(val_t  self);
 #define LOCATE_lexer___TKwassert___parser_index "lexer::TKwassert::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwassert___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwassert___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwassert___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwassert___init "lexer::TKwassert::init"
+typedef void (* lexer___TKwassert___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwassert___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwassert___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwassert___init_tk "lexer::TKwassert::init_tk"
 typedef val_t (* lexer___TKwnew___parser_index_t)(val_t  self);
 val_t lexer___TKwnew___parser_index(val_t  self);
 #define LOCATE_lexer___TKwnew___parser_index "lexer::TKwnew::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwnew___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwnew___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwnew___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwnew___init "lexer::TKwnew::init"
+typedef void (* lexer___TKwnew___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwnew___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwnew___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwnew___init_tk "lexer::TKwnew::init_tk"
 typedef val_t (* lexer___TKwisa___parser_index_t)(val_t  self);
 val_t lexer___TKwisa___parser_index(val_t  self);
 #define LOCATE_lexer___TKwisa___parser_index "lexer::TKwisa::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwisa___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwisa___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwisa___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwisa___init "lexer::TKwisa::init"
+typedef void (* lexer___TKwisa___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwisa___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwisa___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwisa___init_tk "lexer::TKwisa::init_tk"
 typedef val_t (* lexer___TKwonce___parser_index_t)(val_t  self);
 val_t lexer___TKwonce___parser_index(val_t  self);
 #define LOCATE_lexer___TKwonce___parser_index "lexer::TKwonce::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwonce___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwonce___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwonce___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwonce___init "lexer::TKwonce::init"
+typedef void (* lexer___TKwonce___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwonce___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwonce___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwonce___init_tk "lexer::TKwonce::init_tk"
 typedef val_t (* lexer___TKwsuper___parser_index_t)(val_t  self);
 val_t lexer___TKwsuper___parser_index(val_t  self);
 #define LOCATE_lexer___TKwsuper___parser_index "lexer::TKwsuper::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwsuper___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwsuper___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwsuper___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwsuper___init "lexer::TKwsuper::init"
+typedef void (* lexer___TKwsuper___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwsuper___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwsuper___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwsuper___init_tk "lexer::TKwsuper::init_tk"
 typedef val_t (* lexer___TKwself___parser_index_t)(val_t  self);
 val_t lexer___TKwself___parser_index(val_t  self);
 #define LOCATE_lexer___TKwself___parser_index "lexer::TKwself::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwself___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwself___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwself___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwself___init "lexer::TKwself::init"
+typedef void (* lexer___TKwself___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwself___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwself___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwself___init_tk "lexer::TKwself::init_tk"
 typedef val_t (* lexer___TKwtrue___parser_index_t)(val_t  self);
 val_t lexer___TKwtrue___parser_index(val_t  self);
 #define LOCATE_lexer___TKwtrue___parser_index "lexer::TKwtrue::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwtrue___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwtrue___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwtrue___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwtrue___init "lexer::TKwtrue::init"
+typedef void (* lexer___TKwtrue___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwtrue___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwtrue___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwtrue___init_tk "lexer::TKwtrue::init_tk"
 typedef val_t (* lexer___TKwfalse___parser_index_t)(val_t  self);
 val_t lexer___TKwfalse___parser_index(val_t  self);
 #define LOCATE_lexer___TKwfalse___parser_index "lexer::TKwfalse::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwfalse___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwfalse___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwfalse___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwfalse___init "lexer::TKwfalse::init"
+typedef void (* lexer___TKwfalse___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwfalse___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwfalse___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwfalse___init_tk "lexer::TKwfalse::init_tk"
 typedef val_t (* lexer___TKwnull___parser_index_t)(val_t  self);
 val_t lexer___TKwnull___parser_index(val_t  self);
 #define LOCATE_lexer___TKwnull___parser_index "lexer::TKwnull::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwnull___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwnull___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwnull___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwnull___init "lexer::TKwnull::init"
+typedef void (* lexer___TKwnull___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwnull___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwnull___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwnull___init_tk "lexer::TKwnull::init_tk"
 typedef val_t (* lexer___TKwas___parser_index_t)(val_t  self);
 val_t lexer___TKwas___parser_index(val_t  self);
 #define LOCATE_lexer___TKwas___parser_index "lexer::TKwas::(lexer::Token::parser_index)"
-typedef void (* lexer___TKwas___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TKwas___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TKwas___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TKwas___init "lexer::TKwas::init"
+typedef void (* lexer___TKwas___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TKwas___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TKwas___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TKwas___init_tk "lexer::TKwas::init_tk"
 typedef val_t (* lexer___TOpar___parser_index_t)(val_t  self);
 val_t lexer___TOpar___parser_index(val_t  self);
 #define LOCATE_lexer___TOpar___parser_index "lexer::TOpar::(lexer::Token::parser_index)"
-typedef void (* lexer___TOpar___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TOpar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TOpar___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TOpar___init "lexer::TOpar::init"
+typedef void (* lexer___TOpar___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TOpar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TOpar___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TOpar___init_tk "lexer::TOpar::init_tk"
 typedef val_t (* lexer___TCpar___parser_index_t)(val_t  self);
 val_t lexer___TCpar___parser_index(val_t  self);
 #define LOCATE_lexer___TCpar___parser_index "lexer::TCpar::(lexer::Token::parser_index)"
-typedef void (* lexer___TCpar___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TCpar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TCpar___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TCpar___init "lexer::TCpar::init"
+typedef void (* lexer___TCpar___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TCpar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TCpar___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TCpar___init_tk "lexer::TCpar::init_tk"
 typedef val_t (* lexer___TObra___parser_index_t)(val_t  self);
 val_t lexer___TObra___parser_index(val_t  self);
 #define LOCATE_lexer___TObra___parser_index "lexer::TObra::(lexer::Token::parser_index)"
-typedef void (* lexer___TObra___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TObra___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TObra___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TObra___init "lexer::TObra::init"
+typedef void (* lexer___TObra___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TObra___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TObra___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TObra___init_tk "lexer::TObra::init_tk"
 typedef val_t (* lexer___TCbra___parser_index_t)(val_t  self);
 val_t lexer___TCbra___parser_index(val_t  self);
 #define LOCATE_lexer___TCbra___parser_index "lexer::TCbra::(lexer::Token::parser_index)"
-typedef void (* lexer___TCbra___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TCbra___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TCbra___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TCbra___init "lexer::TCbra::init"
+typedef void (* lexer___TCbra___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TCbra___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TCbra___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TCbra___init_tk "lexer::TCbra::init_tk"
 typedef val_t (* lexer___TComma___parser_index_t)(val_t  self);
 val_t lexer___TComma___parser_index(val_t  self);
 #define LOCATE_lexer___TComma___parser_index "lexer::TComma::(lexer::Token::parser_index)"
-typedef void (* lexer___TComma___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TComma___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TComma___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TComma___init "lexer::TComma::init"
+typedef void (* lexer___TComma___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TComma___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TComma___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TComma___init_tk "lexer::TComma::init_tk"
 typedef val_t (* lexer___TColumn___parser_index_t)(val_t  self);
 val_t lexer___TColumn___parser_index(val_t  self);
 #define LOCATE_lexer___TColumn___parser_index "lexer::TColumn::(lexer::Token::parser_index)"
-typedef void (* lexer___TColumn___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TColumn___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TColumn___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TColumn___init "lexer::TColumn::init"
+typedef void (* lexer___TColumn___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TColumn___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TColumn___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TColumn___init_tk "lexer::TColumn::init_tk"
 typedef val_t (* lexer___TQuad___parser_index_t)(val_t  self);
 val_t lexer___TQuad___parser_index(val_t  self);
 #define LOCATE_lexer___TQuad___parser_index "lexer::TQuad::(lexer::Token::parser_index)"
-typedef void (* lexer___TQuad___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TQuad___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TQuad___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TQuad___init "lexer::TQuad::init"
+typedef void (* lexer___TQuad___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TQuad___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TQuad___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TQuad___init_tk "lexer::TQuad::init_tk"
 typedef val_t (* lexer___TAssign___parser_index_t)(val_t  self);
 val_t lexer___TAssign___parser_index(val_t  self);
 #define LOCATE_lexer___TAssign___parser_index "lexer::TAssign::(lexer::Token::parser_index)"
-typedef void (* lexer___TAssign___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TAssign___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TAssign___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TAssign___init "lexer::TAssign::init"
+typedef void (* lexer___TAssign___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TAssign___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TAssign___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TAssign___init_tk "lexer::TAssign::init_tk"
 typedef val_t (* lexer___TPluseq___parser_index_t)(val_t  self);
 val_t lexer___TPluseq___parser_index(val_t  self);
 #define LOCATE_lexer___TPluseq___parser_index "lexer::TPluseq::(lexer::Token::parser_index)"
-typedef void (* lexer___TPluseq___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TPluseq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TPluseq___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TPluseq___init "lexer::TPluseq::init"
+typedef void (* lexer___TPluseq___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TPluseq___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TPluseq___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TPluseq___init_tk "lexer::TPluseq::init_tk"
 typedef val_t (* lexer___TMinuseq___parser_index_t)(val_t  self);
 val_t lexer___TMinuseq___parser_index(val_t  self);
 #define LOCATE_lexer___TMinuseq___parser_index "lexer::TMinuseq::(lexer::Token::parser_index)"
-typedef void (* lexer___TMinuseq___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TMinuseq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TMinuseq___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TMinuseq___init "lexer::TMinuseq::init"
+typedef void (* lexer___TMinuseq___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TMinuseq___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TMinuseq___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TMinuseq___init_tk "lexer::TMinuseq::init_tk"
 typedef val_t (* lexer___TDotdotdot___parser_index_t)(val_t  self);
 val_t lexer___TDotdotdot___parser_index(val_t  self);
 #define LOCATE_lexer___TDotdotdot___parser_index "lexer::TDotdotdot::(lexer::Token::parser_index)"
-typedef void (* lexer___TDotdotdot___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TDotdotdot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TDotdotdot___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TDotdotdot___init "lexer::TDotdotdot::init"
+typedef void (* lexer___TDotdotdot___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TDotdotdot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TDotdotdot___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TDotdotdot___init_tk "lexer::TDotdotdot::init_tk"
 typedef val_t (* lexer___TDotdot___parser_index_t)(val_t  self);
 val_t lexer___TDotdot___parser_index(val_t  self);
 #define LOCATE_lexer___TDotdot___parser_index "lexer::TDotdot::(lexer::Token::parser_index)"
-typedef void (* lexer___TDotdot___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TDotdot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TDotdot___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TDotdot___init "lexer::TDotdot::init"
+typedef void (* lexer___TDotdot___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TDotdot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TDotdot___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TDotdot___init_tk "lexer::TDotdot::init_tk"
 typedef val_t (* lexer___TDot___parser_index_t)(val_t  self);
 val_t lexer___TDot___parser_index(val_t  self);
 #define LOCATE_lexer___TDot___parser_index "lexer::TDot::(lexer::Token::parser_index)"
-typedef void (* lexer___TDot___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TDot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TDot___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TDot___init "lexer::TDot::init"
+typedef void (* lexer___TDot___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TDot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TDot___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TDot___init_tk "lexer::TDot::init_tk"
 typedef val_t (* lexer___TPlus___parser_index_t)(val_t  self);
 val_t lexer___TPlus___parser_index(val_t  self);
 #define LOCATE_lexer___TPlus___parser_index "lexer::TPlus::(lexer::Token::parser_index)"
-typedef void (* lexer___TPlus___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TPlus___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TPlus___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TPlus___init "lexer::TPlus::init"
+typedef void (* lexer___TPlus___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TPlus___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TPlus___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TPlus___init_tk "lexer::TPlus::init_tk"
 typedef val_t (* lexer___TMinus___parser_index_t)(val_t  self);
 val_t lexer___TMinus___parser_index(val_t  self);
 #define LOCATE_lexer___TMinus___parser_index "lexer::TMinus::(lexer::Token::parser_index)"
-typedef void (* lexer___TMinus___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TMinus___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TMinus___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TMinus___init "lexer::TMinus::init"
+typedef void (* lexer___TMinus___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TMinus___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TMinus___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TMinus___init_tk "lexer::TMinus::init_tk"
 typedef val_t (* lexer___TStar___parser_index_t)(val_t  self);
 val_t lexer___TStar___parser_index(val_t  self);
 #define LOCATE_lexer___TStar___parser_index "lexer::TStar::(lexer::Token::parser_index)"
-typedef void (* lexer___TStar___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TStar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TStar___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TStar___init "lexer::TStar::init"
+typedef void (* lexer___TStar___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TStar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TStar___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TStar___init_tk "lexer::TStar::init_tk"
 typedef val_t (* lexer___TSlash___parser_index_t)(val_t  self);
 val_t lexer___TSlash___parser_index(val_t  self);
 #define LOCATE_lexer___TSlash___parser_index "lexer::TSlash::(lexer::Token::parser_index)"
-typedef void (* lexer___TSlash___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TSlash___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TSlash___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TSlash___init "lexer::TSlash::init"
+typedef void (* lexer___TSlash___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TSlash___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TSlash___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TSlash___init_tk "lexer::TSlash::init_tk"
 typedef val_t (* lexer___TPercent___parser_index_t)(val_t  self);
 val_t lexer___TPercent___parser_index(val_t  self);
 #define LOCATE_lexer___TPercent___parser_index "lexer::TPercent::(lexer::Token::parser_index)"
-typedef void (* lexer___TPercent___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TPercent___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TPercent___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TPercent___init "lexer::TPercent::init"
+typedef void (* lexer___TPercent___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TPercent___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TPercent___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TPercent___init_tk "lexer::TPercent::init_tk"
 typedef val_t (* lexer___TEq___parser_index_t)(val_t  self);
 val_t lexer___TEq___parser_index(val_t  self);
 #define LOCATE_lexer___TEq___parser_index "lexer::TEq::(lexer::Token::parser_index)"
-typedef void (* lexer___TEq___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TEq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TEq___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TEq___init "lexer::TEq::init"
+typedef void (* lexer___TEq___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TEq___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TEq___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TEq___init_tk "lexer::TEq::init_tk"
 typedef val_t (* lexer___TNe___parser_index_t)(val_t  self);
 val_t lexer___TNe___parser_index(val_t  self);
 #define LOCATE_lexer___TNe___parser_index "lexer::TNe::(lexer::Token::parser_index)"
-typedef void (* lexer___TNe___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TNe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TNe___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TNe___init "lexer::TNe::init"
+typedef void (* lexer___TNe___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TNe___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TNe___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TNe___init_tk "lexer::TNe::init_tk"
 typedef val_t (* lexer___TLt___parser_index_t)(val_t  self);
 val_t lexer___TLt___parser_index(val_t  self);
 #define LOCATE_lexer___TLt___parser_index "lexer::TLt::(lexer::Token::parser_index)"
-typedef void (* lexer___TLt___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TLt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TLt___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TLt___init "lexer::TLt::init"
+typedef void (* lexer___TLt___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TLt___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TLt___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TLt___init_tk "lexer::TLt::init_tk"
 typedef val_t (* lexer___TLe___parser_index_t)(val_t  self);
 val_t lexer___TLe___parser_index(val_t  self);
 #define LOCATE_lexer___TLe___parser_index "lexer::TLe::(lexer::Token::parser_index)"
-typedef void (* lexer___TLe___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TLe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TLe___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TLe___init "lexer::TLe::init"
+typedef void (* lexer___TLe___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TLe___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TLe___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TLe___init_tk "lexer::TLe::init_tk"
 typedef val_t (* lexer___TGt___parser_index_t)(val_t  self);
 val_t lexer___TGt___parser_index(val_t  self);
 #define LOCATE_lexer___TGt___parser_index "lexer::TGt::(lexer::Token::parser_index)"
-typedef void (* lexer___TGt___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TGt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TGt___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TGt___init "lexer::TGt::init"
+typedef void (* lexer___TGt___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TGt___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TGt___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TGt___init_tk "lexer::TGt::init_tk"
 typedef val_t (* lexer___TGe___parser_index_t)(val_t  self);
 val_t lexer___TGe___parser_index(val_t  self);
 #define LOCATE_lexer___TGe___parser_index "lexer::TGe::(lexer::Token::parser_index)"
-typedef void (* lexer___TGe___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TGe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TGe___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TGe___init "lexer::TGe::init"
+typedef void (* lexer___TGe___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TGe___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TGe___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TGe___init_tk "lexer::TGe::init_tk"
 typedef val_t (* lexer___TStarship___parser_index_t)(val_t  self);
 val_t lexer___TStarship___parser_index(val_t  self);
 #define LOCATE_lexer___TStarship___parser_index "lexer::TStarship::(lexer::Token::parser_index)"
-typedef void (* lexer___TStarship___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void lexer___TStarship___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_lexer___TStarship___init(val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_lexer___TStarship___init "lexer::TStarship::init"
+typedef void (* lexer___TStarship___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void lexer___TStarship___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_lexer___TStarship___init_tk(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_lexer___TStarship___init_tk "lexer::TStarship::init_tk"
 typedef val_t (* lexer___TClassid___parser_index_t)(val_t  self);
 val_t lexer___TClassid___parser_index(val_t  self);
 #define LOCATE_lexer___TClassid___parser_index "lexer::TClassid::(lexer::Token::parser_index)"
-typedef void (* lexer___TClassid___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TClassid___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TClassid___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TClassid___init "lexer::TClassid::init"
+typedef void (* lexer___TClassid___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TClassid___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TClassid___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TClassid___init_tk "lexer::TClassid::init_tk"
 typedef val_t (* lexer___TId___parser_index_t)(val_t  self);
 val_t lexer___TId___parser_index(val_t  self);
 #define LOCATE_lexer___TId___parser_index "lexer::TId::(lexer::Token::parser_index)"
-typedef void (* lexer___TId___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TId___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TId___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TId___init "lexer::TId::init"
+typedef void (* lexer___TId___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TId___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TId___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TId___init_tk "lexer::TId::init_tk"
 typedef val_t (* lexer___TAttrid___parser_index_t)(val_t  self);
 val_t lexer___TAttrid___parser_index(val_t  self);
 #define LOCATE_lexer___TAttrid___parser_index "lexer::TAttrid::(lexer::Token::parser_index)"
-typedef void (* lexer___TAttrid___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TAttrid___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TAttrid___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TAttrid___init "lexer::TAttrid::init"
+typedef void (* lexer___TAttrid___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TAttrid___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TAttrid___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TAttrid___init_tk "lexer::TAttrid::init_tk"
 typedef val_t (* lexer___TNumber___parser_index_t)(val_t  self);
 val_t lexer___TNumber___parser_index(val_t  self);
 #define LOCATE_lexer___TNumber___parser_index "lexer::TNumber::(lexer::Token::parser_index)"
-typedef void (* lexer___TNumber___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TNumber___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TNumber___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TNumber___init "lexer::TNumber::init"
+typedef void (* lexer___TNumber___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TNumber___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TNumber___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TNumber___init_tk "lexer::TNumber::init_tk"
 typedef val_t (* lexer___TFloat___parser_index_t)(val_t  self);
 val_t lexer___TFloat___parser_index(val_t  self);
 #define LOCATE_lexer___TFloat___parser_index "lexer::TFloat::(lexer::Token::parser_index)"
-typedef void (* lexer___TFloat___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TFloat___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TFloat___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TFloat___init "lexer::TFloat::init"
+typedef void (* lexer___TFloat___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TFloat___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TFloat___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TFloat___init_tk "lexer::TFloat::init_tk"
 typedef val_t (* lexer___TChar___parser_index_t)(val_t  self);
 val_t lexer___TChar___parser_index(val_t  self);
 #define LOCATE_lexer___TChar___parser_index "lexer::TChar::(lexer::Token::parser_index)"
-typedef void (* lexer___TChar___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TChar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TChar___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TChar___init "lexer::TChar::init"
+typedef void (* lexer___TChar___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TChar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TChar___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TChar___init_tk "lexer::TChar::init_tk"
 typedef val_t (* lexer___TString___parser_index_t)(val_t  self);
 val_t lexer___TString___parser_index(val_t  self);
 #define LOCATE_lexer___TString___parser_index "lexer::TString::(lexer::Token::parser_index)"
-typedef void (* lexer___TString___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TString___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TString___init "lexer::TString::init"
+typedef void (* lexer___TString___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TString___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TString___init_tk "lexer::TString::init_tk"
 typedef val_t (* lexer___TStartString___parser_index_t)(val_t  self);
 val_t lexer___TStartString___parser_index(val_t  self);
 #define LOCATE_lexer___TStartString___parser_index "lexer::TStartString::(lexer::Token::parser_index)"
-typedef void (* lexer___TStartString___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TStartString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TStartString___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TStartString___init "lexer::TStartString::init"
+typedef void (* lexer___TStartString___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TStartString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TStartString___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TStartString___init_tk "lexer::TStartString::init_tk"
 typedef val_t (* lexer___TMidString___parser_index_t)(val_t  self);
 val_t lexer___TMidString___parser_index(val_t  self);
 #define LOCATE_lexer___TMidString___parser_index "lexer::TMidString::(lexer::Token::parser_index)"
-typedef void (* lexer___TMidString___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TMidString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TMidString___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TMidString___init "lexer::TMidString::init"
+typedef void (* lexer___TMidString___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TMidString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TMidString___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TMidString___init_tk "lexer::TMidString::init_tk"
 typedef val_t (* lexer___TEndString___parser_index_t)(val_t  self);
 val_t lexer___TEndString___parser_index(val_t  self);
 #define LOCATE_lexer___TEndString___parser_index "lexer::TEndString::(lexer::Token::parser_index)"
-typedef void (* lexer___TEndString___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void lexer___TEndString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-val_t NEW_lexer___TEndString___init(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_lexer___TEndString___init "lexer::TEndString::init"
+typedef void (* lexer___TEndString___init_tk_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+void lexer___TEndString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
+val_t NEW_lexer___TEndString___init_tk(val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_lexer___TEndString___init_tk "lexer::TEndString::init_tk"
 typedef val_t (* lexer___EOF___parser_index_t)(val_t  self);
 val_t lexer___EOF___parser_index(val_t  self);
 #define LOCATE_lexer___EOF___parser_index "lexer::EOF::(lexer::Token::parser_index)"
index e04af5d..2bb4466 100644 (file)
@@ -211,7 +211,7 @@ void list___List___push(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_list;
   variable0 =  param0;
-  variable2 = NEW_list___ListNode___init( variable0 /*e*/); /*new ListNode[E]*/
+  variable2 = NEW_ListNode_list___ListNode___init( variable0 /*e*/); /*new ListNode[E]*/
   variable1 = variable2;
   variable2 = ATTR_list___List____tail( self) /*List::_tail*/;
   variable2 = TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))));
@@ -235,7 +235,7 @@ void list___List___unshift(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_list;
   variable0 =  param0;
-  variable2 = NEW_list___ListNode___init( variable0 /*e*/); /*new ListNode[E]*/
+  variable2 = NEW_ListNode_list___ListNode___init( variable0 /*e*/); /*new ListNode[E]*/
   variable1 = variable2;
   variable2 = ATTR_list___List____head( self) /*List::_head*/;
   variable2 = TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))));
@@ -386,7 +386,7 @@ val_t list___List___iterator(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_list;
   variable0 = ATTR_list___List____head( self) /*List::_head*/;
-  variable1 = NEW_list___ListIterator___init(variable0); /*new ListIterator[E]*/
+  variable1 = NEW_ListIterator_list___ListIterator___init(variable0); /*new ListIterator[E]*/
   variable0 = variable1;
   goto return_label23;
   return_label23: while(false);
@@ -534,7 +534,7 @@ void list___List___insert_before(val_t  self, val_t  param0, val_t  param1) {
   trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_list___ListNode___init( variable0 /*element*/); /*new ListNode[E]*/
+  variable3 = NEW_ListNode_list___ListNode___init( variable0 /*element*/); /*new ListNode[E]*/
   variable2 = variable3;
   variable4 = ((list___ListNode___prev_t)CALL( variable1 /*node*/,COLOR_list___ListNode___prev))( variable1 /*node*/) /*ListNode::prev*/;
   variable3 = variable4;
index 3b1aacc..ccb0b6b 100644 (file)
@@ -51,7 +51,7 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((inheritance___MMModule___import_global_classes_t)CALL( self,COLOR_inheritance___MMModule___import_global_classes))( self) /*MMModule::import_global_classes*/;
-  variable2 = NEW_mmbuilder___ClassBuilderVisitor___init( variable0 /*tc*/,  self); /*new ClassBuilderVisitor*/
+  variable2 = NEW_ClassBuilderVisitor_mmbuilder___ClassBuilderVisitor___init( variable0 /*tc*/,  self); /*new ClassBuilderVisitor*/
   variable1 = variable2;
   variable2 = ((syntax_base___MMSrcModule___node_t)CALL( self,COLOR_syntax_base___MMSrcModule___node))( self) /*MMSrcModule::node*/;
   ((mmbuilder___ClassBuilderVisitor___visit_t)CALL( variable1 /*mmbv*/,COLOR_parser_prod___Visitor___visit))( variable1 /*mmbv*/, variable2) /*ClassBuilderVisitor::visit*/;
@@ -61,7 +61,7 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
     exit(UNTAG_Int( TAG_Int(1)));
   }
   ((inheritance___MMModule___import_local_classes_t)CALL( self,COLOR_inheritance___MMModule___import_local_classes))( self) /*MMModule::import_local_classes*/;
-  variable3 = NEW_mmbuilder___ClassSpecializationBuilderVisitor___init( variable0 /*tc*/,  self); /*new ClassSpecializationBuilderVisitor*/
+  variable3 = NEW_ClassSpecializationBuilderVisitor_mmbuilder___ClassSpecializationBuilderVisitor___init( variable0 /*tc*/,  self); /*new ClassSpecializationBuilderVisitor*/
   variable2 = variable3;
   variable3 = ((syntax_base___MMSrcModule___node_t)CALL( self,COLOR_syntax_base___MMSrcModule___node))( self) /*MMSrcModule::node*/;
   ((mmbuilder___ClassSpecializationBuilderVisitor___visit_t)CALL( variable2 /*mmbv1*/,COLOR_parser_prod___Visitor___visit))( variable2 /*mmbv1*/, variable3) /*ClassSpecializationBuilderVisitor::visit*/;
@@ -96,13 +96,13 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   variable3 = variable4;
   if (once_bool_variable5_4) variable5 = once_value_variable5_4;
   else {
-    variable5 = NEW_mmbuilder___CSHSorter___init(); /*new CSHSorter*/
+    variable5 = NEW_CSHSorter_mmbuilder___CSHSorter___init(); /*new CSHSorter*/
     once_value_variable5_4 = variable5;
     once_bool_variable5_4 = true;
   }
   variable4 = variable5;
   ((sorter___AbstractSorter___sort_t)CALL( variable4 /*sorter*/,COLOR_sorter___AbstractSorter___sort))( variable4 /*sorter*/,  variable3 /*classes*/) /*AbstractSorter::sort*/;
-  variable6 = NEW_mmbuilder___ClassAncestorBuilder___init( variable0 /*tc*/,  self); /*new ClassAncestorBuilder*/
+  variable6 = NEW_ClassAncestorBuilder_mmbuilder___ClassAncestorBuilder___init( variable0 /*tc*/,  self); /*new ClassAncestorBuilder*/
   variable5 = variable6;
   variable6 = ((array___AbstractArray___iterator_t)CALL( variable3 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -120,7 +120,7 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable6)) { /*if*/
     exit(UNTAG_Int( TAG_Int(1)));
   }
-  variable7 = NEW_mmbuilder___ClassVerifierVisitor___init( variable0 /*tc*/,  self); /*new ClassVerifierVisitor*/
+  variable7 = NEW_ClassVerifierVisitor_mmbuilder___ClassVerifierVisitor___init( variable0 /*tc*/,  self); /*new ClassVerifierVisitor*/
   variable6 = variable7;
   variable7 = ((array___AbstractArray___iterator_t)CALL( variable3 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -137,7 +137,7 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable7)) { /*if*/
     exit(UNTAG_Int( TAG_Int(1)));
   }
-  variable8 = NEW_mmbuilder___PropertyBuilderVisitor___init( variable0 /*tc*/,  self); /*new PropertyBuilderVisitor*/
+  variable8 = NEW_PropertyBuilderVisitor_mmbuilder___PropertyBuilderVisitor___init( variable0 /*tc*/,  self); /*new PropertyBuilderVisitor*/
   variable7 = variable8;
   variable8 = ((array___AbstractArray___iterator_t)CALL( variable3 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -147,7 +147,29 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
     ((inheritance___MMLocalClass___inherit_global_properties_t)CALL( variable9 /*c*/,COLOR_inheritance___MMLocalClass___inherit_global_properties))( variable9 /*c*/) /*MMLocalClass::inherit_global_properties*/;
     ((mmbuilder___MMLocalClass___accept_class_visitor_t)CALL( variable9 /*c*/,COLOR_mmbuilder___MMLocalClass___accept_class_visitor))( variable9 /*c*/,  variable7 /*mmbv2*/) /*MMLocalClass::accept_class_visitor*/;
     variable10 = TAG_Bool(( variable9 /*c*/==NIT_NULL) || VAL_ISA( variable9 /*c*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
+    variable11 = variable10;
+    if (UNTAG_Bool(variable11)) { /* and */
+      variable11 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable9 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable9 /*c*/) /*MMLocalClass::global*/;
+      variable11 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable11,COLOR_abstractmetamodel___MMGlobalClass___intro))(variable11) /*MMGlobalClass::intro*/;
+      variable11 = TAG_Bool((variable11 ==  variable9 /*c*/) || ((variable11 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable11,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable11, variable9 /*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable11,COLOR_kernel___Object_____eqeq))(variable11,  variable9 /*c*/) /*Object::==*/)))));
+    }
+    variable10 = variable11;
+    variable11 = variable10;
+    if (UNTAG_Bool(variable11)) { /* and */
+      variable11 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable9 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable9 /*c*/) /*MMLocalClass::global*/;
+      variable11 = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL(variable11,COLOR_abstractmetamodel___MMGlobalClass___is_universal))(variable11) /*MMGlobalClass::is_universal*/;
+      variable11 =  TAG_Bool(!UNTAG_Bool(variable11));
+    }
+    variable10 = variable11;
+    variable11 = variable10;
+    if (UNTAG_Bool(variable11)) { /* and */
+      variable11 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable9 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable9 /*c*/) /*MMLocalClass::global*/;
+      variable11 = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL(variable11,COLOR_abstractmetamodel___MMGlobalClass___is_interface))(variable11) /*MMGlobalClass::is_interface*/;
+      variable11 =  TAG_Bool(!UNTAG_Bool(variable11));
+    }
+    variable10 = variable11;
     if (UNTAG_Bool(variable10)) { /*if*/
+      ((mmbuilder___MMSrcLocalClass___process_default_constructors_t)CALL( variable9 /*c*/,COLOR_mmbuilder___MMSrcLocalClass___process_default_constructors))( variable9 /*c*/,  variable7 /*mmbv2*/) /*MMSrcLocalClass::process_default_constructors*/;
     }
     continue_7: while(0);
     ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
@@ -158,7 +180,7 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable8)) { /*if*/
     exit(UNTAG_Int( TAG_Int(1)));
   }
-  variable9 = NEW_mmbuilder___PropertyVerifierVisitor___init( variable0 /*tc*/,  self); /*new PropertyVerifierVisitor*/
+  variable9 = NEW_PropertyVerifierVisitor_mmbuilder___PropertyVerifierVisitor___init( variable0 /*tc*/,  self); /*new PropertyVerifierVisitor*/
   variable8 = variable9;
   variable9 = ((array___AbstractArray___iterator_t)CALL( variable3 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -208,7 +230,7 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___MMLocalClass___accept_class_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 122, LOCATE_mmbuilder___MMLocalClass___accept_class_visitor};
+  struct trace_t trace = {NULL, NULL, 125, LOCATE_mmbuilder___MMLocalClass___accept_class_visitor};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -217,7 +239,7 @@ void mmbuilder___MMLocalClass___accept_class_visitor(val_t  self, val_t  param0)
   return;
 }
 void mmbuilder___MMLocalClass___accept_properties_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 127, LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor};
+  struct trace_t trace = {NULL, NULL, 130, LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -226,7 +248,7 @@ void mmbuilder___MMLocalClass___accept_properties_visitor(val_t  self, val_t  pa
   return;
 }
 void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 134, LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor};
+  struct trace_t trace = {NULL, NULL, 137, LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -248,7 +270,7 @@ void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t  self, val_t  para
   return;
 }
 void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 141, LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor};
+  struct trace_t trace = {NULL, NULL, 144, LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -280,8 +302,240 @@ void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t  self, val_t
   tracehead = trace.prev;
   return;
 }
+val_t mmbuilder___MMSrcLocalClass___is_mixin(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 156, LOCATE_mmbuilder___MMSrcLocalClass___is_mixin};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
+  tracehead = trace.prev;
+  return ATTR_mmbuilder___MMSrcLocalClass____is_mixin( self) /*MMSrcLocalClass::_is_mixin*/;
+}
+void mmbuilder___MMSrcLocalClass___process_default_constructors(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 159, LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors};
+  val_t variable0;
+  val_t variable1;
+    val_t variable2;
+    val_t variable3;
+    val_t variable4;
+    val_t variable5;
+    val_t variable6;
+      val_t variable7;
+    static val_t once_value_variable6_22; static int once_bool_variable6_22;
+      val_t variable8;
+      val_t variable9;
+      val_t variable10;
+      val_t variable11;
+      val_t variable12;
+      val_t variable13;
+      val_t variable14;
+      val_t variable15;
+      val_t variable16;
+      val_t variable17;
+      val_t variable18;
+      val_t variable19;
+      val_t variable20;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
+  variable0 =  param0;
+  variable1 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___global_properties))( self) /*MMLocalClass::global_properties*/;
+  variable1 = ((abstract_collection___Collection___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Collection::iterator*/;
+  while (true) { /*for*/
+    variable2 = ((abstract_collection___Iterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable2)) break; /*for*/
+    variable2 = ((abstract_collection___Iterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*Iterator::item*/;
+    variable3 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable2 /*gp*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable2 /*gp*/) /*MMGlobalProperty::is_init*/;
+    if (UNTAG_Bool(variable3)) { /*if*/
+      variable3 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable2 /*gp*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable2 /*gp*/) /*MMGlobalProperty::intro*/;
+      variable3 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable3) /*MMLocalProperty::local_class*/;
+      variable3 = TAG_Bool((variable3 ==  self) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  self) /*Object::==*/)))));
+      if (UNTAG_Bool(variable3)) { /*if*/
+        goto return_label18;
+      }
+    }
+    continue_19: while(0);
+    ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
+  }
+  break_19: while(0);
+  variable2 = NEW_ArraySet_array___ArraySet___init(); /*new ArraySet[MMLocalProperty]*/
+  variable1 = variable2;
+  variable3 = NEW_ArraySet_array___ArraySet___init(); /*new ArraySet[MMGlobalProperty]*/
+  variable2 = variable3;
+  variable3 = ((abstractmetamodel___MMLocalClass___che_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___che))( self) /*MMLocalClass::che*/;
+  variable3 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable3,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable3) /*PartialOrderElement::direct_greaters*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*AbstractArray::iterator*/;
+  while (true) { /*for*/
+    variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
+    if (!UNTAG_Bool(variable4)) break; /*for*/
+    variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
+    variable5 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable4 /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable4 /*sc*/) /*MMLocalClass::global*/;
+    variable5 = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL(variable5,COLOR_abstractmetamodel___MMGlobalClass___is_universal))(variable5) /*MMGlobalClass::is_universal*/;
+    variable6 = variable5;
+    if (!UNTAG_Bool(variable6)) { /* or */
+      variable6 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable4 /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable4 /*sc*/) /*MMLocalClass::global*/;
+      variable6 = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL(variable6,COLOR_abstractmetamodel___MMGlobalClass___is_interface))(variable6) /*MMGlobalClass::is_interface*/;
+    }
+    variable5 = variable6;
+    if (UNTAG_Bool(variable5)) { /*if*/
+      goto continue_20;
+    }
+    variable5 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable4 /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable4 /*sc*/) /*MMLocalClass::global_properties*/;
+    variable5 = ((abstract_collection___Collection___iterator_t)CALL(variable5,COLOR_abstract_collection___Collection___iterator))(variable5) /*Collection::iterator*/;
+    while (true) { /*for*/
+      variable6 = ((abstract_collection___Iterator___is_ok_t)CALL(variable5,COLOR_abstract_collection___Iterator___is_ok))(variable5) /*Iterator::is_ok*/;
+      if (!UNTAG_Bool(variable6)) break; /*for*/
+      variable6 = ((abstract_collection___Iterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*Iterator::item*/;
+      variable7 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable6 /*gp*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable6 /*gp*/) /*MMGlobalProperty::is_init*/;
+      if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable7)))) { /*if*/
+        goto continue_21;
+      }
+      ((array___ArraySet___add_t)CALL( variable2 /*super_constructors*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*super_constructors*/,  variable6 /*gp*/) /*ArraySet::add*/;
+      continue_21: while(0);
+      ((abstract_collection___Iterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*Iterator::next*/;
+    }
+    break_21: while(0);
+    if (once_bool_variable6_22) variable6 = once_value_variable6_22;
+    else {
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
+      variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
+      once_value_variable6_22 = variable6;
+      once_bool_variable6_22 = true;
+    }
+    variable6 = ((abstractmetamodel___MMLocalClass___get_property_by_name_t)CALL( variable4 /*sc*/,COLOR_abstractmetamodel___MMLocalClass___get_property_by_name))( variable4 /*sc*/, variable6) /*MMLocalClass::get_property_by_name*/;
+    variable5 = variable6;
+    variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*gp*/ ==  NIT_NULL /*null*/) || (( variable5 /*gp*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*gp*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*gp*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*gp*/,COLOR_kernel___Object_____eqeq))( variable5 /*gp*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+    if (UNTAG_Bool(variable6)) { /*if*/
+      variable6 = ((inheritance___MMLocalClass_____bra_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass_____bra))( self,  variable5 /*gp*/) /*MMLocalClass::[]*/;
+      ((array___ArraySet___add_t)CALL( variable1 /*super_inits*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*super_inits*/, variable6) /*ArraySet::add*/;
+    }
+    continue_20: while(0);
+    ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
+  }
+  break_20: while(0);
+  variable4 = NEW_Array_array___Array___init(); /*new Array[MMSrcAttribute]*/
+  variable3 = variable4;
+  variable4 = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL( self,COLOR_syntax_base___MMSrcLocalClass___src_local_properties))( self) /*MMSrcLocalClass::src_local_properties*/;
+  variable4 = ((abstract_collection___Map___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Map::iterator*/;
+  while (true) { /*for*/
+    variable5 = ((abstract_collection___Iterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable5)) break; /*for*/
+    variable5 = ((abstract_collection___Iterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*Iterator::item*/;
+    variable6 = TAG_Bool(( variable5 /*a*/==NIT_NULL) || VAL_ISA( variable5 /*a*/, COLOR_MMSrcAttribute, ID_MMSrcAttribute)) /*cast MMSrcAttribute*/;
+    if (UNTAG_Bool(variable6)) { /*if*/
+      variable7 = ((syntax_base___MMSrcAttribute___node_t)CALL( variable5 /*a*/,COLOR_syntax_base___MMLocalProperty___node))( variable5 /*a*/) /*MMSrcAttribute::node*/;
+      variable6 = variable7;
+      variable7 = TAG_Bool(( variable6 /*n*/==NIT_NULL) || VAL_ISA( variable6 /*n*/, COLOR_AAttrPropdef, ID_AAttrPropdef)) /*cast AAttrPropdef*/;
+      if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors, LOCATE_mmbuilder, 190); nit_exit(1);}
+      variable7 = ((parser_nodes___AAttrPropdef___n_expr_t)CALL( variable6 /*n*/,COLOR_parser_nodes___AAttrPropdef___n_expr))( variable6 /*n*/) /*AAttrPropdef::n_expr*/;
+      variable7 = TAG_Bool((variable7 ==  NIT_NULL /*null*/) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7,  NIT_NULL /*null*/) /*Object::==*/)))));
+      if (UNTAG_Bool(variable7)) { /*if*/
+        ((array___AbstractArray___add_t)CALL( variable3 /*unassigned_attributes*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*unassigned_attributes*/,  variable5 /*a*/) /*AbstractArray::add*/;
+      }
+    }
+    continue_23: while(0);
+    ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
+  }
+  break_23: while(0);
+  variable4 = ((array___ArraySet___is_empty_t)CALL( variable2 /*super_constructors*/,COLOR_abstract_collection___Collection___is_empty))( variable2 /*super_constructors*/) /*ArraySet::is_empty*/;
+  if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4)))) { /*if*/
+    variable5 = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
+    variable4 = variable5;
+    variable5 = ((array___ArraySet___iterator_t)CALL( variable2 /*super_constructors*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*super_constructors*/) /*ArraySet::iterator*/;
+    while (true) { /*for*/
+      variable6 = ((abstract_collection___Iterator___is_ok_t)CALL(variable5,COLOR_abstract_collection___Iterator___is_ok))(variable5) /*Iterator::is_ok*/;
+      if (!UNTAG_Bool(variable6)) break; /*for*/
+      variable6 = ((abstract_collection___Iterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*Iterator::item*/;
+      variable8 = ((abstractmetamodel___MMGlobalProperty___local_class_t)CALL( variable6 /*gp*/,COLOR_abstractmetamodel___MMGlobalProperty___local_class))( variable6 /*gp*/) /*MMGlobalProperty::local_class*/;
+      variable7 = variable8;
+      variable8 = ((array___AbstractArray___has_t)CALL( variable4 /*supers*/,COLOR_abstract_collection___Collection___has))( variable4 /*supers*/,  variable7 /*sc*/) /*AbstractArray::has*/;
+      if (UNTAG_Bool(variable8)) { /*if*/
+        goto continue_24;
+      }
+      variable8 = TAG_Bool(( variable7 /*sc*/==NIT_NULL) || VAL_ISA( variable7 /*sc*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
+      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors, LOCATE_mmbuilder, 202); nit_exit(1);}
+      variable8 = ((mmbuilder___MMSrcLocalClass___is_mixin_t)CALL( variable7 /*sc*/,COLOR_mmbuilder___MMSrcLocalClass___is_mixin))( variable7 /*sc*/) /*MMSrcLocalClass::is_mixin*/;
+      if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable8)))) { /*if*/
+        ((array___AbstractArray___add_t)CALL( variable4 /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*supers*/,  variable7 /*sc*/) /*AbstractArray::add*/;
+      }
+      continue_24: while(0);
+      ((abstract_collection___Iterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*Iterator::next*/;
+    }
+    break_24: while(0);
+    variable5 = ((abstractmetamodel___MMLocalClass___che_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___che))( self) /*MMLocalClass::che*/;
+    variable5 = ((partial_order___PartialOrderElement___order_t)CALL(variable5,COLOR_partial_order___PartialOrderElement___order))(variable5) /*PartialOrderElement::order*/;
+    variable5 = ((partial_order___PartialOrder___select_smallests_t)CALL(variable5,COLOR_partial_order___PartialOrder___select_smallests))(variable5,  variable4 /*supers*/) /*PartialOrder::select_smallests*/;
+    variable4 = variable5 /*supers=*/;
+    variable5 =  NIT_NULL /*null*/;
+    variable6 = ((array___AbstractArray___length_t)CALL( variable4 /*supers*/,COLOR_abstract_collection___Collection___length))( variable4 /*supers*/) /*AbstractArray::length*/;
+    variable6 = TAG_Bool(UNTAG_Int(variable6)>UNTAG_Int( TAG_Int(1)));
+    if (UNTAG_Bool(variable6)) { /*if*/
+      variable6 = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( self,COLOR_syntax_base___MMSrcLocalClass___nodes))( self) /*MMSrcLocalClass::nodes*/;
+      variable6 = ((abstract_collection___IndexedCollection___first_t)CALL(variable6,COLOR_abstract_collection___Collection___first))(variable6) /*IndexedCollection::first*/;
+      variable7 = NEW_String_string___String___init(); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString("Error: Explicit constructor required in "), TAG_Int(40)); /*new String*/
+      variable9 = variable8;
+      ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
+      variable10 =  self;
+      variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
+      ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
+      variable11 = NEW_String_string___String___with_native(BOX_NativeString(" since multiple inheritance of constructor is forbiden. Conflicting classes are "), TAG_Int(80)); /*new String*/
+      variable12 = variable11;
+      ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+      variable13 = ((string___Collection___join_t)CALL( variable4 /*supers*/,COLOR_string___Collection___join))( variable4 /*supers*/, variable13) /*Collection::join*/;
+      variable14 = variable13;
+      ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
+      variable15 = NEW_String_string___String___with_native(BOX_NativeString(". Costructors are "), TAG_Int(18)); /*new String*/
+      variable16 = variable15;
+      ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
+      variable17 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+      variable17 = ((string___Collection___join_t)CALL( variable2 /*super_constructors*/,COLOR_string___Collection___join))( variable2 /*super_constructors*/, variable17) /*Collection::join*/;
+      variable18 = variable17;
+      ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable18) /*String::append*/;
+      variable19 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable20 = variable19;
+      ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable20) /*String::append*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable6, variable7) /*AbsSyntaxVisitor::error*/;
+      goto return_label18;
+    } else { /*if*/
+      variable6 = ((array___AbstractArray___length_t)CALL( variable4 /*supers*/,COLOR_abstract_collection___Collection___length))( variable4 /*supers*/) /*AbstractArray::length*/;
+      variable6 = TAG_Bool((variable6)==( TAG_Int(1)));
+      if (UNTAG_Bool(variable6)) { /*if*/
+        variable6 = ((abstract_collection___IndexedCollection___first_t)CALL( variable4 /*supers*/,COLOR_abstract_collection___Collection___first))( variable4 /*supers*/) /*IndexedCollection::first*/;
+        variable5 = variable6 /*superclass=*/;
+      }
+    }
+    variable6 = ((array___ArraySet___iterator_t)CALL( variable2 /*super_constructors*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*super_constructors*/) /*ArraySet::iterator*/;
+    while (true) { /*for*/
+      variable7 = ((abstract_collection___Iterator___is_ok_t)CALL(variable6,COLOR_abstract_collection___Iterator___is_ok))(variable6) /*Iterator::is_ok*/;
+      if (!UNTAG_Bool(variable7)) break; /*for*/
+      variable7 = ((abstract_collection___Iterator___item_t)CALL(variable6,COLOR_abstract_collection___Iterator___item))(variable6) /*Iterator::item*/;
+      variable8 = TAG_Bool(( variable5 /*superclass*/ ==  NIT_NULL /*null*/) || (( variable5 /*superclass*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*superclass*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*superclass*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*superclass*/,COLOR_kernel___Object_____eqeq))( variable5 /*superclass*/,  NIT_NULL /*null*/) /*Object::==*/)))));
+      variable9 = variable8;
+      if (!UNTAG_Bool(variable9)) { /* or */
+        variable9 = ((abstractmetamodel___MMGlobalProperty___local_class_t)CALL( variable7 /*gp*/,COLOR_abstractmetamodel___MMGlobalProperty___local_class))( variable7 /*gp*/) /*MMGlobalProperty::local_class*/;
+        variable9 = TAG_Bool((variable9 ==  variable5 /*superclass*/) || ((variable9 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable9,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable9, variable5 /*superclass*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable9,COLOR_kernel___Object_____eqeq))(variable9,  variable5 /*superclass*/) /*Object::==*/)))));
+      }
+      variable8 = variable9;
+      if (UNTAG_Bool(variable8)) { /*if*/
+        ((inheritance___MMLocalClass___make_visible_an_inherited_global_property_t)CALL( self,COLOR_inheritance___MMLocalClass___make_visible_an_inherited_global_property))( self,  variable7 /*gp*/) /*MMLocalClass::make_visible_an_inherited_global_property*/;
+      }
+      continue_25: while(0);
+      ((abstract_collection___Iterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*Iterator::next*/;
+    }
+    break_25: while(0);
+    ATTR_mmbuilder___MMSrcLocalClass____is_mixin( self) /*MMSrcLocalClass::_is_mixin*/ =  TAG_Bool(true);
+  } else { /*if*/
+    variable5 = ((array___Collection___to_a_t)CALL( variable1 /*super_inits*/,COLOR_array___Collection___to_a))( variable1 /*super_inits*/) /*Collection::to_a*/;
+    variable6 = NEW_MMImplicitInit_syntax_base___MMImplicitInit___init( self,  variable3 /*unassigned_attributes*/, variable5); /*new MMImplicitInit*/
+    variable5 = variable6;
+    variable4 = variable5;
+    ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL( self,COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))( self,  variable0 /*v*/,  variable4 /*p*/) /*MMSrcLocalClass::add_src_local_property*/;
+  }
+  return_label18: while(false);
+  tracehead = trace.prev;
+  return;
+}
 void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 152, LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property};
+  struct trace_t trace = {NULL, NULL, 236, LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -310,25 +564,25 @@ void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  pa
   variable3 = ((abstract_collection___Map___has_key_t)CALL(variable3,COLOR_abstract_collection___Map___has_key))(variable3,  variable2 /*pname*/) /*Map::has_key*/;
   if (UNTAG_Bool(variable3)) { /*if*/
     variable3 = ((syntax_base___MMLocalProperty___node_t)CALL( variable1 /*prop*/,COLOR_syntax_base___MMLocalProperty___node))( variable1 /*prop*/) /*MMLocalProperty::node*/;
-    variable4 = NEW_string___String___init(); /*new String*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("Error: A property "), TAG_Int(18)); /*new String*/
+    variable4 = NEW_String_string___String___init(); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("Error: A property "), TAG_Int(18)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
     variable7 =  variable2 /*pname*/;
     variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(" is already defined in class "), TAG_Int(29)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString(" is already defined in class "), TAG_Int(29)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
     variable10 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
     variable11 = variable10;
     variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable12 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
     variable13 = variable12;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable3, variable4) /*AbsSyntaxVisitor::error*/;
-    goto return_label18;
+    goto return_label26;
   }
   variable3 = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL( self,COLOR_syntax_base___MMSrcLocalClass___src_local_properties))( self) /*MMSrcLocalClass::src_local_properties*/;
   ((abstract_collection___Map_____braeq_t)CALL(variable3,COLOR_abstract_collection___Map_____braeq))(variable3,  variable2 /*pname*/,  variable1 /*prop*/) /*Map::[]=*/;
@@ -341,27 +595,27 @@ void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  pa
     variable4 = TAG_Bool(UNTAG_Int(variable4)>UNTAG_Int( TAG_Int(1)));
     if (UNTAG_Bool(variable4)) { /*if*/
       variable4 = ((syntax_base___MMLocalProperty___node_t)CALL( variable1 /*prop*/,COLOR_syntax_base___MMLocalProperty___node))( variable1 /*prop*/) /*MMLocalProperty::node*/;
-      variable5 = NEW_string___String___init(); /*new String*/
-      variable6 = NEW_string___String___with_native(BOX_NativeString("Name error: "), TAG_Int(12)); /*new String*/
+      variable5 = NEW_String_string___String___init(); /*new String*/
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString("Name error: "), TAG_Int(12)); /*new String*/
       variable7 = variable6;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
       variable8 =  self;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString(" inherits "), TAG_Int(10)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString(" inherits "), TAG_Int(10)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
       variable11 = ((array___AbstractArray___length_t)CALL( variable3 /*globs*/,COLOR_abstract_collection___Collection___length))( variable3 /*globs*/) /*AbstractArray::length*/;
       variable12 = variable11;
       variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString(" global properties named "), TAG_Int(25)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString(" global properties named "), TAG_Int(25)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable14) /*String::append*/;
       variable15 =  variable2 /*pname*/;
       variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
-      variable16 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable17 = variable16;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable17) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable4, variable5) /*AbsSyntaxVisitor::error*/;
@@ -375,39 +629,159 @@ void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  pa
   if (UNTAG_Bool(variable3)) { /*if*/
     ((abstractmetamodel___MMLocalProperty___new_global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___new_global))( variable1 /*prop*/) /*MMLocalProperty::new_global*/;
     variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMLocalProperty::global*/;
-    variable4 = ((syntax_base___MMLocalProperty___node_t)CALL( variable1 /*prop*/,COLOR_syntax_base___MMLocalProperty___node))( variable1 /*prop*/) /*MMLocalProperty::node*/;
-    variable4 = TAG_Bool((variable4==NIT_NULL) || VAL_ISA(variable4, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
+    variable4 = ((syntax_base___MMLocalProperty___is_init_t)CALL( variable1 /*prop*/,COLOR_syntax_base___MMLocalProperty___is_init))( variable1 /*prop*/) /*MMLocalProperty::is_init*/;
     ((abstractmetamodel___MMGlobalProperty___is_init__eq_t)CALL(variable3,COLOR_abstractmetamodel___MMGlobalProperty___is_init__eq))(variable3, variable4) /*MMGlobalProperty::is_init=*/;
   }
-  return_label18: while(false);
+  return_label26: while(false);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___MMLocalProperty___accept_property_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 183, LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor};
+  struct trace_t trace = {NULL, NULL, 266, LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor};
+  val_t variable0;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
+  variable0 =  param0;
+  tracehead = trace.prev;
+  return;
+}
+val_t mmbuilder___MMImplicitInit___super_init(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 272, LOCATE_mmbuilder___MMImplicitInit___super_init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
+  tracehead = trace.prev;
+  return ATTR_mmbuilder___MMImplicitInit____super_init( self) /*MMImplicitInit::_super_init*/;
+}
+void mmbuilder___MMImplicitInit___accept_property_visitor(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 273, LOCATE_mmbuilder___MMImplicitInit___accept_property_visitor};
   val_t variable0;
+  val_t variable1;
+  val_t variable2;
+    val_t variable3;
+    val_t variable4;
+        val_t variable5;
+        val_t variable6;
+        val_t variable7;
+        val_t variable8;
+        val_t variable9;
+        val_t variable10;
+        val_t variable11;
+        val_t variable12;
+        val_t variable13;
+        val_t variable14;
+        val_t variable15;
+        val_t variable16;
+        val_t variable17;
+        val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
+  variable1 =  NIT_NULL /*null*/;
+  variable2 = ((syntax_base___MMImplicitInit___super_inits_t)CALL( self,COLOR_syntax_base___MMImplicitInit___super_inits))( self) /*MMImplicitInit::super_inits*/;
+  variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*AbstractArray::iterator*/;
+  while (true) { /*for*/
+    variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
+    if (!UNTAG_Bool(variable3)) break; /*for*/
+    variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
+    variable4 = ((static_type___MMLocalProperty___signature_t)CALL( variable3 /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable3 /*p*/) /*MMLocalProperty::signature*/;
+    variable4 = ((static_type___MMSignature___arity_t)CALL(variable4,COLOR_static_type___MMSignature___arity))(variable4) /*MMSignature::arity*/;
+    variable4 = TAG_Bool(UNTAG_Int(variable4)>UNTAG_Int( TAG_Int(0)));
+    if (UNTAG_Bool(variable4)) { /*if*/
+      variable4 = TAG_Bool(( variable1 /*base*/ ==  NIT_NULL /*null*/) || (( variable1 /*base*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*base*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*base*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*base*/,COLOR_kernel___Object_____eqeq))( variable1 /*base*/,  NIT_NULL /*null*/) /*Object::==*/)))));
+      if (UNTAG_Bool(variable4)) { /*if*/
+        variable1 =  variable3 /*p*/ /*base=*/;
+      } else { /*if*/
+        variable4 = NEW_String_string___String___init(); /*new String*/
+        variable5 = NEW_String_string___String___with_native(BOX_NativeString("Error: explicit constructor needed in "), TAG_Int(38)); /*new String*/
+        variable6 = variable5;
+        ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
+        variable7 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
+        variable8 = variable7;
+        variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
+        ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
+        variable9 = NEW_String_string___String___with_native(BOX_NativeString(" since both super-constructor "), TAG_Int(30)); /*new String*/
+        variable10 = variable9;
+        ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
+        variable11 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL( variable1 /*base*/,COLOR_abstractmetamodel___MMLocalProperty___full_name))( variable1 /*base*/) /*MMLocalProperty::full_name*/;
+        variable12 = variable11;
+        ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
+        variable13 = NEW_String_string___String___with_native(BOX_NativeString(" and "), TAG_Int(5)); /*new String*/
+        variable14 = variable13;
+        ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
+        variable15 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL( variable3 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___full_name))( variable3 /*p*/) /*MMLocalProperty::full_name*/;
+        variable16 = variable15;
+        ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
+        variable17 = NEW_String_string___String___with_native(BOX_NativeString(" have paramters"), TAG_Int(15)); /*new String*/
+        variable18 = variable17;
+        ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
+        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  NIT_NULL /*null*/, variable4) /*AbsSyntaxVisitor::error*/;
+        goto return_label28;
+      }
+    }
+    continue_29: while(0);
+    ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
+  }
+  break_29: while(0);
+  ATTR_mmbuilder___MMImplicitInit____super_init( self) /*MMImplicitInit::_super_init*/ =  variable1 /*base*/;
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMType]*/
+  variable2 = variable3;
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*base*/ ==  NIT_NULL /*null*/) || (( variable1 /*base*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*base*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*base*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*base*/,COLOR_kernel___Object_____eqeq))( variable1 /*base*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable3)) { /*if*/
+    variable4 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*base*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*base*/) /*MMLocalProperty::signature*/;
+    variable3 = variable4;
+    variable4 = ((static_type___MMSignature___arity_t)CALL( variable3 /*sig*/,COLOR_static_type___MMSignature___arity))( variable3 /*sig*/) /*MMSignature::arity*/;
+    variable5 = NEW_Range_range___Range___without_last( TAG_Int(0), variable4); /*new Range[Int]*/
+    variable4 = variable5;
+    variable4 = ((range___Range___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Range::iterator*/;
+    while (true) { /*for*/
+      variable5 = ((abstract_collection___Iterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*Iterator::is_ok*/;
+      if (!UNTAG_Bool(variable5)) break; /*for*/
+      variable5 = ((abstract_collection___Iterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*Iterator::item*/;
+      variable6 = ((static_type___MMSignature_____bra_t)CALL( variable3 /*sig*/,COLOR_static_type___MMSignature_____bra))( variable3 /*sig*/,  variable5 /*i*/) /*MMSignature::[]*/;
+      ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/, variable6) /*AbstractArray::add*/;
+      continue_30: while(0);
+      ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
+    }
+    break_30: while(0);
+  }
+  variable3 = ((syntax_base___MMImplicitInit___unassigned_attributes_t)CALL( self,COLOR_syntax_base___MMImplicitInit___unassigned_attributes))( self) /*MMImplicitInit::unassigned_attributes*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*AbstractArray::iterator*/;
+  while (true) { /*for*/
+    variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
+    if (!UNTAG_Bool(variable4)) break; /*for*/
+    variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
+    variable5 = ((static_type___MMLocalProperty___signature_t)CALL( variable4 /*a*/,COLOR_static_type___MMLocalProperty___signature))( variable4 /*a*/) /*MMLocalProperty::signature*/;
+    variable5 = ((static_type___MMSignature___return_type_t)CALL(variable5,COLOR_static_type___MMSignature___return_type))(variable5) /*MMSignature::return_type*/;
+    ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/, variable5) /*AbstractArray::add*/;
+    continue_31: while(0);
+    ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
+  }
+  break_31: while(0);
+  variable3 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
+  variable3 = ((genericity___MMLocalClass___get_type_t)CALL(variable3,COLOR_static_type___MMLocalClass___get_type))(variable3) /*MMLocalClass::get_type*/;
+  variable4 = NEW_MMSignature_static_type___MMSignature___init( variable2 /*params*/,  NIT_NULL /*null*/, variable3); /*new MMSignature*/
+  variable3 = variable4;
+  ((static_type___MMLocalProperty___signature__eq_t)CALL( self,COLOR_static_type___MMLocalProperty___signature__eq))( self, variable3) /*MMLocalProperty::signature=*/;
+  return_label28: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___MMSrcAncestor___node(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 190, LOCATE_mmbuilder___MMSrcAncestor___node};
+  struct trace_t trace = {NULL, NULL, 306, LOCATE_mmbuilder___MMSrcAncestor___node};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___MMSrcAncestor____node( self) /*MMSrcAncestor::_node*/;
 }
 val_t mmbuilder___MMSrcAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 192, LOCATE_mmbuilder___MMSrcAncestor___local_class};
+  struct trace_t trace = {NULL, NULL, 308, LOCATE_mmbuilder___MMSrcAncestor___local_class};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___MMSrcAncestor____local_class( self) /*MMSrcAncestor::_local_class*/;
 }
 void mmbuilder___MMSrcAncestor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 194, LOCATE_mmbuilder___MMSrcAncestor___init};
+  struct trace_t trace = {NULL, NULL, 310, LOCATE_mmbuilder___MMSrcAncestor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -422,14 +796,14 @@ void mmbuilder___MMSrcAncestor___init(val_t  self, val_t  param0, val_t  param1,
   return;
 }
 val_t mmbuilder___ClassBuilderVisitor___local_class_arity(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 208, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity};
+  struct trace_t trace = {NULL, NULL, 324, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity( self) /*ClassBuilderVisitor::_local_class_arity*/;
 }
 void mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 208, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq};
+  struct trace_t trace = {NULL, NULL, 324, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity( self) /*ClassBuilderVisitor::_local_class_arity*/ =  param0;
@@ -437,14 +811,14 @@ void mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t  self, val_t
   return;
 }
 val_t mmbuilder___ClassBuilderVisitor___formals(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 211, LOCATE_mmbuilder___ClassBuilderVisitor___formals};
+  struct trace_t trace = {NULL, NULL, 327, LOCATE_mmbuilder___ClassBuilderVisitor___formals};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___ClassBuilderVisitor____formals( self) /*ClassBuilderVisitor::_formals*/;
 }
 void mmbuilder___ClassBuilderVisitor___formals__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 211, LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq};
+  struct trace_t trace = {NULL, NULL, 327, LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___ClassBuilderVisitor____formals( self) /*ClassBuilderVisitor::_formals*/ =  param0;
@@ -452,7 +826,7 @@ void mmbuilder___ClassBuilderVisitor___formals__eq(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___ClassBuilderVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 214, LOCATE_mmbuilder___ClassBuilderVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 330, LOCATE_mmbuilder___ClassBuilderVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -462,7 +836,7 @@ void mmbuilder___ClassBuilderVisitor___visit(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___ClassBuilderVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 215, LOCATE_mmbuilder___ClassBuilderVisitor___init};
+  struct trace_t trace = {NULL, NULL, 331, LOCATE_mmbuilder___ClassBuilderVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -476,7 +850,7 @@ void mmbuilder___ClassBuilderVisitor___init(val_t  self, val_t  param0, val_t  p
   return;
 }
 void mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 222, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 338, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -486,7 +860,7 @@ void mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t  self, val_t  p
   return;
 }
 void mmbuilder___ClassSpecializationBuilderVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 223, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init};
+  struct trace_t trace = {NULL, NULL, 339, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -500,7 +874,7 @@ void mmbuilder___ClassSpecializationBuilderVisitor___init(val_t  self, val_t  pa
   return;
 }
 void mmbuilder___ClassAncestorBuilder___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 230, LOCATE_mmbuilder___ClassAncestorBuilder___visit};
+  struct trace_t trace = {NULL, NULL, 346, LOCATE_mmbuilder___ClassAncestorBuilder___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -510,7 +884,7 @@ void mmbuilder___ClassAncestorBuilder___visit(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___ClassAncestorBuilder___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 231, LOCATE_mmbuilder___ClassAncestorBuilder___init};
+  struct trace_t trace = {NULL, NULL, 347, LOCATE_mmbuilder___ClassAncestorBuilder___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -524,7 +898,7 @@ void mmbuilder___ClassAncestorBuilder___init(val_t  self, val_t  param0, val_t
   return;
 }
 void mmbuilder___ClassVerifierVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 238, LOCATE_mmbuilder___ClassVerifierVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 354, LOCATE_mmbuilder___ClassVerifierVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -534,7 +908,7 @@ void mmbuilder___ClassVerifierVisitor___visit(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___ClassVerifierVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 239, LOCATE_mmbuilder___ClassVerifierVisitor___init};
+  struct trace_t trace = {NULL, NULL, 355, LOCATE_mmbuilder___ClassVerifierVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -548,7 +922,7 @@ void mmbuilder___ClassVerifierVisitor___init(val_t  self, val_t  param0, val_t
   return;
 }
 void mmbuilder___PropertyBuilderVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 249, LOCATE_mmbuilder___PropertyBuilderVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 365, LOCATE_mmbuilder___PropertyBuilderVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -558,7 +932,7 @@ void mmbuilder___PropertyBuilderVisitor___visit(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___PropertyBuilderVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 250, LOCATE_mmbuilder___PropertyBuilderVisitor___init};
+  struct trace_t trace = {NULL, NULL, 366, LOCATE_mmbuilder___PropertyBuilderVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -572,14 +946,14 @@ void mmbuilder___PropertyBuilderVisitor___init(val_t  self, val_t  param0, val_t
   return;
 }
 val_t mmbuilder___PropertyVerifierVisitor___params(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 257, LOCATE_mmbuilder___PropertyVerifierVisitor___params};
+  struct trace_t trace = {NULL, NULL, 373, LOCATE_mmbuilder___PropertyVerifierVisitor___params};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PropertyVerifierVisitor____params( self) /*PropertyVerifierVisitor::_params*/;
 }
 void mmbuilder___PropertyVerifierVisitor___params__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 257, LOCATE_mmbuilder___PropertyVerifierVisitor___params__eq};
+  struct trace_t trace = {NULL, NULL, 373, LOCATE_mmbuilder___PropertyVerifierVisitor___params__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___PropertyVerifierVisitor____params( self) /*PropertyVerifierVisitor::_params*/ =  param0;
@@ -587,14 +961,14 @@ void mmbuilder___PropertyVerifierVisitor___params__eq(val_t  self, val_t  param0
   return;
 }
 val_t mmbuilder___PropertyVerifierVisitor___untyped_params(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 260, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params};
+  struct trace_t trace = {NULL, NULL, 376, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PropertyVerifierVisitor____untyped_params( self) /*PropertyVerifierVisitor::_untyped_params*/;
 }
 void mmbuilder___PropertyVerifierVisitor___untyped_params__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 260, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params__eq};
+  struct trace_t trace = {NULL, NULL, 376, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___PropertyVerifierVisitor____untyped_params( self) /*PropertyVerifierVisitor::_untyped_params*/ =  param0;
@@ -602,14 +976,14 @@ void mmbuilder___PropertyVerifierVisitor___untyped_params__eq(val_t  self, val_t
   return;
 }
 val_t mmbuilder___PropertyVerifierVisitor___vararg_rank(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 263, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank};
+  struct trace_t trace = {NULL, NULL, 379, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PropertyVerifierVisitor____vararg_rank( self) /*PropertyVerifierVisitor::_vararg_rank*/;
 }
 void mmbuilder___PropertyVerifierVisitor___vararg_rank__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 263, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank__eq};
+  struct trace_t trace = {NULL, NULL, 379, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___PropertyVerifierVisitor____vararg_rank( self) /*PropertyVerifierVisitor::_vararg_rank*/ =  param0;
@@ -617,14 +991,14 @@ void mmbuilder___PropertyVerifierVisitor___vararg_rank__eq(val_t  self, val_t  p
   return;
 }
 val_t mmbuilder___PropertyVerifierVisitor___signature(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 266, LOCATE_mmbuilder___PropertyVerifierVisitor___signature};
+  struct trace_t trace = {NULL, NULL, 382, LOCATE_mmbuilder___PropertyVerifierVisitor___signature};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PropertyVerifierVisitor____signature( self) /*PropertyVerifierVisitor::_signature*/;
 }
 void mmbuilder___PropertyVerifierVisitor___signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 266, LOCATE_mmbuilder___PropertyVerifierVisitor___signature__eq};
+  struct trace_t trace = {NULL, NULL, 382, LOCATE_mmbuilder___PropertyVerifierVisitor___signature__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___PropertyVerifierVisitor____signature( self) /*PropertyVerifierVisitor::_signature*/ =  param0;
@@ -632,7 +1006,7 @@ void mmbuilder___PropertyVerifierVisitor___signature__eq(val_t  self, val_t  par
   return;
 }
 void mmbuilder___PropertyVerifierVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 269, LOCATE_mmbuilder___PropertyVerifierVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 385, LOCATE_mmbuilder___PropertyVerifierVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -642,7 +1016,7 @@ void mmbuilder___PropertyVerifierVisitor___visit(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___PropertyVerifierVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 271, LOCATE_mmbuilder___PropertyVerifierVisitor___init};
+  struct trace_t trace = {NULL, NULL, 387, LOCATE_mmbuilder___PropertyVerifierVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -656,7 +1030,7 @@ void mmbuilder___PropertyVerifierVisitor___init(val_t  self, val_t  param0, val_
   return;
 }
 void mmbuilder___PNode___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 277, LOCATE_mmbuilder___PNode___accept_class_builder};
+  struct trace_t trace = {NULL, NULL, 393, LOCATE_mmbuilder___PNode___accept_class_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -666,7 +1040,7 @@ void mmbuilder___PNode___accept_class_builder(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___PNode___accept_class_specialization_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 278, LOCATE_mmbuilder___PNode___accept_class_specialization_builder};
+  struct trace_t trace = {NULL, NULL, 394, LOCATE_mmbuilder___PNode___accept_class_specialization_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -676,7 +1050,7 @@ void mmbuilder___PNode___accept_class_specialization_builder(val_t  self, val_t
   return;
 }
 void mmbuilder___PNode___accept_class_ancestor_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 279, LOCATE_mmbuilder___PNode___accept_class_ancestor_builder};
+  struct trace_t trace = {NULL, NULL, 395, LOCATE_mmbuilder___PNode___accept_class_ancestor_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -686,7 +1060,7 @@ void mmbuilder___PNode___accept_class_ancestor_builder(val_t  self, val_t  param
   return;
 }
 void mmbuilder___PNode___accept_class_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 280, LOCATE_mmbuilder___PNode___accept_class_verifier};
+  struct trace_t trace = {NULL, NULL, 396, LOCATE_mmbuilder___PNode___accept_class_verifier};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -696,7 +1070,7 @@ void mmbuilder___PNode___accept_class_verifier(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___PNode___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 281, LOCATE_mmbuilder___PNode___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 397, LOCATE_mmbuilder___PNode___accept_property_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -706,7 +1080,7 @@ void mmbuilder___PNode___accept_property_builder(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___PNode___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 282, LOCATE_mmbuilder___PNode___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 398, LOCATE_mmbuilder___PNode___accept_property_verifier};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -716,7 +1090,7 @@ void mmbuilder___PNode___accept_property_verifier(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___AModule___import_super_modules(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 286, LOCATE_mmbuilder___AModule___import_super_modules};
+  struct trace_t trace = {NULL, NULL, 402, LOCATE_mmbuilder___AModule___import_super_modules};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -729,14 +1103,14 @@ void mmbuilder___AModule___import_super_modules(val_t  self, val_t  param0, val_
       val_t variable9;
       val_t variable10;
       val_t variable11;
-      static val_t once_value_variable6_41; static int once_bool_variable6_41;
+      static val_t once_value_variable6_53; static int once_bool_variable6_53;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[Symbol]*/
   variable2 = variable3;
-  variable4 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable4 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, Int]*/
   variable3 = variable4;
   variable4 =  NIT_NULL /*null*/;
   variable5 = ((parser_nodes___AModule___n_imports_t)CALL( self,COLOR_parser_nodes___AModule___n_imports))( self) /*AModule::n_imports*/;
@@ -755,22 +1129,22 @@ void mmbuilder___AModule___import_super_modules(val_t  self, val_t  param0, val_
     } else { /*if*/
       variable4 =  variable6 /*i*/ /*no_import=*/;
     }
-    continue_40: while(0);
+    continue_52: while(0);
     ((list___ListIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ListIterator::next*/;
   }
-  break_40: while(0);
+  break_52: while(0);
   variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*no_import*/ ==  NIT_NULL /*null*/) || (( variable4 /*no_import*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*no_import*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*no_import*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*no_import*/,COLOR_kernel___Object_____eqeq))( variable4 /*no_import*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
     variable5 = ((array___AbstractArray___is_empty_t)CALL( variable2 /*module_names_to_import*/,COLOR_abstract_collection___Collection___is_empty))( variable2 /*module_names_to_import*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5)))) { /*if*/
-      variable5 = NEW_string___String___init(); /*new String*/
-      variable6 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable5 = NEW_String_string___String___init(); /*new String*/
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable7 = variable6;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
       variable8 = ((parser_prod___Prod___locate_t)CALL( variable4 /*no_import*/,COLOR_parser_prod___PNode___locate))( variable4 /*no_import*/) /*Prod::locate*/;
       variable9 = variable8;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-      variable10 = NEW_string___String___with_native(BOX_NativeString(": Error: Top modules cannot import other modules."), TAG_Int(49)); /*new String*/
+      variable10 = NEW_String_string___String___with_native(BOX_NativeString(": Error: Top modules cannot import other modules."), TAG_Int(49)); /*new String*/
       variable11 = variable10;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
       ((mmloader___ToolContext___error_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___error))( variable0 /*tc*/, variable5) /*ToolContext::error*/;
@@ -778,12 +1152,12 @@ void mmbuilder___AModule___import_super_modules(val_t  self, val_t  param0, val_
   } else { /*if*/
     variable5 = ((array___AbstractArray___is_empty_t)CALL( variable2 /*module_names_to_import*/,COLOR_abstract_collection___Collection___is_empty))( variable2 /*module_names_to_import*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable5)) { /*if*/
-      if (once_bool_variable6_41) variable6 = once_value_variable6_41;
+      if (once_bool_variable6_53) variable6 = once_value_variable6_53;
       else {
-        variable6 = NEW_string___String___with_native(BOX_NativeString("standard"), TAG_Int(8)); /*new String*/
+        variable6 = NEW_String_string___String___with_native(BOX_NativeString("standard"), TAG_Int(8)); /*new String*/
         variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-        once_value_variable6_41 = variable6;
-        once_bool_variable6_41 = true;
+        once_value_variable6_53 = variable6;
+        once_bool_variable6_53 = true;
       }
       variable5 = variable6;
       ((array___AbstractArray___add_t)CALL( variable2 /*module_names_to_import*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*module_names_to_import*/,  variable5 /*stdname*/) /*AbstractArray::add*/;
@@ -801,15 +1175,15 @@ void mmbuilder___AModule___import_super_modules(val_t  self, val_t  param0, val_
     variable9 = ((mmloader___ToolContext___get_module_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___get_module))( variable0 /*tc*/,  variable6 /*mname*/,  variable1 /*mod*/) /*ToolContext::get_module*/;
     variable8 = variable9;
     ((abstractmetamodel___MMModule___add_super_module_t)CALL( variable1 /*mod*/,COLOR_abstractmetamodel___MMModule___add_super_module))( variable1 /*mod*/,  variable8 /*m*/,  variable7 /*level*/) /*MMModule::add_super_module*/;
-    continue_42: while(0);
+    continue_54: while(0);
     ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
   }
-  break_42: while(0);
+  break_54: while(0);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 323, LOCATE_mmbuilder___APackagedecl___accept_class_builder};
+  struct trace_t trace = {NULL, NULL, 439, LOCATE_mmbuilder___APackagedecl___accept_class_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -833,8 +1207,8 @@ void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0)
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == variable2) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1,variable2)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, variable2) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ((parser_nodes___APackagedecl___n_id_t)CALL( self,COLOR_parser_nodes___APackagedecl___n_id))( self) /*APackagedecl::n_id*/;
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("Error: Package name missmatch between "), TAG_Int(38)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("Error: Package name missmatch between "), TAG_Int(38)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
@@ -842,7 +1216,7 @@ void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0)
     variable6 = variable5;
     variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-    variable7 = NEW_string___String___with_native(BOX_NativeString(" and "), TAG_Int(5)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString(" and "), TAG_Int(5)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
     variable9 = ((parser_nodes___APackagedecl___n_id_t)CALL( self,COLOR_parser_nodes___APackagedecl___n_id))( self) /*APackagedecl::n_id*/;
@@ -850,7 +1224,7 @@ void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0)
     variable10 = variable9;
     variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable12) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable1, variable2) /*AbsSyntaxVisitor::error*/;
@@ -859,155 +1233,155 @@ void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0)
   return;
 }
 val_t mmbuilder___PImport___module_name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 332, LOCATE_mmbuilder___PImport___module_name};
+  struct trace_t trace = {NULL, NULL, 448, LOCATE_mmbuilder___PImport___module_name};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___APackagedecl___accept_class_builder, LOCATE_mmbuilder, 332);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___APackagedecl___accept_class_builder, LOCATE_mmbuilder, 448);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmbuilder___PImport___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 335, LOCATE_mmbuilder___PImport___visibility_level};
+  struct trace_t trace = {NULL, NULL, 451, LOCATE_mmbuilder___PImport___visibility_level};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___APackagedecl___accept_class_builder, LOCATE_mmbuilder, 335);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___APackagedecl___accept_class_builder, LOCATE_mmbuilder, 451);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmbuilder___AImport___module_name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 339, LOCATE_mmbuilder___AImport___module_name};
+  struct trace_t trace = {NULL, NULL, 455, LOCATE_mmbuilder___AImport___module_name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AImport___n_id_t)CALL( self,COLOR_parser_nodes___AImport___n_id))( self) /*AImport::n_id*/;
   variable0 = ((syntax_base___Token___to_symbol_t)CALL(variable0,COLOR_syntax_base___Token___to_symbol))(variable0) /*Token::to_symbol*/;
-  goto return_label44;
-  return_label44: while(false);
+  goto return_label56;
+  return_label56: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AImport___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 343, LOCATE_mmbuilder___AImport___visibility_level};
+  struct trace_t trace = {NULL, NULL, 459, LOCATE_mmbuilder___AImport___visibility_level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AImport___n_visibility_t)CALL( self,COLOR_parser_nodes___AImport___n_visibility))( self) /*AImport::n_visibility*/;
   variable0 = ((mmbuilder___PVisibility___level_t)CALL(variable0,COLOR_mmbuilder___PVisibility___level))(variable0) /*PVisibility::level*/;
-  goto return_label45;
-  return_label45: while(false);
+  goto return_label57;
+  return_label57: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___ANoImport___module_name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 349, LOCATE_mmbuilder___ANoImport___module_name};
+  struct trace_t trace = {NULL, NULL, 465, LOCATE_mmbuilder___ANoImport___module_name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  NIT_NULL /*null*/;
-  goto return_label46;
-  return_label46: while(false);
+  goto return_label58;
+  return_label58: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___PVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 356, LOCATE_mmbuilder___PVisibility___level};
+  struct trace_t trace = {NULL, NULL, 472, LOCATE_mmbuilder___PVisibility___level};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___ANoImport___module_name, LOCATE_mmbuilder, 356);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___ANoImport___module_name, LOCATE_mmbuilder, 472);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmbuilder___APublicVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 360, LOCATE_mmbuilder___APublicVisibility___level};
+  struct trace_t trace = {NULL, NULL, 476, LOCATE_mmbuilder___APublicVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(1);
-  goto return_label47;
-  return_label47: while(false);
+  goto return_label59;
+  return_label59: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AProtectedVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 363, LOCATE_mmbuilder___AProtectedVisibility___level};
+  struct trace_t trace = {NULL, NULL, 479, LOCATE_mmbuilder___AProtectedVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(2);
-  goto return_label48;
-  return_label48: while(false);
+  goto return_label60;
+  return_label60: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___APrivateVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 366, LOCATE_mmbuilder___APrivateVisibility___level};
+  struct trace_t trace = {NULL, NULL, 482, LOCATE_mmbuilder___APrivateVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(3);
-  goto return_label49;
-  return_label49: while(false);
+  goto return_label61;
+  return_label61: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AIntrudeVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 369, LOCATE_mmbuilder___AIntrudeVisibility___level};
+  struct trace_t trace = {NULL, NULL, 485, LOCATE_mmbuilder___AIntrudeVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(0);
-  goto return_label50;
-  return_label50: while(false);
+  goto return_label62;
+  return_label62: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___PClassdef___local_class(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 374, LOCATE_mmbuilder___PClassdef___local_class};
+  struct trace_t trace = {NULL, NULL, 490, LOCATE_mmbuilder___PClassdef___local_class};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
 }
 val_t mmbuilder___PClassdef___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 376, LOCATE_mmbuilder___PClassdef___name};
+  struct trace_t trace = {NULL, NULL, 492, LOCATE_mmbuilder___PClassdef___name};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___AIntrudeVisibility___level, LOCATE_mmbuilder, 376);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___AIntrudeVisibility___level, LOCATE_mmbuilder, 492);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmbuilder___PClassdef___arity(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 379, LOCATE_mmbuilder___PClassdef___arity};
+  struct trace_t trace = {NULL, NULL, 495, LOCATE_mmbuilder___PClassdef___arity};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(0);
-  goto return_label51;
-  return_label51: while(false);
+  goto return_label63;
+  return_label63: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___PClassdef___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 382, LOCATE_mmbuilder___PClassdef___visibility_level};
+  struct trace_t trace = {NULL, NULL, 498, LOCATE_mmbuilder___PClassdef___visibility_level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(1);
-  goto return_label52;
-  return_label52: while(false);
+  goto return_label64;
+  return_label64: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 385, LOCATE_mmbuilder___PClassdef___accept_class_builder};
+  struct trace_t trace = {NULL, NULL, 501, LOCATE_mmbuilder___PClassdef___accept_class_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1039,15 +1413,15 @@ void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0) {
     variable1 = variable4 /*local_class=*/;
     variable4 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AClassdef, ID_AClassdef)) /*cast AClassdef*/;
     if (UNTAG_Bool(variable4)) { /*if*/
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString("Error: A class "), TAG_Int(15)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("Error: A class "), TAG_Int(15)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 = ((mmbuilder___PClassdef___name_t)CALL( self,COLOR_mmbuilder___PClassdef___name))( self) /*PClassdef::name*/;
       variable8 = variable7;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString(" is already defined at line "), TAG_Int(28)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString(" is already defined at line "), TAG_Int(28)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
       variable11 = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( variable1 /*local_class*/,COLOR_syntax_base___MMSrcLocalClass___nodes))( variable1 /*local_class*/) /*MMSrcLocalClass::nodes*/;
@@ -1057,18 +1431,18 @@ void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0) {
       variable12 = variable11;
       variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
-      goto return_label53;
+      goto return_label65;
     }
     variable4 = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( variable1 /*local_class*/,COLOR_syntax_base___MMSrcLocalClass___nodes))( variable1 /*local_class*/) /*MMSrcLocalClass::nodes*/;
     ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  self) /*AbstractArray::add*/;
   } else { /*if*/
     variable4 = ((mmbuilder___PClassdef___name_t)CALL( self,COLOR_mmbuilder___PClassdef___name))( self) /*PClassdef::name*/;
     variable5 = ((mmbuilder___PClassdef___arity_t)CALL( self,COLOR_mmbuilder___PClassdef___arity))( self) /*PClassdef::arity*/;
-    variable6 = NEW_syntax_base___MMSrcLocalClass___init(variable4,  self, variable5); /*new MMSrcLocalClass*/
+    variable6 = NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(variable4,  self, variable5); /*new MMSrcLocalClass*/
     variable4 = variable6;
     variable1 = variable4 /*local_class=*/;
     ((abstractmetamodel___MMModule___add_local_class_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___add_local_class))( variable2 /*mod*/,  variable1 /*local_class*/) /*MMModule::add_local_class*/;
@@ -1088,19 +1462,19 @@ void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0) {
   }
   ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/ =  variable1 /*local_class*/;
   ((mmbuilder___ClassBuilderVisitor___local_class_arity__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity__eq))( variable0 /*v*/,  TAG_Int(0)) /*ClassBuilderVisitor::local_class_arity=*/;
-  variable4 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable4 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, MMTypeFormalParameter]*/
   ((mmbuilder___ClassBuilderVisitor___formals__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___formals__eq))( variable0 /*v*/, variable4) /*ClassBuilderVisitor::formals=*/;
   ((mmbuilder___PClassdef___accept_class_builder_t)CALL( self,COLOR_SUPER_mmbuilder___PClassdef___accept_class_builder))( self,  param0) /*super PClassdef::accept_class_builder*/;
   variable4 = ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
   variable5 = ((mmbuilder___ClassBuilderVisitor___formals_t)CALL( variable0 /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___formals))( variable0 /*v*/) /*ClassBuilderVisitor::formals*/;
   ((syntax_base___MMSrcLocalClass___formal_dict__eq_t)CALL(variable4,COLOR_syntax_base___MMSrcLocalClass___formal_dict__eq))(variable4, variable5) /*MMSrcLocalClass::formal_dict=*/;
   ((mmbuilder___ClassBuilderVisitor___formals__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___formals__eq))( variable0 /*v*/,  NIT_NULL /*null*/) /*ClassBuilderVisitor::formals=*/;
-  return_label53: while(false);
+  return_label65: while(false);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PClassdef___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 424, LOCATE_mmbuilder___PClassdef___accept_abs_syntax_visitor};
+  struct trace_t trace = {NULL, NULL, 540, LOCATE_mmbuilder___PClassdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1114,97 +1488,97 @@ void mmbuilder___PClassdef___accept_abs_syntax_visitor(val_t  self, val_t  param
   return;
 }
 val_t mmbuilder___PClasskind___is_interface(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 433, LOCATE_mmbuilder___PClasskind___is_interface};
+  struct trace_t trace = {NULL, NULL, 549, LOCATE_mmbuilder___PClasskind___is_interface};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(false);
-  goto return_label55;
-  return_label55: while(false);
+  goto return_label67;
+  return_label67: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___PClasskind___is_universal(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 434, LOCATE_mmbuilder___PClasskind___is_universal};
+  struct trace_t trace = {NULL, NULL, 550, LOCATE_mmbuilder___PClasskind___is_universal};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(false);
-  goto return_label56;
-  return_label56: while(false);
+  goto return_label68;
+  return_label68: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___PClasskind___is_abstract(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 435, LOCATE_mmbuilder___PClasskind___is_abstract};
+  struct trace_t trace = {NULL, NULL, 551, LOCATE_mmbuilder___PClasskind___is_abstract};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(false);
-  goto return_label57;
-  return_label57: while(false);
+  goto return_label69;
+  return_label69: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AInterfaceClasskind___is_interface(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 439, LOCATE_mmbuilder___AInterfaceClasskind___is_interface};
+  struct trace_t trace = {NULL, NULL, 555, LOCATE_mmbuilder___AInterfaceClasskind___is_interface};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(true);
-  goto return_label58;
-  return_label58: while(false);
+  goto return_label70;
+  return_label70: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AUniversalClasskind___is_universal(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 442, LOCATE_mmbuilder___AUniversalClasskind___is_universal};
+  struct trace_t trace = {NULL, NULL, 558, LOCATE_mmbuilder___AUniversalClasskind___is_universal};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(true);
-  goto return_label59;
-  return_label59: while(false);
+  goto return_label71;
+  return_label71: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AAbstractClasskind___is_abstract(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 445, LOCATE_mmbuilder___AAbstractClasskind___is_abstract};
+  struct trace_t trace = {NULL, NULL, 561, LOCATE_mmbuilder___AAbstractClasskind___is_abstract};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(true);
-  goto return_label60;
-  return_label60: while(false);
+  goto return_label72;
+  return_label72: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AClassdef___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 449, LOCATE_mmbuilder___AClassdef___name};
+  struct trace_t trace = {NULL, NULL, 565, LOCATE_mmbuilder___AClassdef___name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AClassdef___n_id_t)CALL( self,COLOR_parser_nodes___AClassdef___n_id))( self) /*AClassdef::n_id*/;
   variable0 = ((syntax_base___Token___to_symbol_t)CALL(variable0,COLOR_syntax_base___Token___to_symbol))(variable0) /*Token::to_symbol*/;
-  goto return_label61;
-  return_label61: while(false);
+  goto return_label73;
+  return_label73: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AClassdef___arity(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 453, LOCATE_mmbuilder___AClassdef___arity};
+  struct trace_t trace = {NULL, NULL, 569, LOCATE_mmbuilder___AClassdef___arity};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AClassdef___n_formaldefs_t)CALL( self,COLOR_parser_nodes___AClassdef___n_formaldefs))( self) /*AClassdef::n_formaldefs*/;
   variable0 = ((list___List___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*List::length*/;
-  goto return_label62;
-  return_label62: while(false);
+  goto return_label74;
+  return_label74: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 457, LOCATE_mmbuilder___AClassdef___accept_class_verifier};
+  struct trace_t trace = {NULL, NULL, 573, LOCATE_mmbuilder___AClassdef___accept_class_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1246,15 +1620,15 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
     variable2 = ((parser_nodes___AClassdef___n_kwredef_t)CALL( self,COLOR_parser_nodes___AClassdef___n_kwredef))( self) /*AClassdef::n_kwredef*/;
     variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable2)) { /*if*/
-      variable2 = NEW_string___String___init(); /*new String*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString("Redef error: No class "), TAG_Int(22)); /*new String*/
+      variable2 = NEW_String_string___String___init(); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: No class "), TAG_Int(22)); /*new String*/
       variable4 = variable3;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
       variable5 = ((mmbuilder___AClassdef___name_t)CALL( self,COLOR_mmbuilder___PClassdef___name))( self) /*AClassdef::name*/;
       variable6 = variable5;
       variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-      variable7 = NEW_string___String___with_native(BOX_NativeString(" is imported. Remove the redef keyword to define a new class."), TAG_Int(61)); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString(" is imported. Remove the redef keyword to define a new class."), TAG_Int(61)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
@@ -1273,44 +1647,44 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
       if (UNTAG_Bool(variable5)) { /*if*/
         variable5 = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL( variable4 /*cg*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable4 /*cg*/) /*MMGlobalClass::is_universal*/;
         if (UNTAG_Bool(variable5)) { /*if*/
-          variable5 = NEW_string___String___init(); /*new String*/
-          variable6 = NEW_string___String___with_native(BOX_NativeString("Special error: Interface "), TAG_Int(25)); /*new String*/
+          variable5 = NEW_String_string___String___init(); /*new String*/
+          variable6 = NEW_String_string___String___with_native(BOX_NativeString("Special error: Interface "), TAG_Int(25)); /*new String*/
           variable7 = variable6;
           ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
           variable8 = ((mmbuilder___AClassdef___name_t)CALL( self,COLOR_mmbuilder___PClassdef___name))( self) /*AClassdef::name*/;
           variable9 = variable8;
           variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
           ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-          variable10 = NEW_string___String___with_native(BOX_NativeString(" try to specialise universal class "), TAG_Int(35)); /*new String*/
+          variable10 = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise universal class "), TAG_Int(35)); /*new String*/
           variable11 = variable10;
           ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
           variable12 = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable3 /*c*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable3 /*c*/) /*MMLocalClass::name*/;
           variable13 = variable12;
           variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
           ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-          variable14 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+          variable14 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
           variable15 = variable14;
           ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
           ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
         } else { /*if*/
           variable5 = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL( variable4 /*cg*/,COLOR_abstractmetamodel___MMGlobalClass___is_interface))( variable4 /*cg*/) /*MMGlobalClass::is_interface*/;
           if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5)))) { /*if*/
-            variable5 = NEW_string___String___init(); /*new String*/
-            variable6 = NEW_string___String___with_native(BOX_NativeString("Special error: Interface "), TAG_Int(25)); /*new String*/
+            variable5 = NEW_String_string___String___init(); /*new String*/
+            variable6 = NEW_String_string___String___with_native(BOX_NativeString("Special error: Interface "), TAG_Int(25)); /*new String*/
             variable7 = variable6;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
             variable8 = ((mmbuilder___AClassdef___name_t)CALL( self,COLOR_mmbuilder___PClassdef___name))( self) /*AClassdef::name*/;
             variable9 = variable8;
             variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-            variable10 = NEW_string___String___with_native(BOX_NativeString(" try to specialise class "), TAG_Int(25)); /*new String*/
+            variable10 = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise class "), TAG_Int(25)); /*new String*/
             variable11 = variable10;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
             variable12 = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable3 /*c*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable3 /*c*/) /*MMLocalClass::name*/;
             variable13 = variable12;
             variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-            variable14 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+            variable14 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
             variable15 = variable14;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
             ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
@@ -1326,22 +1700,22 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
             variable5 =  TAG_Bool(!UNTAG_Bool(variable5));
           }
           if (UNTAG_Bool(variable5)) { /*if*/
-            variable5 = NEW_string___String___init(); /*new String*/
-            variable6 = NEW_string___String___with_native(BOX_NativeString("Special error: Universal class "), TAG_Int(31)); /*new String*/
+            variable5 = NEW_String_string___String___init(); /*new String*/
+            variable6 = NEW_String_string___String___with_native(BOX_NativeString("Special error: Universal class "), TAG_Int(31)); /*new String*/
             variable7 = variable6;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
             variable8 = ((mmbuilder___AClassdef___name_t)CALL( self,COLOR_mmbuilder___PClassdef___name))( self) /*AClassdef::name*/;
             variable9 = variable8;
             variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-            variable10 = NEW_string___String___with_native(BOX_NativeString(" try to specialise class "), TAG_Int(25)); /*new String*/
+            variable10 = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise class "), TAG_Int(25)); /*new String*/
             variable11 = variable10;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
             variable12 = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable3 /*c*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable3 /*c*/) /*MMLocalClass::name*/;
             variable13 = variable12;
             variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-            variable14 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+            variable14 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
             variable15 = variable14;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
             ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
@@ -1349,52 +1723,52 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
         } else { /*if*/
           variable5 = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL( variable4 /*cg*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable4 /*cg*/) /*MMGlobalClass::is_universal*/;
           if (UNTAG_Bool(variable5)) { /*if*/
-            variable5 = NEW_string___String___init(); /*new String*/
-            variable6 = NEW_string___String___with_native(BOX_NativeString("Special error: Class "), TAG_Int(21)); /*new String*/
+            variable5 = NEW_String_string___String___init(); /*new String*/
+            variable6 = NEW_String_string___String___with_native(BOX_NativeString("Special error: Class "), TAG_Int(21)); /*new String*/
             variable7 = variable6;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
             variable8 = ((mmbuilder___AClassdef___name_t)CALL( self,COLOR_mmbuilder___PClassdef___name))( self) /*AClassdef::name*/;
             variable9 = variable8;
             variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-            variable10 = NEW_string___String___with_native(BOX_NativeString(" try to specialise universal class "), TAG_Int(35)); /*new String*/
+            variable10 = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise universal class "), TAG_Int(35)); /*new String*/
             variable11 = variable10;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
             variable12 = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable3 /*c*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable3 /*c*/) /*MMLocalClass::name*/;
             variable13 = variable12;
             variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-            variable14 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+            variable14 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
             variable15 = variable14;
             ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
             ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
           }
         }
       }
-      continue_64: while(0);
+      continue_76: while(0);
       ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
     }
-    break_64: while(0);
-    goto return_label63;
+    break_76: while(0);
+    goto return_label75;
   }
   variable2 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
   ((syntax_base___MMGlobalClass___check_visibility_t)CALL( variable1 /*glob*/,COLOR_syntax_base___MMGlobalClass___check_visibility))( variable1 /*glob*/,  variable0 /*v*/,  self, variable2) /*MMGlobalClass::check_visibility*/;
   variable2 = ((parser_nodes___AClassdef___n_kwredef_t)CALL( self,COLOR_parser_nodes___AClassdef___n_kwredef))( self) /*AClassdef::n_kwredef*/;
   variable2 = TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 = ((mmbuilder___AClassdef___name_t)CALL( self,COLOR_mmbuilder___PClassdef___name))( self) /*AClassdef::name*/;
     variable6 = variable5;
     variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-    variable7 = NEW_string___String___with_native(BOX_NativeString(" is an imported class. Add the redef keyword to refine it."), TAG_Int(58)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString(" is an imported class. Add the redef keyword to refine it."), TAG_Int(58)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
-    goto return_label63;
+    goto return_label75;
   }
   variable2 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( variable1 /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___intro))( variable1 /*glob*/) /*MMGlobalClass::intro*/;
   variable2 = ((abstractmetamodel___MMLocalClass___arity_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___arity))(variable2) /*MMLocalClass::arity*/;
@@ -1402,8 +1776,8 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
   variable3 = ((abstractmetamodel___MMLocalClass___arity_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalClass___arity))(variable3) /*MMLocalClass::arity*/;
   variable2 = TAG_Bool((variable2)!=(variable3));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("Redef error: Formal parameter arity missmatch; got "), TAG_Int(51)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Formal parameter arity missmatch; got "), TAG_Int(51)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 = ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
@@ -1411,7 +1785,7 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
     variable6 = variable5;
     variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-    variable7 = NEW_string___String___with_native(BOX_NativeString(", expected "), TAG_Int(11)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString(", expected "), TAG_Int(11)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
     variable9 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( variable1 /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___intro))( variable1 /*glob*/) /*MMGlobalClass::intro*/;
@@ -1419,7 +1793,7 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
     variable10 = variable9;
     variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable12) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
@@ -1455,80 +1829,80 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
   }
   variable2 = variable3;
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("Redef error: cannot change kind of class "), TAG_Int(41)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: cannot change kind of class "), TAG_Int(41)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 = ((mmbuilder___AClassdef___name_t)CALL( self,COLOR_mmbuilder___PClassdef___name))( self) /*AClassdef::name*/;
     variable6 = variable5;
     variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-    variable7 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
   }
-  return_label63: while(false);
+  return_label75: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___AClassdef___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 514, LOCATE_mmbuilder___AClassdef___visibility_level};
+  struct trace_t trace = {NULL, NULL, 630, LOCATE_mmbuilder___AClassdef___visibility_level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AClassdef___n_visibility_t)CALL( self,COLOR_parser_nodes___AClassdef___n_visibility))( self) /*AClassdef::n_visibility*/;
   variable0 = ((mmbuilder___PVisibility___level_t)CALL(variable0,COLOR_mmbuilder___PVisibility___level))(variable0) /*PVisibility::level*/;
-  goto return_label65;
-  return_label65: while(false);
+  goto return_label77;
+  return_label77: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AMainClassdef___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 521, LOCATE_mmbuilder___AMainClassdef___name};
+  struct trace_t trace = {NULL, NULL, 637, LOCATE_mmbuilder___AMainClassdef___name};
   val_t variable0;
-  static val_t once_value_variable0_67; static int once_bool_variable0_67;
+  static val_t once_value_variable0_79; static int once_bool_variable0_79;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
-  if (once_bool_variable0_67) variable0 = once_value_variable0_67;
+  if (once_bool_variable0_79) variable0 = once_value_variable0_79;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_67 = variable0;
-    once_bool_variable0_67 = true;
+    once_value_variable0_79 = variable0;
+    once_bool_variable0_79 = true;
   }
-  goto return_label66;
-  return_label66: while(false);
+  goto return_label78;
+  return_label78: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___ATopClassdef___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 528, LOCATE_mmbuilder___ATopClassdef___name};
+  struct trace_t trace = {NULL, NULL, 644, LOCATE_mmbuilder___ATopClassdef___name};
   val_t variable0;
-  static val_t once_value_variable0_69; static int once_bool_variable0_69;
+  static val_t once_value_variable0_81; static int once_bool_variable0_81;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
-  if (once_bool_variable0_69) variable0 = once_value_variable0_69;
+  if (once_bool_variable0_81) variable0 = once_value_variable0_81;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_69 = variable0;
-    once_bool_variable0_69 = true;
+    once_value_variable0_81 = variable0;
+    once_bool_variable0_81 = true;
   }
-  goto return_label68;
-  return_label68: while(false);
+  goto return_label80;
+  return_label80: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___MMSrcTypeFormalParameter___node(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 536, LOCATE_mmbuilder___MMSrcTypeFormalParameter___node};
+  struct trace_t trace = {NULL, NULL, 652, LOCATE_mmbuilder___MMSrcTypeFormalParameter___node};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___MMSrcTypeFormalParameter____node( self) /*MMSrcTypeFormalParameter::_node*/;
 }
 void mmbuilder___MMSrcTypeFormalParameter___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 539, LOCATE_mmbuilder___MMSrcTypeFormalParameter___init};
+  struct trace_t trace = {NULL, NULL, 655, LOCATE_mmbuilder___MMSrcTypeFormalParameter___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1547,7 +1921,7 @@ void mmbuilder___MMSrcTypeFormalParameter___init(val_t  self, val_t  param0, val
   return;
 }
 void mmbuilder___AFormaldef___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 550, LOCATE_mmbuilder___AFormaldef___accept_class_builder};
+  struct trace_t trace = {NULL, NULL, 666, LOCATE_mmbuilder___AFormaldef___accept_class_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1562,7 +1936,7 @@ void mmbuilder___AFormaldef___accept_class_builder(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable3 = ((mmbuilder___ClassBuilderVisitor___local_class_arity_t)CALL( variable0 /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity))( variable0 /*v*/) /*ClassBuilderVisitor::local_class_arity*/;
   variable4 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
-  variable5 = NEW_mmbuilder___MMSrcTypeFormalParameter___init( variable1 /*name*/, variable3, variable4,  self); /*new MMSrcTypeFormalParameter*/
+  variable5 = NEW_MMSrcTypeFormalParameter_mmbuilder___MMSrcTypeFormalParameter___init( variable1 /*name*/, variable3, variable4,  self); /*new MMSrcTypeFormalParameter*/
   variable3 = variable5;
   variable2 = variable3;
   ATTR_mmbuilder___AFormaldef____formal( self) /*AFormaldef::_formal*/ =  variable2 /*formal_type*/;
@@ -1578,7 +1952,7 @@ void mmbuilder___AFormaldef___accept_class_builder(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___AFormaldef___accept_class_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 561, LOCATE_mmbuilder___AFormaldef___accept_class_verifier};
+  struct trace_t trace = {NULL, NULL, 677, LOCATE_mmbuilder___AFormaldef___accept_class_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1642,14 +2016,14 @@ void mmbuilder___AFormaldef___accept_class_verifier(val_t  self, val_t  param0)
       variable4 = ((type_formal___MMTypeFormal___bound_t)CALL(variable4,COLOR_type_formal___MMTypeFormal___bound))(variable4) /*MMTypeFormal::bound*/;
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  variable3 /*ob*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable3 /*ob*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable3 /*ob*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
-        variable4 = NEW_string___String___init(); /*new String*/
-        variable5 = NEW_string___String___with_native(BOX_NativeString("Redef error: Cannot change formal parameter type of class "), TAG_Int(58)); /*new String*/
+        variable4 = NEW_String_string___String___init(); /*new String*/
+        variable5 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Cannot change formal parameter type of class "), TAG_Int(58)); /*new String*/
         variable6 = variable5;
         ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
         variable7 =  variable1 /*c*/;
         variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
         ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-        variable8 = NEW_string___String___with_native(BOX_NativeString("; got "), TAG_Int(6)); /*new String*/
+        variable8 = NEW_String_string___String___with_native(BOX_NativeString("; got "), TAG_Int(6)); /*new String*/
         variable9 = variable8;
         ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
         variable10 = ATTR_mmbuilder___AFormaldef____formal( self) /*AFormaldef::_formal*/;
@@ -1657,13 +2031,13 @@ void mmbuilder___AFormaldef___accept_class_verifier(val_t  self, val_t  param0)
         variable11 = variable10;
         variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
         ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-        variable12 = NEW_string___String___with_native(BOX_NativeString(", expected "), TAG_Int(11)); /*new String*/
+        variable12 = NEW_String_string___String___with_native(BOX_NativeString(", expected "), TAG_Int(11)); /*new String*/
         variable13 = variable12;
         ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
         variable14 =  variable3 /*ob*/;
         variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
         ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
-        variable15 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+        variable15 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
         variable16 = variable15;
         ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
@@ -1674,14 +2048,14 @@ void mmbuilder___AFormaldef___accept_class_verifier(val_t  self, val_t  param0)
   return;
 }
 val_t mmbuilder___ASuperclass___ancestor(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 587, LOCATE_mmbuilder___ASuperclass___ancestor};
+  struct trace_t trace = {NULL, NULL, 703, LOCATE_mmbuilder___ASuperclass___ancestor};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___ASuperclass____ancestor( self) /*ASuperclass::_ancestor*/;
 }
 void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 589, LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder};
+  struct trace_t trace = {NULL, NULL, 705, LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1693,7 +2067,7 @@ void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t  self,
   variable2 = ((parser_nodes___ASuperclass___n_type_t)CALL( self,COLOR_parser_nodes___ASuperclass___n_type))( self) /*ASuperclass::n_type*/;
   variable2 = ((syntax_base___PType___get_local_class_t)CALL(variable2,COLOR_syntax_base___PType___get_local_class))(variable2,  variable0 /*v*/) /*PType::get_local_class*/;
   variable1 = variable2;
-  variable3 = NEW_mmbuilder___MMSrcAncestor___init( self,  variable1 /*c*/); /*new MMSrcAncestor*/
+  variable3 = NEW_MMSrcAncestor_mmbuilder___MMSrcAncestor___init( self,  variable1 /*c*/); /*new MMSrcAncestor*/
   variable2 = variable3;
   ATTR_mmbuilder___ASuperclass____ancestor( self) /*ASuperclass::_ancestor*/ =  variable2 /*ancestor*/;
   variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
@@ -1702,7 +2076,7 @@ void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t  self,
   return;
 }
 void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 598, LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder};
+  struct trace_t trace = {NULL, NULL, 714, LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1722,7 +2096,7 @@ void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t  self, val_t
   return;
 }
 void mmbuilder___ASuperclass___accept_class_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 605, LOCATE_mmbuilder___ASuperclass___accept_class_verifier};
+  struct trace_t trace = {NULL, NULL, 721, LOCATE_mmbuilder___ASuperclass___accept_class_verifier};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1735,7 +2109,7 @@ void mmbuilder___ASuperclass___accept_class_verifier(val_t  self, val_t  param0)
   return;
 }
 void mmbuilder___PPropdef___process_and_check(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, NULL, 613, LOCATE_mmbuilder___PPropdef___process_and_check};
+  struct trace_t trace = {NULL, NULL, 729, LOCATE_mmbuilder___PPropdef___process_and_check};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1759,7 +2133,7 @@ void mmbuilder___PPropdef___process_and_check(val_t  self, val_t  param0, val_t
   return;
 }
 void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, NULL, 628, LOCATE_mmbuilder___PPropdef___do_and_check_intro};
+  struct trace_t trace = {NULL, NULL, 744, LOCATE_mmbuilder___PPropdef___do_and_check_intro};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1795,27 +2169,22 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
     variable3 =  TAG_Int(3) /*visibility_level=*/;
   }
   ((abstractmetamodel___MMGlobalProperty___visibility_level__eq_t)CALL( variable4 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___visibility_level__eq))( variable4 /*glob*/,  variable3 /*visibility_level*/) /*MMGlobalProperty::visibility_level=*/;
-  variable6 =  variable2 /*has_redef*/;
-  if (UNTAG_Bool(variable6)) { /* and */
-    variable6 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable4 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable4 /*glob*/) /*MMGlobalProperty::is_init*/;
-    variable6 =  TAG_Bool(!UNTAG_Bool(variable6));
-  }
-  if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___init(); /*new String*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString("Error: No property "), TAG_Int(19)); /*new String*/
+  if (UNTAG_Bool( variable2 /*has_redef*/)) { /*if*/
+    variable6 = NEW_String_string___String___init(); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("Error: No property "), TAG_Int(19)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
     variable9 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
     variable10 = variable9;
     variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
     variable13 =  variable1 /*prop*/;
     variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString(" is inherited. Remove the redef keyword to define a new property."), TAG_Int(65)); /*new String*/
+    variable14 = NEW_String_string___String___with_native(BOX_NativeString(" is inherited. Remove the redef keyword to define a new property."), TAG_Int(65)); /*new String*/
     variable15 = variable14;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
@@ -1824,42 +2193,42 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
   if (UNTAG_Bool(variable6)) { /*if*/
     variable6 = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL( variable5 /*gbc*/,COLOR_abstractmetamodel___MMGlobalClass___is_interface))( variable5 /*gbc*/) /*MMGlobalClass::is_interface*/;
     if (UNTAG_Bool(variable6)) { /*if*/
-      variable6 = NEW_string___String___init(); /*new String*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString("Error: Attempt to define attribute "), TAG_Int(35)); /*new String*/
+      variable6 = NEW_String_string___String___init(); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define attribute "), TAG_Int(35)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
       variable9 =  variable1 /*prop*/;
       variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-      variable10 = NEW_string___String___with_native(BOX_NativeString(" in the interface "), TAG_Int(18)); /*new String*/
+      variable10 = NEW_String_string___String___with_native(BOX_NativeString(" in the interface "), TAG_Int(18)); /*new String*/
       variable11 = variable10;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
       variable12 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
       variable13 = variable12;
       variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-      variable14 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable14 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable15 = variable14;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
     } else { /*if*/
       variable6 = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL( variable5 /*gbc*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable5 /*gbc*/) /*MMGlobalClass::is_universal*/;
       if (UNTAG_Bool(variable6)) { /*if*/
-        variable6 = NEW_string___String___init(); /*new String*/
-        variable7 = NEW_string___String___with_native(BOX_NativeString("Error: Attempt to define attribute "), TAG_Int(35)); /*new String*/
+        variable6 = NEW_String_string___String___init(); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define attribute "), TAG_Int(35)); /*new String*/
         variable8 = variable7;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
         variable9 =  variable1 /*prop*/;
         variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-        variable10 = NEW_string___String___with_native(BOX_NativeString(" in the universal class "), TAG_Int(24)); /*new String*/
+        variable10 = NEW_String_string___String___with_native(BOX_NativeString(" in the universal class "), TAG_Int(24)); /*new String*/
         variable11 = variable10;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
         variable12 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
         variable13 = variable12;
         variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-        variable14 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+        variable14 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
         variable15 = variable14;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
@@ -1870,42 +2239,42 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable6)) { /*if*/
       variable6 = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL( variable5 /*gbc*/,COLOR_abstractmetamodel___MMGlobalClass___is_interface))( variable5 /*gbc*/) /*MMGlobalClass::is_interface*/;
       if (UNTAG_Bool(variable6)) { /*if*/
-        variable6 = NEW_string___String___init(); /*new String*/
-        variable7 = NEW_string___String___with_native(BOX_NativeString("Error: Attempt to define a constructor "), TAG_Int(39)); /*new String*/
+        variable6 = NEW_String_string___String___init(); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define a constructor "), TAG_Int(39)); /*new String*/
         variable8 = variable7;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
         variable9 =  variable1 /*prop*/;
         variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-        variable10 = NEW_string___String___with_native(BOX_NativeString(" in the class "), TAG_Int(14)); /*new String*/
+        variable10 = NEW_String_string___String___with_native(BOX_NativeString(" in the class "), TAG_Int(14)); /*new String*/
         variable11 = variable10;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
         variable12 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
         variable13 = variable12;
         variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-        variable14 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+        variable14 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
         variable15 = variable14;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
       } else { /*if*/
         variable6 = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL( variable5 /*gbc*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable5 /*gbc*/) /*MMGlobalClass::is_universal*/;
         if (UNTAG_Bool(variable6)) { /*if*/
-          variable6 = NEW_string___String___init(); /*new String*/
-          variable7 = NEW_string___String___with_native(BOX_NativeString("Error: Attempt to define a constructor "), TAG_Int(39)); /*new String*/
+          variable6 = NEW_String_string___String___init(); /*new String*/
+          variable7 = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define a constructor "), TAG_Int(39)); /*new String*/
           variable8 = variable7;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
           variable9 =  variable1 /*prop*/;
           variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-          variable10 = NEW_string___String___with_native(BOX_NativeString(" in the universal "), TAG_Int(18)); /*new String*/
+          variable10 = NEW_String_string___String___with_native(BOX_NativeString(" in the universal "), TAG_Int(18)); /*new String*/
           variable11 = variable10;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
           variable12 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
           variable13 = variable12;
           variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-          variable14 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+          variable14 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
           variable15 = variable14;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
           ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
@@ -1933,13 +2302,13 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
       if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable6)))) { /*if*/
         variable6 = ((mmbuilder___PropertyVerifierVisitor___untyped_params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params))( variable0 /*v*/) /*PropertyVerifierVisitor::untyped_params*/;
         variable6 = ((abstract_collection___IndexedCollection___first_t)CALL(variable6,COLOR_abstract_collection___Collection___first))(variable6) /*IndexedCollection::first*/;
-        variable7 = NEW_string___String___with_native(BOX_NativeString("Error: Untyped parameter."), TAG_Int(25)); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString("Error: Untyped parameter."), TAG_Int(25)); /*new String*/
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable6, variable7) /*AbsSyntaxVisitor::error*/;
       } else { /*if*/
-        variable6 = NEW_array___Array___init(); /*new Array[E]*/
+        variable6 = NEW_Array_array___Array___init(); /*new Array[MMType]*/
         variable7 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
         variable7 = ((genericity___MMLocalClass___get_type_t)CALL(variable7,COLOR_static_type___MMLocalClass___get_type))(variable7) /*MMLocalClass::get_type*/;
-        variable8 = NEW_static_type___MMSignature___init(variable6,  NIT_NULL /*null*/, variable7); /*new MMSignature*/
+        variable8 = NEW_MMSignature_static_type___MMSignature___init(variable6,  NIT_NULL /*null*/, variable7); /*new MMSignature*/
         variable6 = variable8;
         ((static_type___MMLocalProperty___signature__eq_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable1 /*prop*/, variable6) /*MMLocalProperty::signature=*/;
       }
@@ -1949,7 +2318,7 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
   return;
 }
 void mmbuilder___PPropdef___inherit_signature(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, NULL, 669, LOCATE_mmbuilder___PPropdef___inherit_signature};
+  struct trace_t trace = {NULL, NULL, 785, LOCATE_mmbuilder___PPropdef___inherit_signature};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1986,7 +2355,7 @@ void mmbuilder___PPropdef___inherit_signature(val_t  self, val_t  param0, val_t
       variable8 = ((static_type___MMSignature___arity_t)CALL( variable6 /*isig*/,COLOR_static_type___MMSignature___arity))( variable6 /*isig*/) /*MMSignature::arity*/;
       variable7 = TAG_Bool((variable7)!=(variable8));
       if (UNTAG_Bool(variable7)) { /*if*/
-        goto return_label78;
+        goto return_label90;
       }
       variable7 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
       variable7 = ((array___AbstractArray___iterator_t)CALL(variable7,COLOR_abstract_collection___Collection___iterator))(variable7) /*AbstractArray::iterator*/;
@@ -2007,23 +2376,23 @@ void mmbuilder___PPropdef___inherit_signature(val_t  self, val_t  param0, val_t
         }
         variable10 = ((mmbuilder___PParam___variable_t)CALL( variable8 /*p*/,COLOR_syntax_base___PParam___variable))( variable8 /*p*/) /*PParam::variable*/;
         ((syntax_base___Variable___stype__eq_t)CALL(variable10,COLOR_syntax_base___Variable___stype__eq))(variable10,  variable9 /*t*/) /*Variable::stype=*/;
-        continue_80: while(0);
+        continue_92: while(0);
         ((array___ArrayIterator___next_t)CALL(variable7,COLOR_abstract_collection___Iterator___next))(variable7) /*ArrayIterator::next*/;
       }
-      break_80: while(0);
+      break_92: while(0);
       variable3 =  variable6 /*isig*/ /*s=*/;
       ((static_type___MMLocalProperty___signature__eq_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable1 /*prop*/,  variable3 /*s*/) /*MMLocalProperty::signature=*/;
     }
-    continue_79: while(0);
+    continue_91: while(0);
     ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
   }
-  break_79: while(0);
-  return_label78: while(false);
+  break_91: while(0);
+  return_label90: while(false);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, NULL, 695, LOCATE_mmbuilder___PPropdef___do_and_check_redef};
+  struct trace_t trace = {NULL, NULL, 811, LOCATE_mmbuilder___PPropdef___do_and_check_redef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2032,7 +2401,6 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
   val_t variable5;
   val_t variable6;
     val_t variable7;
-    static val_t once_value_variable7_82; static int once_bool_variable7_82;
     val_t variable8;
     val_t variable9;
     val_t variable10;
@@ -2073,38 +2441,26 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
   variable4 = variable5;
   variable6 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMLocalProperty::global*/;
   variable5 = variable6;
-  variable6 =  TAG_Bool(!UNTAG_Bool( variable2 /*has_redef*/));
-  if (UNTAG_Bool(variable6)) { /* and */
-    variable6 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*prop*/) /*MMLocalProperty::name*/;
-    if (once_bool_variable7_82) variable7 = once_value_variable7_82;
-    else {
-      variable7 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
-      variable7 = ((symbol___String___to_symbol_t)CALL(variable7,COLOR_symbol___String___to_symbol))(variable7) /*String::to_symbol*/;
-      once_value_variable7_82 = variable7;
-      once_bool_variable7_82 = true;
-    }
-    variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable6 == variable7) || ((variable6 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable6,variable7)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))(variable6, variable7) /*Object::==*/)))))));
-  }
-  if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___init(); /*new String*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
+  if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable2 /*has_redef*/)))) { /*if*/
+    variable6 = NEW_String_string___String___init(); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
     variable9 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
     variable10 = variable9;
     variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
     variable13 =  variable1 /*prop*/;
     variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString(" is an inherited property. To redefine it, add the redef keyword."), TAG_Int(65)); /*new String*/
+    variable14 = NEW_String_string___String___with_native(BOX_NativeString(" is an inherited property. To redefine it, add the redef keyword."), TAG_Int(65)); /*new String*/
     variable15 = variable14;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
-    goto return_label81;
+    goto return_label93;
   }
   variable6 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable5 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable5 /*glob*/) /*MMGlobalProperty::is_init*/;
   variable7 = variable6;
@@ -2113,21 +2469,21 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
   }
   variable6 = variable7;
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___init(); /*new String*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString("Redef error: A method "), TAG_Int(22)); /*new String*/
+    variable6 = NEW_String_string___String___init(); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: A method "), TAG_Int(22)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
     variable9 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
     variable10 = variable9;
     variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
     variable13 =  variable1 /*prop*/;
     variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString(" cannot redefine a constructor."), TAG_Int(31)); /*new String*/
+    variable14 = NEW_String_string___String___with_native(BOX_NativeString(" cannot redefine a constructor."), TAG_Int(31)); /*new String*/
     variable15 = variable14;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
@@ -2138,21 +2494,21 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
       variable6 =  variable4 /*is_init*/;
     }
     if (UNTAG_Bool(variable6)) { /*if*/
-      variable6 = NEW_string___String___init(); /*new String*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString("Redef error: A constructor "), TAG_Int(27)); /*new String*/
+      variable6 = NEW_String_string___String___init(); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: A constructor "), TAG_Int(27)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
       variable9 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
       variable10 = variable9;
       variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-      variable11 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+      variable11 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
       variable12 = variable11;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
       variable13 =  variable1 /*prop*/;
       variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-      variable14 = NEW_string___String___with_native(BOX_NativeString(" cannot redefine a method."), TAG_Int(26)); /*new String*/
+      variable14 = NEW_String_string___String___with_native(BOX_NativeString(" cannot redefine a method."), TAG_Int(26)); /*new String*/
       variable15 = variable14;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
@@ -2183,45 +2539,45 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
       variable12 = ((static_type___MMSignature___arity_t)CALL( variable10 /*isig*/,COLOR_static_type___MMSignature___arity))( variable10 /*isig*/) /*MMSignature::arity*/;
       variable11 = TAG_Bool((variable11)!=(variable12));
       if (UNTAG_Bool(variable11)) { /*if*/
-        variable11 = NEW_string___String___init(); /*new String*/
-        variable12 = NEW_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
+        variable11 = NEW_String_string___String___init(); /*new String*/
+        variable12 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
         variable13 = variable12;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable13) /*String::append*/;
         variable14 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
         variable15 = variable14;
         variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable15) /*String::append*/;
-        variable16 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+        variable16 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
         variable17 = variable16;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable17) /*String::append*/;
         variable18 =  variable1 /*prop*/;
         variable18 = ((string___String___to_s_t)CALL(variable18,COLOR_string___Object___to_s))(variable18) /*String::to_s*/;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable18) /*String::append*/;
-        variable19 = NEW_string___String___with_native(BOX_NativeString(" redefines "), TAG_Int(11)); /*new String*/
+        variable19 = NEW_String_string___String___with_native(BOX_NativeString(" redefines "), TAG_Int(11)); /*new String*/
         variable20 = variable19;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable20) /*String::append*/;
         variable21 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable9 /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable9 /*ip*/) /*MMLocalProperty::local_class*/;
         variable22 = variable21;
         variable22 = ((string___String___to_s_t)CALL(variable22,COLOR_string___Object___to_s))(variable22) /*String::to_s*/;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable22) /*String::append*/;
-        variable23 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+        variable23 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
         variable24 = variable23;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable24) /*String::append*/;
         variable25 =  variable9 /*ip*/;
         variable25 = ((string___String___to_s_t)CALL(variable25,COLOR_string___Object___to_s))(variable25) /*String::to_s*/;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable25) /*String::append*/;
-        variable26 = NEW_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)); /*new String*/
+        variable26 = NEW_String_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)); /*new String*/
         variable27 = variable26;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable27) /*String::append*/;
         variable28 = ((static_type___MMSignature___arity_t)CALL( variable10 /*isig*/,COLOR_static_type___MMSignature___arity))( variable10 /*isig*/) /*MMSignature::arity*/;
         variable29 = variable28;
         variable29 = ((string___String___to_s_t)CALL(variable29,COLOR_string___Object___to_s))(variable29) /*String::to_s*/;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable29) /*String::append*/;
-        variable30 = NEW_string___String___with_native(BOX_NativeString(" parameter(s)."), TAG_Int(14)); /*new String*/
+        variable30 = NEW_String_string___String___with_native(BOX_NativeString(" parameter(s)."), TAG_Int(14)); /*new String*/
         variable31 = variable30;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable31) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable11) /*AbsSyntaxVisitor::error*/;
-        goto return_label81;
+        goto return_label93;
       }
       variable11 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
       variable11 = ((array___AbstractArray___iterator_t)CALL(variable11,COLOR_abstract_collection___Collection___iterator))(variable11) /*AbstractArray::iterator*/;
@@ -2242,10 +2598,10 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
         }
         variable14 = ((mmbuilder___PParam___variable_t)CALL( variable12 /*p*/,COLOR_syntax_base___PParam___variable))( variable12 /*p*/) /*PParam::variable*/;
         ((syntax_base___Variable___stype__eq_t)CALL(variable14,COLOR_syntax_base___Variable___stype__eq))(variable14,  variable13 /*t*/) /*Variable::stype=*/;
-        continue_84: while(0);
+        continue_95: while(0);
         ((array___ArrayIterator___next_t)CALL(variable11,COLOR_abstract_collection___Iterator___next))(variable11) /*ArrayIterator::next*/;
       }
-      break_84: while(0);
+      break_95: while(0);
       variable6 =  variable10 /*isig*/ /*s=*/;
       ((static_type___MMLocalProperty___signature__eq_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable1 /*prop*/,  variable6 /*s*/) /*MMLocalProperty::signature=*/;
     }
@@ -2265,47 +2621,47 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
       variable12 = ((static_type___MMSignature___arity_t)CALL( variable10 /*isig*/,COLOR_static_type___MMSignature___arity))( variable10 /*isig*/) /*MMSignature::arity*/;
       variable11 = TAG_Bool((variable11)!=(variable12));
       if (UNTAG_Bool(variable11)) { /*if*/
-        variable11 = NEW_string___String___init(); /*new String*/
-        variable12 = NEW_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
+        variable11 = NEW_String_string___String___init(); /*new String*/
+        variable12 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
         variable13 = variable12;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable13) /*String::append*/;
         variable14 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
         variable15 = variable14;
         variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable15) /*String::append*/;
-        variable16 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+        variable16 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
         variable17 = variable16;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable17) /*String::append*/;
         variable18 =  variable1 /*prop*/;
         variable18 = ((string___String___to_s_t)CALL(variable18,COLOR_string___Object___to_s))(variable18) /*String::to_s*/;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable18) /*String::append*/;
-        variable19 = NEW_string___String___with_native(BOX_NativeString(" redefines "), TAG_Int(11)); /*new String*/
+        variable19 = NEW_String_string___String___with_native(BOX_NativeString(" redefines "), TAG_Int(11)); /*new String*/
         variable20 = variable19;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable20) /*String::append*/;
         variable21 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable9 /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable9 /*ip*/) /*MMLocalProperty::local_class*/;
         variable22 = variable21;
         variable22 = ((string___String___to_s_t)CALL(variable22,COLOR_string___Object___to_s))(variable22) /*String::to_s*/;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable22) /*String::append*/;
-        variable23 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+        variable23 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
         variable24 = variable23;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable24) /*String::append*/;
         variable25 =  variable9 /*ip*/;
         variable25 = ((string___String___to_s_t)CALL(variable25,COLOR_string___Object___to_s))(variable25) /*String::to_s*/;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable25) /*String::append*/;
-        variable26 = NEW_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)); /*new String*/
+        variable26 = NEW_String_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)); /*new String*/
         variable27 = variable26;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable27) /*String::append*/;
         variable28 = ((static_type___MMSignature___arity_t)CALL( variable10 /*isig*/,COLOR_static_type___MMSignature___arity))( variable10 /*isig*/) /*MMSignature::arity*/;
         variable29 = variable28;
         variable29 = ((string___String___to_s_t)CALL(variable29,COLOR_string___Object___to_s))(variable29) /*String::to_s*/;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable29) /*String::append*/;
-        variable30 = NEW_string___String___with_native(BOX_NativeString(" parameter(s)."), TAG_Int(14)); /*new String*/
+        variable30 = NEW_String_string___String___with_native(BOX_NativeString(" parameter(s)."), TAG_Int(14)); /*new String*/
         variable31 = variable30;
         ((string___String___append_t)CALL(variable11,COLOR_abstract_collection___IndexedCollection___append))(variable11, variable31) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable11) /*AbsSyntaxVisitor::error*/;
       } else { /*if*/
         variable11 = ((static_type___MMSignature___arity_t)CALL( variable6 /*s*/,COLOR_static_type___MMSignature___arity))( variable6 /*s*/) /*MMSignature::arity*/;
-        variable12 = NEW_range___Range___without_last( TAG_Int(0), variable11); /*new Range[E]*/
+        variable12 = NEW_Range_range___Range___without_last( TAG_Int(0), variable11); /*new Range[Int]*/
         variable11 = variable12;
         variable11 = ((range___Range___iterator_t)CALL(variable11,COLOR_abstract_collection___Collection___iterator))(variable11) /*Range::iterator*/;
         while (true) { /*for*/
@@ -2316,56 +2672,56 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
           variable14 = ((static_type___MMSignature_____bra_t)CALL( variable10 /*isig*/,COLOR_static_type___MMSignature_____bra))( variable10 /*isig*/,  variable12 /*i*/) /*MMSignature::[]*/;
           variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable13 == variable14) || ((variable13 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable13,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable13,variable14)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable13,COLOR_kernel___Object_____eqeq))(variable13, variable14) /*Object::==*/)))))));
           if (UNTAG_Bool(variable13)) { /*if*/
-            variable13 = NEW_string___String___init(); /*new String*/
-            variable14 = NEW_string___String___with_native(BOX_NativeString("Redef error: Expected "), TAG_Int(22)); /*new String*/
+            variable13 = NEW_String_string___String___init(); /*new String*/
+            variable14 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Expected "), TAG_Int(22)); /*new String*/
             variable15 = variable14;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable15) /*String::append*/;
             variable16 = ((static_type___MMSignature_____bra_t)CALL( variable10 /*isig*/,COLOR_static_type___MMSignature_____bra))( variable10 /*isig*/,  variable12 /*i*/) /*MMSignature::[]*/;
             variable17 = variable16;
             variable17 = ((string___String___to_s_t)CALL(variable17,COLOR_string___Object___to_s))(variable17) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable17) /*String::append*/;
-            variable18 = NEW_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
+            variable18 = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
             variable19 = variable18;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable19) /*String::append*/;
             variable20 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable9 /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable9 /*ip*/) /*MMLocalProperty::local_class*/;
             variable21 = variable20;
             variable21 = ((string___String___to_s_t)CALL(variable21,COLOR_string___Object___to_s))(variable21) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable21) /*String::append*/;
-            variable22 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+            variable22 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
             variable23 = variable22;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable23) /*String::append*/;
             variable24 =  variable9 /*ip*/;
             variable24 = ((string___String___to_s_t)CALL(variable24,COLOR_string___Object___to_s))(variable24) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable24) /*String::append*/;
-            variable25 = NEW_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
+            variable25 = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
             variable26 = variable25;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable26) /*String::append*/;
             variable27 = ((static_type___MMSignature_____bra_t)CALL( variable6 /*s*/,COLOR_static_type___MMSignature_____bra))( variable6 /*s*/,  variable12 /*i*/) /*MMSignature::[]*/;
             variable28 = variable27;
             variable28 = ((string___String___to_s_t)CALL(variable28,COLOR_string___Object___to_s))(variable28) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable28) /*String::append*/;
-            variable29 = NEW_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
+            variable29 = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
             variable30 = variable29;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable30) /*String::append*/;
             variable31 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
             variable32 = variable31;
             variable32 = ((string___String___to_s_t)CALL(variable32,COLOR_string___Object___to_s))(variable32) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable32) /*String::append*/;
-            variable33 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+            variable33 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
             variable34 = variable33;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable34) /*String::append*/;
             variable35 =  variable1 /*prop*/;
             variable35 = ((string___String___to_s_t)CALL(variable35,COLOR_string___Object___to_s))(variable35) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable35) /*String::append*/;
-            variable36 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+            variable36 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
             variable37 = variable36;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable37) /*String::append*/;
             ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable13) /*AbsSyntaxVisitor::error*/;
           }
-          continue_85: while(0);
+          continue_96: while(0);
           ((abstract_collection___Iterator___next_t)CALL(variable11,COLOR_abstract_collection___Iterator___next))(variable11) /*Iterator::next*/;
         }
-        break_85: while(0);
+        break_96: while(0);
       }
     }
     variable12 = ((static_type___MMSignature___return_type_t)CALL( variable6 /*s*/,COLOR_static_type___MMSignature___return_type))( variable6 /*s*/) /*MMSignature::return_type*/;
@@ -2379,34 +2735,34 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
     }
     variable13 = variable14;
     if (UNTAG_Bool(variable13)) { /*if*/
-      variable13 = NEW_string___String___init(); /*new String*/
-      variable14 = NEW_string___String___with_native(BOX_NativeString("Redef error: The procedure "), TAG_Int(27)); /*new String*/
+      variable13 = NEW_String_string___String___init(); /*new String*/
+      variable14 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: The procedure "), TAG_Int(27)); /*new String*/
       variable15 = variable14;
       ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable15) /*String::append*/;
       variable16 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
       variable17 = variable16;
       variable17 = ((string___String___to_s_t)CALL(variable17,COLOR_string___Object___to_s))(variable17) /*String::to_s*/;
       ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable17) /*String::append*/;
-      variable18 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+      variable18 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
       variable19 = variable18;
       ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable19) /*String::append*/;
       variable20 =  variable1 /*prop*/;
       variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
       ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable20) /*String::append*/;
-      variable21 = NEW_string___String___with_native(BOX_NativeString(" redefines the function "), TAG_Int(24)); /*new String*/
+      variable21 = NEW_String_string___String___with_native(BOX_NativeString(" redefines the function "), TAG_Int(24)); /*new String*/
       variable22 = variable21;
       ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable22) /*String::append*/;
       variable23 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable9 /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable9 /*ip*/) /*MMLocalProperty::local_class*/;
       variable24 = variable23;
       variable24 = ((string___String___to_s_t)CALL(variable24,COLOR_string___Object___to_s))(variable24) /*String::to_s*/;
       ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable24) /*String::append*/;
-      variable25 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+      variable25 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
       variable26 = variable25;
       ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable26) /*String::append*/;
       variable27 =  variable9 /*ip*/;
       variable27 = ((string___String___to_s_t)CALL(variable27,COLOR_string___Object___to_s))(variable27) /*String::to_s*/;
       ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable27) /*String::append*/;
-      variable28 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable28 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable29 = variable28;
       ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable29) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable13) /*AbsSyntaxVisitor::error*/;
@@ -2418,34 +2774,34 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
       }
       variable13 = variable14;
       if (UNTAG_Bool(variable13)) { /*if*/
-        variable13 = NEW_string___String___init(); /*new String*/
-        variable14 = NEW_string___String___with_native(BOX_NativeString("Redef error: The function "), TAG_Int(26)); /*new String*/
+        variable13 = NEW_String_string___String___init(); /*new String*/
+        variable14 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: The function "), TAG_Int(26)); /*new String*/
         variable15 = variable14;
         ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable15) /*String::append*/;
         variable16 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
         variable17 = variable16;
         variable17 = ((string___String___to_s_t)CALL(variable17,COLOR_string___Object___to_s))(variable17) /*String::to_s*/;
         ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable17) /*String::append*/;
-        variable18 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+        variable18 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
         variable19 = variable18;
         ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable19) /*String::append*/;
         variable20 =  variable1 /*prop*/;
         variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
         ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable20) /*String::append*/;
-        variable21 = NEW_string___String___with_native(BOX_NativeString(" redefines the procedure "), TAG_Int(25)); /*new String*/
+        variable21 = NEW_String_string___String___with_native(BOX_NativeString(" redefines the procedure "), TAG_Int(25)); /*new String*/
         variable22 = variable21;
         ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable22) /*String::append*/;
         variable23 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable9 /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable9 /*ip*/) /*MMLocalProperty::local_class*/;
         variable24 = variable23;
         variable24 = ((string___String___to_s_t)CALL(variable24,COLOR_string___Object___to_s))(variable24) /*String::to_s*/;
         ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable24) /*String::append*/;
-        variable25 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+        variable25 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
         variable26 = variable25;
         ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable26) /*String::append*/;
         variable27 =  variable9 /*ip*/;
         variable27 = ((string___String___to_s_t)CALL(variable27,COLOR_string___Object___to_s))(variable27) /*String::to_s*/;
         ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable27) /*String::append*/;
-        variable28 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+        variable28 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
         variable29 = variable28;
         ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable29) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable13) /*AbsSyntaxVisitor::error*/;
@@ -2463,46 +2819,46 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
         }
         variable13 = variable14;
         if (UNTAG_Bool(variable13)) { /*if*/
-          variable13 = NEW_string___String___init(); /*new String*/
-          variable14 = NEW_string___String___with_native(BOX_NativeString("Redef error: Expected "), TAG_Int(22)); /*new String*/
+          variable13 = NEW_String_string___String___init(); /*new String*/
+          variable14 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Expected "), TAG_Int(22)); /*new String*/
           variable15 = variable14;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable15) /*String::append*/;
           variable16 =  variable12 /*isrt*/;
           variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable16) /*String::append*/;
-          variable17 = NEW_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
+          variable17 = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
           variable18 = variable17;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable18) /*String::append*/;
           variable19 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable9 /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable9 /*ip*/) /*MMLocalProperty::local_class*/;
           variable20 = variable19;
           variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable20) /*String::append*/;
-          variable21 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+          variable21 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
           variable22 = variable21;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable22) /*String::append*/;
           variable23 =  variable9 /*ip*/;
           variable23 = ((string___String___to_s_t)CALL(variable23,COLOR_string___Object___to_s))(variable23) /*String::to_s*/;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable23) /*String::append*/;
-          variable24 = NEW_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
+          variable24 = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
           variable25 = variable24;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable25) /*String::append*/;
           variable26 =  variable11 /*srt*/;
           variable26 = ((string___String___to_s_t)CALL(variable26,COLOR_string___Object___to_s))(variable26) /*String::to_s*/;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable26) /*String::append*/;
-          variable27 = NEW_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
+          variable27 = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
           variable28 = variable27;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable28) /*String::append*/;
           variable29 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
           variable30 = variable29;
           variable30 = ((string___String___to_s_t)CALL(variable30,COLOR_string___Object___to_s))(variable30) /*String::to_s*/;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable30) /*String::append*/;
-          variable31 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+          variable31 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
           variable32 = variable31;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable32) /*String::append*/;
           variable33 =  variable1 /*prop*/;
           variable33 = ((string___String___to_s_t)CALL(variable33,COLOR_string___Object___to_s))(variable33) /*String::to_s*/;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable33) /*String::append*/;
-          variable34 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+          variable34 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
           variable35 = variable34;
           ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable35) /*String::append*/;
           ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable13) /*AbsSyntaxVisitor::error*/;
@@ -2524,46 +2880,46 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
           }
           variable13 = variable14;
           if (UNTAG_Bool(variable13)) { /*if*/
-            variable13 = NEW_string___String___init(); /*new String*/
-            variable14 = NEW_string___String___with_native(BOX_NativeString("Redef warning: Expected "), TAG_Int(24)); /*new String*/
+            variable13 = NEW_String_string___String___init(); /*new String*/
+            variable14 = NEW_String_string___String___with_native(BOX_NativeString("Redef warning: Expected "), TAG_Int(24)); /*new String*/
             variable15 = variable14;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable15) /*String::append*/;
             variable16 =  variable12 /*isrt*/;
             variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable16) /*String::append*/;
-            variable17 = NEW_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
+            variable17 = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
             variable18 = variable17;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable18) /*String::append*/;
             variable19 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable9 /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable9 /*ip*/) /*MMLocalProperty::local_class*/;
             variable20 = variable19;
             variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable20) /*String::append*/;
-            variable21 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+            variable21 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
             variable22 = variable21;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable22) /*String::append*/;
             variable23 =  variable9 /*ip*/;
             variable23 = ((string___String___to_s_t)CALL(variable23,COLOR_string___Object___to_s))(variable23) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable23) /*String::append*/;
-            variable24 = NEW_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
+            variable24 = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
             variable25 = variable24;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable25) /*String::append*/;
             variable26 =  variable11 /*srt*/;
             variable26 = ((string___String___to_s_t)CALL(variable26,COLOR_string___Object___to_s))(variable26) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable26) /*String::append*/;
-            variable27 = NEW_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
+            variable27 = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
             variable28 = variable27;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable28) /*String::append*/;
             variable29 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
             variable30 = variable29;
             variable30 = ((string___String___to_s_t)CALL(variable30,COLOR_string___Object___to_s))(variable30) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable30) /*String::append*/;
-            variable31 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+            variable31 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
             variable32 = variable31;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable32) /*String::append*/;
             variable33 =  variable1 /*prop*/;
             variable33 = ((string___String___to_s_t)CALL(variable33,COLOR_string___Object___to_s))(variable33) /*String::to_s*/;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable33) /*String::append*/;
-            variable34 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+            variable34 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
             variable35 = variable34;
             ((string___String___append_t)CALL(variable13,COLOR_abstract_collection___IndexedCollection___append))(variable13, variable35) /*String::append*/;
             ((syntax_base___AbsSyntaxVisitor___warning_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning))( variable0 /*v*/,  self, variable13) /*AbsSyntaxVisitor::warning*/;
@@ -2571,10 +2927,10 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
         }
       }
     }
-    continue_83: while(0);
+    continue_94: while(0);
     ((array___ArrayIterator___next_t)CALL(variable7,COLOR_abstract_collection___Iterator___next))(variable7) /*ArrayIterator::next*/;
   }
-  break_83: while(0);
+  break_94: while(0);
   variable7 = TAG_Bool(( variable3 /*visibility_level*/)!=( TAG_Int(1)));
   variable8 = variable7;
   if (UNTAG_Bool(variable8)) { /* and */
@@ -2583,54 +2939,54 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
   }
   variable7 = variable8;
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
+    variable7 = NEW_String_string___String___init(); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
     variable10 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
     variable11 = variable10;
     variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+    variable12 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
     variable13 = variable12;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
     variable14 =  variable1 /*prop*/;
     variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
-    variable15 = NEW_string___String___with_native(BOX_NativeString(" redefinition cannot change visibility."), TAG_Int(39)); /*new String*/
+    variable15 = NEW_String_string___String___with_native(BOX_NativeString(" redefinition cannot change visibility."), TAG_Int(39)); /*new String*/
     variable16 = variable15;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable7) /*AbsSyntaxVisitor::error*/;
   }
   variable7 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
   ((syntax_base___MMGlobalProperty___check_visibility_t)CALL( variable5 /*glob*/,COLOR_syntax_base___MMGlobalProperty___check_visibility))( variable5 /*glob*/,  variable0 /*v*/,  self, variable7,  TAG_Bool(true)) /*MMGlobalProperty::check_visibility*/;
-  return_label81: while(false);
+  return_label93: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___AAttrPropdef___readmethod(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 773, LOCATE_mmbuilder___AAttrPropdef___readmethod};
+  struct trace_t trace = {NULL, NULL, 889, LOCATE_mmbuilder___AAttrPropdef___readmethod};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AAttrPropdef____readmethod( self) /*AAttrPropdef::_readmethod*/;
 }
 val_t mmbuilder___AAttrPropdef___writemethod(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 774, LOCATE_mmbuilder___AAttrPropdef___writemethod};
+  struct trace_t trace = {NULL, NULL, 890, LOCATE_mmbuilder___AAttrPropdef___writemethod};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AAttrPropdef____writemethod( self) /*AAttrPropdef::_writemethod*/;
 }
 val_t mmbuilder___AAttrPropdef___prop(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 775, LOCATE_mmbuilder___AAttrPropdef___prop};
+  struct trace_t trace = {NULL, NULL, 891, LOCATE_mmbuilder___AAttrPropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AAttrPropdef____prop( self) /*AAttrPropdef::_prop*/;
 }
 void mmbuilder___AAttrPropdef___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 777, LOCATE_mmbuilder___AAttrPropdef___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 893, LOCATE_mmbuilder___AAttrPropdef___accept_property_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2644,7 +3000,7 @@ void mmbuilder___AAttrPropdef___accept_property_builder(val_t  self, val_t  para
   variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*Token::to_symbol*/;
   variable1 = variable2;
   variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
-  variable4 = NEW_syntax_base___MMSrcAttribute___init( variable1 /*name*/, variable3,  self); /*new MMSrcAttribute*/
+  variable4 = NEW_MMSrcAttribute_syntax_base___MMSrcAttribute___init( variable1 /*name*/, variable3,  self); /*new MMSrcAttribute*/
   variable3 = variable4;
   variable2 = variable3;
   ATTR_mmbuilder___AAttrPropdef____prop( self) /*AAttrPropdef::_prop*/ =  variable2 /*prop*/;
@@ -2659,7 +3015,7 @@ void mmbuilder___AAttrPropdef___accept_property_builder(val_t  self, val_t  para
     variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
     variable1 = variable3 /*name=*/;
     variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
-    variable4 = NEW_syntax_base___MMReadImplementationMethod___init( variable1 /*name*/, variable3,  self); /*new MMReadImplementationMethod*/
+    variable4 = NEW_MMReadImplementationMethod_syntax_base___MMReadImplementationMethod___init( variable1 /*name*/, variable3,  self); /*new MMReadImplementationMethod*/
     variable3 = variable4;
     ATTR_mmbuilder___AAttrPropdef____readmethod( self) /*AAttrPropdef::_readmethod*/ = variable3;
     variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
@@ -2672,12 +3028,12 @@ void mmbuilder___AAttrPropdef___accept_property_builder(val_t  self, val_t  para
     variable3 = ((parser_nodes___AAttrPropdef___n_id_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_id))( self) /*AAttrPropdef::n_id*/;
     variable3 = ((lexer___Token___text_t)CALL(variable3,COLOR_lexer___Token___text))(variable3) /*Token::text*/;
     variable3 = ((string___String___substring_from_t)CALL(variable3,COLOR_string___String___substring_from))(variable3,  TAG_Int(1)) /*String::substring_from*/;
-    variable4 = NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
     variable3 = ((string___String_____plus_t)CALL(variable3,COLOR_string___String_____plus))(variable3, variable4) /*String::+*/;
     variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
     variable1 = variable3 /*name=*/;
     variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
-    variable4 = NEW_syntax_base___MMWriteImplementationMethod___init( variable1 /*name*/, variable3,  self); /*new MMWriteImplementationMethod*/
+    variable4 = NEW_MMWriteImplementationMethod_syntax_base___MMWriteImplementationMethod___init( variable1 /*name*/, variable3,  self); /*new MMWriteImplementationMethod*/
     variable3 = variable4;
     ATTR_mmbuilder___AAttrPropdef____writemethod( self) /*AAttrPropdef::_writemethod*/ = variable3;
     variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
@@ -2688,7 +3044,7 @@ void mmbuilder___AAttrPropdef___accept_property_builder(val_t  self, val_t  para
   return;
 }
 void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 797, LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 913, LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2714,8 +3070,8 @@ void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  par
     variable2 = ((syntax_base___PType___get_stype_t)CALL(variable2,COLOR_syntax_base___PType___get_stype))(variable2,  variable0 /*v*/) /*PType::get_stype*/;
     variable1 = variable2 /*t=*/;
   } else { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("Not yet implemented: Attribute definition "), TAG_Int(42)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("Not yet implemented: Attribute definition "), TAG_Int(42)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 = ATTR_mmbuilder___AAttrPropdef____prop( self) /*AAttrPropdef::_prop*/;
@@ -2723,23 +3079,23 @@ void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  par
     variable6 = variable5;
     variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-    variable7 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
     variable9 = ATTR_mmbuilder___AAttrPropdef____prop( self) /*AAttrPropdef::_prop*/;
     variable10 = variable9;
     variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString(" requires an explicit type."), TAG_Int(27)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString(" requires an explicit type."), TAG_Int(27)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable12) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
-    goto return_label87;
+    goto return_label98;
   }
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMType]*/
   variable4 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
   variable4 = ((genericity___MMLocalClass___get_type_t)CALL(variable4,COLOR_static_type___MMLocalClass___get_type))(variable4) /*MMLocalClass::get_type*/;
-  variable5 = NEW_static_type___MMSignature___init(variable3,  variable1 /*t*/, variable4); /*new MMSignature*/
+  variable5 = NEW_MMSignature_static_type___MMSignature___init(variable3,  variable1 /*t*/, variable4); /*new MMSignature*/
   variable3 = variable5;
   variable2 = variable3;
   variable3 = ATTR_mmbuilder___AAttrPropdef____prop( self) /*AAttrPropdef::_prop*/;
@@ -2769,13 +3125,13 @@ void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  par
   variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  NIT_NULL /*null*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
     variable4 = ATTR_mmbuilder___AAttrPropdef____writemethod( self) /*AAttrPropdef::_writemethod*/;
-    variable5 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+    variable5 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMType]*/
     ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable1 /*t*/) /*AbstractArray::add*/;
-    variable6 = NEW_array___Array___with(variable5); /*new Array[E]*/
+    variable6 = NEW_Array_array___Array___with(variable5); /*new Array[MMType]*/
     variable5 = variable6;
     variable6 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
     variable6 = ((genericity___MMLocalClass___get_type_t)CALL(variable6,COLOR_static_type___MMLocalClass___get_type))(variable6) /*MMLocalClass::get_type*/;
-    variable7 = NEW_static_type___MMSignature___init(variable5,  NIT_NULL /*null*/, variable6); /*new MMSignature*/
+    variable7 = NEW_MMSignature_static_type___MMSignature___init(variable5,  NIT_NULL /*null*/, variable6); /*new MMSignature*/
     variable5 = variable7;
     ((static_type___MMLocalProperty___signature__eq_t)CALL(variable4,COLOR_static_type___MMLocalProperty___signature__eq))(variable4, variable5) /*MMLocalProperty::signature=*/;
     variable4 = ATTR_mmbuilder___AAttrPropdef____writemethod( self) /*AAttrPropdef::_writemethod*/;
@@ -2787,12 +3143,12 @@ void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  par
     variable5 = ATTR_mmbuilder___AAttrPropdef____writemethod( self) /*AAttrPropdef::_writemethod*/;
     ((mmbuilder___PType___check_visibility_t)CALL(variable4,COLOR_mmbuilder___PType___check_visibility))(variable4,  variable0 /*v*/, variable5) /*PType::check_visibility*/;
   }
-  return_label87: while(false);
+  return_label98: while(false);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 824, LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor};
+  struct trace_t trace = {NULL, NULL, 940, LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2806,29 +3162,29 @@ void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t  self, val_t  pa
   return;
 }
 val_t mmbuilder___AMethPropdef___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 833, LOCATE_mmbuilder___AMethPropdef___name};
+  struct trace_t trace = {NULL, NULL, 949, LOCATE_mmbuilder___AMethPropdef___name};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/;
 }
 val_t mmbuilder___AMethPropdef___method(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 836, LOCATE_mmbuilder___AMethPropdef___method};
+  struct trace_t trace = {NULL, NULL, 952, LOCATE_mmbuilder___AMethPropdef___method};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AMethPropdef____method( self) /*AMethPropdef::_method*/;
 }
 void mmbuilder___AMethPropdef___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 838, LOCATE_mmbuilder___AMethPropdef___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 954, LOCATE_mmbuilder___AMethPropdef___accept_property_builder};
   val_t variable0;
   val_t variable1;
-      static val_t once_value_variable1_90; static int once_bool_variable1_90;
-      static val_t once_value_variable1_91; static int once_bool_variable1_91;
+      static val_t once_value_variable1_101; static int once_bool_variable1_101;
+      static val_t once_value_variable1_102; static int once_bool_variable1_102;
     val_t variable2;
-    static val_t once_value_variable2_92; static int once_bool_variable2_92;
+    static val_t once_value_variable2_103; static int once_bool_variable2_103;
       val_t variable3;
-        static val_t once_value_variable2_93; static int once_bool_variable2_93;
+        static val_t once_value_variable2_104; static int once_bool_variable2_104;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -2839,21 +3195,21 @@ void mmbuilder___AMethPropdef___accept_property_builder(val_t  self, val_t  para
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
     if (UNTAG_Bool(variable1)) { /*if*/
-      if (once_bool_variable1_90) variable1 = once_value_variable1_90;
+      if (once_bool_variable1_101) variable1 = once_value_variable1_101;
       else {
-        variable1 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
+        variable1 = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
         variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
-        once_value_variable1_90 = variable1;
-        once_bool_variable1_90 = true;
+        once_value_variable1_101 = variable1;
+        once_bool_variable1_101 = true;
       }
       ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/ = variable1;
     } else { /*if*/
-      if (once_bool_variable1_91) variable1 = once_value_variable1_91;
+      if (once_bool_variable1_102) variable1 = once_value_variable1_102;
       else {
-        variable1 = NEW_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)); /*new String*/
+        variable1 = NEW_String_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)); /*new String*/
         variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
-        once_value_variable1_91 = variable1;
-        once_bool_variable1_91 = true;
+        once_value_variable1_102 = variable1;
+        once_bool_variable1_102 = true;
       }
       ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/ = variable1;
     }
@@ -2863,12 +3219,12 @@ void mmbuilder___AMethPropdef___accept_property_builder(val_t  self, val_t  para
     ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/ = variable1;
     variable1 = ((parser_nodes___AMethPropdef___n_methid_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_methid))( self) /*AMethPropdef::n_methid*/;
     variable1 = ((mmbuilder___PMethid___name_t)CALL(variable1,COLOR_mmbuilder___PMethid___name))(variable1) /*PMethid::name*/;
-    if (once_bool_variable2_92) variable2 = once_value_variable2_92;
+    if (once_bool_variable2_103) variable2 = once_value_variable2_103;
     else {
-      variable2 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
+      variable2 = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
       variable2 = ((symbol___String___to_symbol_t)CALL(variable2,COLOR_symbol___String___to_symbol))(variable2) /*String::to_symbol*/;
-      once_value_variable2_92 = variable2;
-      once_bool_variable2_92 = true;
+      once_value_variable2_103 = variable2;
+      once_bool_variable2_103 = true;
     }
     variable1 = TAG_Bool((variable1 == variable2) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1,variable2)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, variable2) /*Object::==*/)))));
     if (UNTAG_Bool(variable1)) { /*if*/
@@ -2883,12 +3239,12 @@ void mmbuilder___AMethPropdef___accept_property_builder(val_t  self, val_t  para
       }
       variable2 = variable3;
       if (UNTAG_Bool(variable2)) { /*if*/
-        if (once_bool_variable2_93) variable2 = once_value_variable2_93;
+        if (once_bool_variable2_104) variable2 = once_value_variable2_104;
         else {
-          variable2 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
+          variable2 = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
           variable2 = ((symbol___String___to_symbol_t)CALL(variable2,COLOR_symbol___String___to_symbol))(variable2) /*String::to_symbol*/;
-          once_value_variable2_93 = variable2;
-          once_bool_variable2_93 = true;
+          once_value_variable2_104 = variable2;
+          once_bool_variable2_104 = true;
         }
         ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/ = variable2;
       }
@@ -2896,7 +3252,7 @@ void mmbuilder___AMethPropdef___accept_property_builder(val_t  self, val_t  para
   }
   variable2 = ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/;
   variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
-  variable4 = NEW_syntax_base___MMMethSrcMethod___init(variable2, variable3,  self); /*new MMMethSrcMethod*/
+  variable4 = NEW_MMMethSrcMethod_syntax_base___MMMethSrcMethod___init(variable2, variable3,  self); /*new MMMethSrcMethod*/
   variable2 = variable4;
   variable1 = variable2;
   ATTR_mmbuilder___AMethPropdef____method( self) /*AMethPropdef::_method*/ =  variable1 /*prop*/;
@@ -2906,7 +3262,7 @@ void mmbuilder___AMethPropdef___accept_property_builder(val_t  self, val_t  para
   return;
 }
 void mmbuilder___AMethPropdef___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 862, LOCATE_mmbuilder___AMethPropdef___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 978, LOCATE_mmbuilder___AMethPropdef___accept_property_verifier};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -2914,9 +3270,9 @@ void mmbuilder___AMethPropdef___accept_property_verifier(val_t  self, val_t  par
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[PParam]*/
   ((mmbuilder___PropertyVerifierVisitor___params__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params__eq))( variable0 /*v*/, variable1) /*PropertyVerifierVisitor::params=*/;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[PParam]*/
   ((mmbuilder___PropertyVerifierVisitor___untyped_params__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params__eq))( variable0 /*v*/, variable1) /*PropertyVerifierVisitor::untyped_params=*/;
   ((mmbuilder___PropertyVerifierVisitor___signature__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature__eq))( variable0 /*v*/,  NIT_NULL /*null*/) /*PropertyVerifierVisitor::signature=*/;
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
@@ -2960,7 +3316,7 @@ void mmbuilder___AMethPropdef___accept_property_verifier(val_t  self, val_t  par
   return;
 }
 void mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 884, LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor};
+  struct trace_t trace = {NULL, NULL, 1000, LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2974,7 +3330,7 @@ void mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t  self, val_t  pa
   return;
 }
 void mmbuilder___AMainMethPropdef___process_and_check(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, NULL, 893, LOCATE_mmbuilder___AMainMethPropdef___process_and_check};
+  struct trace_t trace = {NULL, NULL, 1009, LOCATE_mmbuilder___AMainMethPropdef___process_and_check};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2990,24 +3346,24 @@ void mmbuilder___AMainMethPropdef___process_and_check(val_t  self, val_t  param0
   variable3 =  param3;
   variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMLocalProperty::global*/;
   ((abstractmetamodel___MMGlobalProperty___visibility_level__eq_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___visibility_level__eq))(variable4,  variable3 /*visibility_level*/) /*MMGlobalProperty::visibility_level=*/;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[MMType]*/
   variable5 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
   variable5 = ((genericity___MMLocalClass___get_type_t)CALL(variable5,COLOR_static_type___MMLocalClass___get_type))(variable5) /*MMLocalClass::get_type*/;
-  variable6 = NEW_static_type___MMSignature___init(variable4,  NIT_NULL /*null*/, variable5); /*new MMSignature*/
+  variable6 = NEW_MMSignature_static_type___MMSignature___init(variable4,  NIT_NULL /*null*/, variable5); /*new MMSignature*/
   variable4 = variable6;
   ((static_type___MMLocalProperty___signature__eq_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable1 /*prop*/, variable4) /*MMLocalProperty::signature=*/;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___ATypePropdef___prop(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 902, LOCATE_mmbuilder___ATypePropdef___prop};
+  struct trace_t trace = {NULL, NULL, 1018, LOCATE_mmbuilder___ATypePropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___ATypePropdef____prop( self) /*ATypePropdef::_prop*/;
 }
 void mmbuilder___ATypePropdef___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 904, LOCATE_mmbuilder___ATypePropdef___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 1020, LOCATE_mmbuilder___ATypePropdef___accept_property_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3021,7 +3377,7 @@ void mmbuilder___ATypePropdef___accept_property_builder(val_t  self, val_t  para
   variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*Token::to_symbol*/;
   variable1 = variable2;
   variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
-  variable4 = NEW_syntax_base___MMSrcTypeProperty___init( variable1 /*name*/, variable3,  self); /*new MMSrcTypeProperty*/
+  variable4 = NEW_MMSrcTypeProperty_syntax_base___MMSrcTypeProperty___init( variable1 /*name*/, variable3,  self); /*new MMSrcTypeProperty*/
   variable3 = variable4;
   variable2 = variable3;
   ATTR_mmbuilder___ATypePropdef____prop( self) /*ATypePropdef::_prop*/ =  variable2 /*prop*/;
@@ -3031,7 +3387,7 @@ void mmbuilder___ATypePropdef___accept_property_builder(val_t  self, val_t  para
   return;
 }
 void mmbuilder___ATypePropdef___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 913, LOCATE_mmbuilder___ATypePropdef___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 1029, LOCATE_mmbuilder___ATypePropdef___accept_property_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3042,12 +3398,12 @@ void mmbuilder___ATypePropdef___accept_property_verifier(val_t  self, val_t  par
   trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___ATypePropdef___accept_property_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_verifier))( self,  param0) /*super ATypePropdef::accept_property_verifier*/;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMType]*/
   variable3 = ((parser_nodes___ATypePropdef___n_type_t)CALL( self,COLOR_parser_nodes___ATypePropdef___n_type))( self) /*ATypePropdef::n_type*/;
   variable3 = ((syntax_base___PType___get_stype_t)CALL(variable3,COLOR_syntax_base___PType___get_stype))(variable3,  variable0 /*v*/) /*PType::get_stype*/;
   variable4 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
   variable4 = ((genericity___MMLocalClass___get_type_t)CALL(variable4,COLOR_static_type___MMLocalClass___get_type))(variable4) /*MMLocalClass::get_type*/;
-  variable5 = NEW_static_type___MMSignature___init(variable2, variable3, variable4); /*new MMSignature*/
+  variable5 = NEW_MMSignature_static_type___MMSignature___init(variable2, variable3, variable4); /*new MMSignature*/
   variable2 = variable5;
   variable1 = variable2;
   variable2 = ATTR_mmbuilder___ATypePropdef____prop( self) /*ATypePropdef::_prop*/;
@@ -3063,7 +3419,7 @@ void mmbuilder___ATypePropdef___accept_property_verifier(val_t  self, val_t  par
   return;
 }
 void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 922, LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor};
+  struct trace_t trace = {NULL, NULL, 1038, LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3077,14 +3433,14 @@ void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t  self, val_t  pa
   return;
 }
 val_t mmbuilder___MethidAccumulator___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 933, LOCATE_mmbuilder___MethidAccumulator___name};
+  struct trace_t trace = {NULL, NULL, 1049, LOCATE_mmbuilder___MethidAccumulator___name};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___MethidAccumulator____name( self) /*MethidAccumulator::_name*/;
 }
 void mmbuilder___MethidAccumulator___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 934, LOCATE_mmbuilder___MethidAccumulator___visit};
+  struct trace_t trace = {NULL, NULL, 1050, LOCATE_mmbuilder___MethidAccumulator___visit};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -3103,33 +3459,33 @@ void mmbuilder___MethidAccumulator___visit(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___MethidAccumulator___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 943, LOCATE_mmbuilder___MethidAccumulator___init};
+  struct trace_t trace = {NULL, NULL, 1059, LOCATE_mmbuilder___MethidAccumulator___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MethidAccumulator].i]) return;
-  variable0 = NEW_string___String___init(); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
   ATTR_mmbuilder___MethidAccumulator____name( self) /*MethidAccumulator::_name*/ = variable0;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MethidAccumulator].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___PMethid___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 950, LOCATE_mmbuilder___PMethid___name};
+  struct trace_t trace = {NULL, NULL, 1066, LOCATE_mmbuilder___PMethid___name};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PMethid____name( self) /*PMethid::_name*/;
 }
 void mmbuilder___PMethid___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 953, LOCATE_mmbuilder___PMethid___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 1069, LOCATE_mmbuilder___PMethid___accept_property_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
-  variable2 = NEW_mmbuilder___MethidAccumulator___init(); /*new MethidAccumulator*/
+  variable2 = NEW_MethidAccumulator_mmbuilder___MethidAccumulator___init(); /*new MethidAccumulator*/
   variable1 = variable2;
   ((mmbuilder___MethidAccumulator___visit_t)CALL( variable1 /*accumulator*/,COLOR_parser_prod___Visitor___visit))( variable1 /*accumulator*/,  self) /*MethidAccumulator::visit*/;
   variable2 = ((mmbuilder___MethidAccumulator___name_t)CALL( variable1 /*accumulator*/,COLOR_mmbuilder___MethidAccumulator___name))( variable1 /*accumulator*/) /*MethidAccumulator::name*/;
@@ -3140,17 +3496,17 @@ void mmbuilder___PMethid___accept_property_builder(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___PSignature___check_visibility(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 963, LOCATE_mmbuilder___PSignature___check_visibility};
+  struct trace_t trace = {NULL, NULL, 1079, LOCATE_mmbuilder___PSignature___check_visibility};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___PMethid___accept_property_builder, LOCATE_mmbuilder, 963);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___PMethid___accept_property_builder, LOCATE_mmbuilder, 1079);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 968, LOCATE_mmbuilder___ASignature___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 1084, LOCATE_mmbuilder___ASignature___accept_property_verifier};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -3177,9 +3533,9 @@ void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param
     if (UNTAG_Bool(variable1)) { /*if*/
       variable1 = ((mmbuilder___PropertyVerifierVisitor___untyped_params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params))( variable0 /*v*/) /*PropertyVerifierVisitor::untyped_params*/;
       variable1 = ((abstract_collection___IndexedCollection___first_t)CALL(variable1,COLOR_abstract_collection___Collection___first))(variable1) /*IndexedCollection::first*/;
-      variable2 = NEW_string___String___with_native(BOX_NativeString("Syntax error: untyped parameter."), TAG_Int(32)); /*new String*/
+      variable2 = NEW_String_string___String___with_native(BOX_NativeString("Syntax error: untyped parameter."), TAG_Int(32)); /*new String*/
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable1, variable2) /*AbsSyntaxVisitor::error*/;
-      goto return_label103;
+      goto return_label114;
     }
   } else { /*if*/
     variable1 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
@@ -3190,7 +3546,7 @@ void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param
       variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
     }
     if (UNTAG_Bool(variable1)) { /*if*/
-      variable2 = NEW_array___Array___init(); /*new Array[E]*/
+      variable2 = NEW_Array_array___Array___init(); /*new Array[MMType]*/
       variable1 = variable2;
       variable2 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
       variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*AbstractArray::iterator*/;
@@ -3200,10 +3556,10 @@ void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param
         variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
         variable4 = ((mmbuilder___PParam___stype_t)CALL( variable3 /*p*/,COLOR_mmbuilder___PParam___stype))( variable3 /*p*/) /*PParam::stype*/;
         ((array___AbstractArray___add_t)CALL( variable1 /*pars*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*pars*/, variable4) /*AbstractArray::add*/;
-        continue_104: while(0);
+        continue_115: while(0);
         ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
       }
-      break_104: while(0);
+      break_115: while(0);
       variable2 =  NIT_NULL /*null*/;
       variable3 = ((parser_nodes___ASignature___n_type_t)CALL( self,COLOR_parser_nodes___ASignature___n_type))( self) /*ASignature::n_type*/;
       variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 ==  NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3214,7 +3570,7 @@ void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param
       }
       variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
       variable3 = ((genericity___MMLocalClass___get_type_t)CALL(variable3,COLOR_static_type___MMLocalClass___get_type))(variable3) /*MMLocalClass::get_type*/;
-      variable4 = NEW_static_type___MMSignature___init( variable1 /*pars*/,  variable2 /*ret*/, variable3); /*new MMSignature*/
+      variable4 = NEW_MMSignature_static_type___MMSignature___init( variable1 /*pars*/,  variable2 /*ret*/, variable3); /*new MMSignature*/
       variable3 = variable4;
       ((mmbuilder___PropertyVerifierVisitor___signature__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature__eq))( variable0 /*v*/, variable3) /*PropertyVerifierVisitor::signature=*/;
       variable3 = ((mmbuilder___PropertyVerifierVisitor___vararg_rank_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___vararg_rank))( variable0 /*v*/) /*PropertyVerifierVisitor::vararg_rank*/;
@@ -3226,12 +3582,12 @@ void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param
       }
     }
   }
-  return_label103: while(false);
+  return_label114: while(false);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ASignature___check_visibility(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 992, LOCATE_mmbuilder___ASignature___check_visibility};
+  struct trace_t trace = {NULL, NULL, 1108, LOCATE_mmbuilder___ASignature___check_visibility};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3245,7 +3601,7 @@ void mmbuilder___ASignature___check_visibility(val_t  self, val_t  param0, val_t
   variable2 = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL(variable2,COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))(variable2) /*MMGlobalProperty::visibility_level*/;
   variable2 = TAG_Bool(UNTAG_Int(variable2)>=UNTAG_Int( TAG_Int(3)));
   if (UNTAG_Bool(variable2)) { /*if*/
-    goto return_label105;
+    goto return_label116;
   }
   variable2 = ((parser_nodes___ASignature___n_params_t)CALL( self,COLOR_parser_nodes___ASignature___n_params))( self) /*ASignature::n_params*/;
   variable2 = ((list___List___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*List::iterator*/;
@@ -3259,43 +3615,43 @@ void mmbuilder___ASignature___check_visibility(val_t  self, val_t  param0, val_t
       variable4 = ((parser_nodes___PParam___n_type_t)CALL( variable3 /*n*/,COLOR_parser_nodes___PParam___n_type))( variable3 /*n*/) /*PParam::n_type*/;
       ((mmbuilder___PType___check_visibility_t)CALL(variable4,COLOR_mmbuilder___PType___check_visibility))(variable4,  variable0 /*v*/,  variable1 /*p*/) /*PType::check_visibility*/;
     }
-    continue_106: while(0);
+    continue_117: while(0);
     ((list___ListIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ListIterator::next*/;
   }
-  break_106: while(0);
+  break_117: while(0);
   variable2 = ((parser_nodes___ASignature___n_type_t)CALL( self,COLOR_parser_nodes___ASignature___n_type))( self) /*ASignature::n_type*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable2 = ((parser_nodes___ASignature___n_type_t)CALL( self,COLOR_parser_nodes___ASignature___n_type))( self) /*ASignature::n_type*/;
     ((mmbuilder___PType___check_visibility_t)CALL(variable2,COLOR_mmbuilder___PType___check_visibility))(variable2,  variable0 /*v*/,  variable1 /*p*/) /*PType::check_visibility*/;
   }
-  return_label105: while(false);
+  return_label116: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___PParam___position(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1003, LOCATE_mmbuilder___PParam___position};
+  struct trace_t trace = {NULL, NULL, 1119, LOCATE_mmbuilder___PParam___position};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PParam____position( self) /*PParam::_position*/;
 }
 val_t mmbuilder___PParam___variable(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1005, LOCATE_mmbuilder___PParam___variable};
+  struct trace_t trace = {NULL, NULL, 1121, LOCATE_mmbuilder___PParam___variable};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PParam____variable( self) /*PParam::_variable*/;
 }
 val_t mmbuilder___PParam___stype(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1007, LOCATE_mmbuilder___PParam___stype};
+  struct trace_t trace = {NULL, NULL, 1123, LOCATE_mmbuilder___PParam___stype};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PParam____stype( self) /*PParam::_stype*/;
 }
 void mmbuilder___PParam___stype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1007, LOCATE_mmbuilder___PParam___stype__eq};
+  struct trace_t trace = {NULL, NULL, 1123, LOCATE_mmbuilder___PParam___stype__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___PParam____stype( self) /*PParam::_stype*/ =  param0;
@@ -3303,7 +3659,7 @@ void mmbuilder___PParam___stype__eq(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1010, LOCATE_mmbuilder___PParam___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 1126, LOCATE_mmbuilder___PParam___accept_property_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3319,7 +3675,7 @@ void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0) {
   ATTR_mmbuilder___PParam____position( self) /*PParam::_position*/ = variable1;
   variable1 = ((parser_nodes___PParam___n_id_t)CALL( self,COLOR_parser_nodes___PParam___n_id))( self) /*PParam::n_id*/;
   variable1 = ((syntax_base___Token___to_symbol_t)CALL(variable1,COLOR_syntax_base___Token___to_symbol))(variable1) /*Token::to_symbol*/;
-  variable2 = NEW_syntax_base___Variable___init(variable1,  self); /*new Variable*/
+  variable2 = NEW_Variable_syntax_base___Variable___init(variable1,  self); /*new Variable*/
   variable1 = variable2;
   ATTR_mmbuilder___PParam____variable( self) /*PParam::_variable*/ = variable1;
   variable1 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
@@ -3348,7 +3704,7 @@ void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0) {
           variable4 = ((mmbuilder___PParam___position_t)CALL( variable3 /*p*/,COLOR_syntax_base___PParam___position))( variable3 /*p*/) /*PParam::position*/;
           ((mmbuilder___PropertyVerifierVisitor___vararg_rank__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___vararg_rank__eq))( variable0 /*v*/, variable4) /*PropertyVerifierVisitor::vararg_rank=*/;
         } else { /*if*/
-          variable4 = NEW_string___String___with_native(BOX_NativeString("Error: A vararg parameter is already defined."), TAG_Int(45)); /*new String*/
+          variable4 = NEW_String_string___String___with_native(BOX_NativeString("Error: A vararg parameter is already defined."), TAG_Int(45)); /*new String*/
           ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
         }
         variable4 = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable0 /*v*/,  variable1 /*stype*/) /*AbsSyntaxVisitor::type_array*/;
@@ -3356,10 +3712,10 @@ void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0) {
       }
       variable4 = ((mmbuilder___PParam___variable_t)CALL( variable3 /*p*/,COLOR_syntax_base___PParam___variable))( variable3 /*p*/) /*PParam::variable*/;
       ((syntax_base___Variable___stype__eq_t)CALL(variable4,COLOR_syntax_base___Variable___stype__eq))(variable4,  variable1 /*stype*/) /*Variable::stype=*/;
-      continue_108: while(0);
+      continue_119: while(0);
       ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
     }
-    break_108: while(0);
+    break_119: while(0);
     variable2 = ((mmbuilder___PropertyVerifierVisitor___untyped_params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params))( variable0 /*v*/) /*PropertyVerifierVisitor::untyped_params*/;
     ((array___AbstractArray___clear_t)CALL(variable2,COLOR_abstract_collection___RemovableCollection___clear))(variable2) /*AbstractArray::clear*/;
   }
@@ -3367,39 +3723,39 @@ void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0) {
   return;
 }
 val_t mmbuilder___PParam___is_vararg(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1035, LOCATE_mmbuilder___PParam___is_vararg};
+  struct trace_t trace = {NULL, NULL, 1151, LOCATE_mmbuilder___PParam___is_vararg};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___PParam___accept_property_verifier, LOCATE_mmbuilder, 1035);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___PParam___accept_property_verifier, LOCATE_mmbuilder, 1151);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmbuilder___AParam___is_vararg(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1039, LOCATE_mmbuilder___AParam___is_vararg};
+  struct trace_t trace = {NULL, NULL, 1155, LOCATE_mmbuilder___AParam___is_vararg};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AParam___n_dotdotdot_t)CALL( self,COLOR_parser_nodes___AParam___n_dotdotdot))( self) /*AParam::n_dotdotdot*/;
   variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  goto return_label109;
-  return_label109: while(false);
+  goto return_label120;
+  return_label120: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void mmbuilder___PType___check_visibility(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1043, LOCATE_mmbuilder___PType___check_visibility};
+  struct trace_t trace = {NULL, NULL, 1159, LOCATE_mmbuilder___PType___check_visibility};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___AParam___is_vararg, LOCATE_mmbuilder, 1043);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___AParam___is_vararg, LOCATE_mmbuilder, 1159);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___AType___check_visibility(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1048, LOCATE_mmbuilder___AType___check_visibility};
+  struct trace_t trace = {NULL, NULL, 1164, LOCATE_mmbuilder___AType___check_visibility};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3421,38 +3777,38 @@ void mmbuilder___AType___check_visibility(val_t  self, val_t  param0, val_t  par
   variable2 = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL(variable2,COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))(variable2) /*MMGlobalProperty::visibility_level*/;
   variable2 = TAG_Bool(UNTAG_Int(variable2)>=UNTAG_Int( TAG_Int(3)));
   if (UNTAG_Bool(variable2)) { /*if*/
-    goto return_label110;
+    goto return_label121;
   }
   variable3 = ((syntax_base___AType___get_stype_t)CALL( self,COLOR_syntax_base___PType___get_stype))( self,  variable0 /*v*/) /*AType::get_stype*/;
   variable2 = variable3;
   variable3 = TAG_Bool(( variable2 /*t*/ ==  NIT_NULL /*null*/) || (( variable2 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*t*/,COLOR_kernel___Object_____eqeq))( variable2 /*t*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    goto return_label110;
+    goto return_label121;
   }
   variable4 = ((static_type___MMType___local_class_t)CALL( variable2 /*t*/,COLOR_static_type___MMType___local_class))( variable2 /*t*/) /*MMType::local_class*/;
   variable3 = variable4;
   variable4 = TAG_Bool(( variable3 /*bc*/ ==  NIT_NULL /*null*/) || (( variable3 /*bc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*bc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*bc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*bc*/,COLOR_kernel___Object_____eqeq))( variable3 /*bc*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    goto return_label110;
+    goto return_label121;
   }
   variable4 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable3 /*bc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable3 /*bc*/) /*MMLocalClass::global*/;
   variable4 = ((abstractmetamodel___MMGlobalClass___visibility_level_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalClass___visibility_level))(variable4) /*MMGlobalClass::visibility_level*/;
   variable4 = TAG_Bool(UNTAG_Int(variable4)>=UNTAG_Int( TAG_Int(3)));
   if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = NEW_string___String___init(); /*new String*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("Access error: Class "), TAG_Int(20)); /*new String*/
+    variable4 = NEW_String_string___String___init(); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("Access error: Class "), TAG_Int(20)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
     variable7 =  variable3 /*bc*/;
     variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(" is private and cannot be used in the signature of the non-private property "), TAG_Int(76)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString(" is private and cannot be used in the signature of the non-private property "), TAG_Int(76)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
     variable10 =  variable1 /*p*/;
     variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
@@ -3464,16 +3820,16 @@ void mmbuilder___AType___check_visibility(val_t  self, val_t  param0, val_t  par
     if (!UNTAG_Bool(variable5)) break; /*for*/
     variable5 = ((list___ListIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ListIterator::item*/;
     ((mmbuilder___PType___check_visibility_t)CALL( variable5 /*n*/,COLOR_mmbuilder___PType___check_visibility))( variable5 /*n*/,  variable0 /*v*/,  variable1 /*p*/) /*PType::check_visibility*/;
-    continue_111: while(0);
+    continue_122: while(0);
     ((list___ListIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ListIterator::next*/;
   }
-  break_111: while(0);
-  return_label110: while(false);
+  break_122: while(0);
+  return_label121: while(false);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PExpr___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1065, LOCATE_mmbuilder___PExpr___accept_class_builder};
+  struct trace_t trace = {NULL, NULL, 1181, LOCATE_mmbuilder___PExpr___accept_class_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -3482,7 +3838,7 @@ void mmbuilder___PExpr___accept_class_builder(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___PExpr___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1066, LOCATE_mmbuilder___PExpr___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 1182, LOCATE_mmbuilder___PExpr___accept_property_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
@@ -3491,7 +3847,7 @@ void mmbuilder___PExpr___accept_property_builder(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___PExpr___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1067, LOCATE_mmbuilder___PExpr___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 1183, LOCATE_mmbuilder___PExpr___accept_property_verifier};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_mmbuilder;
index d84fe59..c79ebba 100644 (file)
@@ -32,130 +32,135 @@ extern const int SFT_mmbuilder[];
 #define COLOR_mmbuilder___MMSrcModule___do_mmbuilder SFT_mmbuilder[4]
 #define COLOR_mmbuilder___MMLocalClass___accept_class_visitor SFT_mmbuilder[5]
 #define COLOR_mmbuilder___MMLocalClass___accept_properties_visitor SFT_mmbuilder[6]
-#define COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property SFT_mmbuilder[7]
-#define COLOR_mmbuilder___MMLocalProperty___accept_property_visitor SFT_mmbuilder[8]
-#define ID_MMSrcAncestor SFT_mmbuilder[9]
-#define COLOR_MMSrcAncestor SFT_mmbuilder[10]
-#define COLOR_mmbuilder___MMSrcAncestor____node SFT_mmbuilder[11]
-#define COLOR_mmbuilder___MMSrcAncestor____local_class SFT_mmbuilder[12]
-#define INIT_TABLE_POS_MMSrcAncestor SFT_mmbuilder[13]
-#define COLOR_mmbuilder___MMSrcAncestor___node SFT_mmbuilder[14]
-#define COLOR_mmbuilder___MMSrcAncestor___init SFT_mmbuilder[15]
-#define ID_ClassBuilderVisitor SFT_mmbuilder[16]
-#define COLOR_ClassBuilderVisitor SFT_mmbuilder[17]
-#define COLOR_mmbuilder___ClassBuilderVisitor____local_class_arity SFT_mmbuilder[18]
-#define COLOR_mmbuilder___ClassBuilderVisitor____formals SFT_mmbuilder[19]
-#define INIT_TABLE_POS_ClassBuilderVisitor SFT_mmbuilder[20]
-#define COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity SFT_mmbuilder[21]
-#define COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity__eq SFT_mmbuilder[22]
-#define COLOR_mmbuilder___ClassBuilderVisitor___formals SFT_mmbuilder[23]
-#define COLOR_mmbuilder___ClassBuilderVisitor___formals__eq SFT_mmbuilder[24]
-#define COLOR_mmbuilder___ClassBuilderVisitor___init SFT_mmbuilder[25]
-#define ID_ClassSpecializationBuilderVisitor SFT_mmbuilder[26]
-#define COLOR_ClassSpecializationBuilderVisitor SFT_mmbuilder[27]
-#define INIT_TABLE_POS_ClassSpecializationBuilderVisitor SFT_mmbuilder[28]
-#define COLOR_mmbuilder___ClassSpecializationBuilderVisitor___init SFT_mmbuilder[29]
-#define ID_ClassAncestorBuilder SFT_mmbuilder[30]
-#define COLOR_ClassAncestorBuilder SFT_mmbuilder[31]
-#define INIT_TABLE_POS_ClassAncestorBuilder SFT_mmbuilder[32]
-#define COLOR_mmbuilder___ClassAncestorBuilder___init SFT_mmbuilder[33]
-#define ID_ClassVerifierVisitor SFT_mmbuilder[34]
-#define COLOR_ClassVerifierVisitor SFT_mmbuilder[35]
-#define INIT_TABLE_POS_ClassVerifierVisitor SFT_mmbuilder[36]
-#define COLOR_mmbuilder___ClassVerifierVisitor___init SFT_mmbuilder[37]
-#define ID_PropertyBuilderVisitor SFT_mmbuilder[38]
-#define COLOR_PropertyBuilderVisitor SFT_mmbuilder[39]
-#define INIT_TABLE_POS_PropertyBuilderVisitor SFT_mmbuilder[40]
-#define COLOR_mmbuilder___PropertyBuilderVisitor___init SFT_mmbuilder[41]
-#define ID_PropertyVerifierVisitor SFT_mmbuilder[42]
-#define COLOR_PropertyVerifierVisitor SFT_mmbuilder[43]
-#define COLOR_mmbuilder___PropertyVerifierVisitor____params SFT_mmbuilder[44]
-#define COLOR_mmbuilder___PropertyVerifierVisitor____untyped_params SFT_mmbuilder[45]
-#define COLOR_mmbuilder___PropertyVerifierVisitor____vararg_rank SFT_mmbuilder[46]
-#define COLOR_mmbuilder___PropertyVerifierVisitor____signature SFT_mmbuilder[47]
-#define INIT_TABLE_POS_PropertyVerifierVisitor SFT_mmbuilder[48]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___params SFT_mmbuilder[49]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___params__eq SFT_mmbuilder[50]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params SFT_mmbuilder[51]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params__eq SFT_mmbuilder[52]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___vararg_rank SFT_mmbuilder[53]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___vararg_rank__eq SFT_mmbuilder[54]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___signature SFT_mmbuilder[55]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___signature__eq SFT_mmbuilder[56]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___init SFT_mmbuilder[57]
-#define COLOR_mmbuilder___PNode___accept_class_builder SFT_mmbuilder[58]
-#define COLOR_mmbuilder___PNode___accept_class_specialization_builder SFT_mmbuilder[59]
-#define COLOR_mmbuilder___PNode___accept_class_ancestor_builder SFT_mmbuilder[60]
-#define COLOR_mmbuilder___PNode___accept_class_verifier SFT_mmbuilder[61]
-#define COLOR_mmbuilder___PNode___accept_property_builder SFT_mmbuilder[62]
-#define COLOR_mmbuilder___PNode___accept_property_verifier SFT_mmbuilder[63]
-#define COLOR_mmbuilder___AModule___import_super_modules SFT_mmbuilder[64]
-#define COLOR_mmbuilder___PImport___module_name SFT_mmbuilder[65]
-#define COLOR_mmbuilder___PImport___visibility_level SFT_mmbuilder[66]
-#define COLOR_mmbuilder___PVisibility___level SFT_mmbuilder[67]
-#define COLOR_mmbuilder___PClassdef____local_class SFT_mmbuilder[68]
-#define COLOR_mmbuilder___PClassdef___name SFT_mmbuilder[69]
-#define COLOR_mmbuilder___PClassdef___arity SFT_mmbuilder[70]
-#define COLOR_mmbuilder___PClassdef___visibility_level SFT_mmbuilder[71]
-#define COLOR_SUPER_mmbuilder___PClassdef___accept_class_builder SFT_mmbuilder[72]
-#define COLOR_SUPER_mmbuilder___PClassdef___accept_abs_syntax_visitor SFT_mmbuilder[73]
-#define COLOR_mmbuilder___PClasskind___is_interface SFT_mmbuilder[74]
-#define COLOR_mmbuilder___PClasskind___is_universal SFT_mmbuilder[75]
-#define COLOR_mmbuilder___PClasskind___is_abstract SFT_mmbuilder[76]
-#define COLOR_SUPER_mmbuilder___AClassdef___accept_class_verifier SFT_mmbuilder[77]
-#define ID_MMSrcTypeFormalParameter SFT_mmbuilder[78]
-#define COLOR_MMSrcTypeFormalParameter SFT_mmbuilder[79]
-#define COLOR_mmbuilder___MMSrcTypeFormalParameter____node SFT_mmbuilder[80]
-#define INIT_TABLE_POS_MMSrcTypeFormalParameter SFT_mmbuilder[81]
-#define COLOR_mmbuilder___MMSrcTypeFormalParameter___node SFT_mmbuilder[82]
-#define COLOR_mmbuilder___MMSrcTypeFormalParameter___init SFT_mmbuilder[83]
-#define COLOR_mmbuilder___AFormaldef____formal SFT_mmbuilder[84]
-#define COLOR_SUPER_mmbuilder___AFormaldef___accept_class_builder SFT_mmbuilder[85]
-#define COLOR_SUPER_mmbuilder___AFormaldef___accept_class_verifier SFT_mmbuilder[86]
-#define COLOR_mmbuilder___ASuperclass____ancestor SFT_mmbuilder[87]
-#define COLOR_mmbuilder___ASuperclass___ancestor SFT_mmbuilder[88]
-#define COLOR_SUPER_mmbuilder___ASuperclass___accept_class_specialization_builder SFT_mmbuilder[89]
-#define COLOR_SUPER_mmbuilder___ASuperclass___accept_class_ancestor_builder SFT_mmbuilder[90]
-#define COLOR_SUPER_mmbuilder___ASuperclass___accept_class_verifier SFT_mmbuilder[91]
-#define COLOR_mmbuilder___PPropdef___process_and_check SFT_mmbuilder[92]
-#define COLOR_mmbuilder___PPropdef___do_and_check_intro SFT_mmbuilder[93]
-#define COLOR_mmbuilder___PPropdef___inherit_signature SFT_mmbuilder[94]
-#define COLOR_mmbuilder___PPropdef___do_and_check_redef SFT_mmbuilder[95]
-#define COLOR_mmbuilder___AAttrPropdef____readmethod SFT_mmbuilder[96]
-#define COLOR_mmbuilder___AAttrPropdef____writemethod SFT_mmbuilder[97]
-#define COLOR_mmbuilder___AAttrPropdef____prop SFT_mmbuilder[98]
-#define COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_builder SFT_mmbuilder[99]
-#define COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier SFT_mmbuilder[100]
-#define COLOR_SUPER_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor SFT_mmbuilder[101]
-#define COLOR_mmbuilder___AMethPropdef____name SFT_mmbuilder[102]
-#define COLOR_mmbuilder___AMethPropdef____method SFT_mmbuilder[103]
-#define COLOR_mmbuilder___AMethPropdef___name SFT_mmbuilder[104]
-#define COLOR_SUPER_mmbuilder___AMethPropdef___accept_property_builder SFT_mmbuilder[105]
-#define COLOR_SUPER_mmbuilder___AMethPropdef___accept_property_verifier SFT_mmbuilder[106]
-#define COLOR_SUPER_mmbuilder___AMethPropdef___accept_abs_syntax_visitor SFT_mmbuilder[107]
-#define COLOR_mmbuilder___ATypePropdef____prop SFT_mmbuilder[108]
-#define COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_builder SFT_mmbuilder[109]
-#define COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_verifier SFT_mmbuilder[110]
-#define COLOR_SUPER_mmbuilder___ATypePropdef___accept_abs_syntax_visitor SFT_mmbuilder[111]
-#define ID_MethidAccumulator SFT_mmbuilder[112]
-#define COLOR_MethidAccumulator SFT_mmbuilder[113]
-#define COLOR_mmbuilder___MethidAccumulator____name SFT_mmbuilder[114]
-#define INIT_TABLE_POS_MethidAccumulator SFT_mmbuilder[115]
-#define COLOR_mmbuilder___MethidAccumulator___name SFT_mmbuilder[116]
-#define COLOR_mmbuilder___MethidAccumulator___init SFT_mmbuilder[117]
-#define COLOR_mmbuilder___PMethid____name SFT_mmbuilder[118]
-#define COLOR_mmbuilder___PMethid___name SFT_mmbuilder[119]
-#define COLOR_SUPER_mmbuilder___PMethid___accept_property_builder SFT_mmbuilder[120]
-#define COLOR_mmbuilder___PSignature___check_visibility SFT_mmbuilder[121]
-#define COLOR_SUPER_mmbuilder___ASignature___accept_property_verifier SFT_mmbuilder[122]
-#define COLOR_mmbuilder___PParam____position SFT_mmbuilder[123]
-#define COLOR_mmbuilder___PParam____variable SFT_mmbuilder[124]
-#define COLOR_mmbuilder___PParam____stype SFT_mmbuilder[125]
-#define COLOR_mmbuilder___PParam___stype SFT_mmbuilder[126]
-#define COLOR_mmbuilder___PParam___stype__eq SFT_mmbuilder[127]
-#define COLOR_SUPER_mmbuilder___PParam___accept_property_verifier SFT_mmbuilder[128]
-#define COLOR_mmbuilder___PParam___is_vararg SFT_mmbuilder[129]
-#define COLOR_mmbuilder___PType___check_visibility SFT_mmbuilder[130]
+#define COLOR_mmbuilder___MMSrcLocalClass____is_mixin SFT_mmbuilder[7]
+#define COLOR_mmbuilder___MMSrcLocalClass___is_mixin SFT_mmbuilder[8]
+#define COLOR_mmbuilder___MMSrcLocalClass___process_default_constructors SFT_mmbuilder[9]
+#define COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property SFT_mmbuilder[10]
+#define COLOR_mmbuilder___MMLocalProperty___accept_property_visitor SFT_mmbuilder[11]
+#define COLOR_mmbuilder___MMImplicitInit____super_init SFT_mmbuilder[12]
+#define COLOR_mmbuilder___MMImplicitInit___super_init SFT_mmbuilder[13]
+#define ID_MMSrcAncestor SFT_mmbuilder[14]
+#define COLOR_MMSrcAncestor SFT_mmbuilder[15]
+#define COLOR_mmbuilder___MMSrcAncestor____node SFT_mmbuilder[16]
+#define COLOR_mmbuilder___MMSrcAncestor____local_class SFT_mmbuilder[17]
+#define INIT_TABLE_POS_MMSrcAncestor SFT_mmbuilder[18]
+#define COLOR_mmbuilder___MMSrcAncestor___node SFT_mmbuilder[19]
+#define COLOR_mmbuilder___MMSrcAncestor___init SFT_mmbuilder[20]
+#define ID_ClassBuilderVisitor SFT_mmbuilder[21]
+#define COLOR_ClassBuilderVisitor SFT_mmbuilder[22]
+#define COLOR_mmbuilder___ClassBuilderVisitor____local_class_arity SFT_mmbuilder[23]
+#define COLOR_mmbuilder___ClassBuilderVisitor____formals SFT_mmbuilder[24]
+#define INIT_TABLE_POS_ClassBuilderVisitor SFT_mmbuilder[25]
+#define COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity SFT_mmbuilder[26]
+#define COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity__eq SFT_mmbuilder[27]
+#define COLOR_mmbuilder___ClassBuilderVisitor___formals SFT_mmbuilder[28]
+#define COLOR_mmbuilder___ClassBuilderVisitor___formals__eq SFT_mmbuilder[29]
+#define COLOR_mmbuilder___ClassBuilderVisitor___init SFT_mmbuilder[30]
+#define ID_ClassSpecializationBuilderVisitor SFT_mmbuilder[31]
+#define COLOR_ClassSpecializationBuilderVisitor SFT_mmbuilder[32]
+#define INIT_TABLE_POS_ClassSpecializationBuilderVisitor SFT_mmbuilder[33]
+#define COLOR_mmbuilder___ClassSpecializationBuilderVisitor___init SFT_mmbuilder[34]
+#define ID_ClassAncestorBuilder SFT_mmbuilder[35]
+#define COLOR_ClassAncestorBuilder SFT_mmbuilder[36]
+#define INIT_TABLE_POS_ClassAncestorBuilder SFT_mmbuilder[37]
+#define COLOR_mmbuilder___ClassAncestorBuilder___init SFT_mmbuilder[38]
+#define ID_ClassVerifierVisitor SFT_mmbuilder[39]
+#define COLOR_ClassVerifierVisitor SFT_mmbuilder[40]
+#define INIT_TABLE_POS_ClassVerifierVisitor SFT_mmbuilder[41]
+#define COLOR_mmbuilder___ClassVerifierVisitor___init SFT_mmbuilder[42]
+#define ID_PropertyBuilderVisitor SFT_mmbuilder[43]
+#define COLOR_PropertyBuilderVisitor SFT_mmbuilder[44]
+#define INIT_TABLE_POS_PropertyBuilderVisitor SFT_mmbuilder[45]
+#define COLOR_mmbuilder___PropertyBuilderVisitor___init SFT_mmbuilder[46]
+#define ID_PropertyVerifierVisitor SFT_mmbuilder[47]
+#define COLOR_PropertyVerifierVisitor SFT_mmbuilder[48]
+#define COLOR_mmbuilder___PropertyVerifierVisitor____params SFT_mmbuilder[49]
+#define COLOR_mmbuilder___PropertyVerifierVisitor____untyped_params SFT_mmbuilder[50]
+#define COLOR_mmbuilder___PropertyVerifierVisitor____vararg_rank SFT_mmbuilder[51]
+#define COLOR_mmbuilder___PropertyVerifierVisitor____signature SFT_mmbuilder[52]
+#define INIT_TABLE_POS_PropertyVerifierVisitor SFT_mmbuilder[53]
+#define COLOR_mmbuilder___PropertyVerifierVisitor___params SFT_mmbuilder[54]
+#define COLOR_mmbuilder___PropertyVerifierVisitor___params__eq SFT_mmbuilder[55]
+#define COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params SFT_mmbuilder[56]
+#define COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params__eq SFT_mmbuilder[57]
+#define COLOR_mmbuilder___PropertyVerifierVisitor___vararg_rank SFT_mmbuilder[58]
+#define COLOR_mmbuilder___PropertyVerifierVisitor___vararg_rank__eq SFT_mmbuilder[59]
+#define COLOR_mmbuilder___PropertyVerifierVisitor___signature SFT_mmbuilder[60]
+#define COLOR_mmbuilder___PropertyVerifierVisitor___signature__eq SFT_mmbuilder[61]
+#define COLOR_mmbuilder___PropertyVerifierVisitor___init SFT_mmbuilder[62]
+#define COLOR_mmbuilder___PNode___accept_class_builder SFT_mmbuilder[63]
+#define COLOR_mmbuilder___PNode___accept_class_specialization_builder SFT_mmbuilder[64]
+#define COLOR_mmbuilder___PNode___accept_class_ancestor_builder SFT_mmbuilder[65]
+#define COLOR_mmbuilder___PNode___accept_class_verifier SFT_mmbuilder[66]
+#define COLOR_mmbuilder___PNode___accept_property_builder SFT_mmbuilder[67]
+#define COLOR_mmbuilder___PNode___accept_property_verifier SFT_mmbuilder[68]
+#define COLOR_mmbuilder___AModule___import_super_modules SFT_mmbuilder[69]
+#define COLOR_mmbuilder___PImport___module_name SFT_mmbuilder[70]
+#define COLOR_mmbuilder___PImport___visibility_level SFT_mmbuilder[71]
+#define COLOR_mmbuilder___PVisibility___level SFT_mmbuilder[72]
+#define COLOR_mmbuilder___PClassdef____local_class SFT_mmbuilder[73]
+#define COLOR_mmbuilder___PClassdef___name SFT_mmbuilder[74]
+#define COLOR_mmbuilder___PClassdef___arity SFT_mmbuilder[75]
+#define COLOR_mmbuilder___PClassdef___visibility_level SFT_mmbuilder[76]
+#define COLOR_SUPER_mmbuilder___PClassdef___accept_class_builder SFT_mmbuilder[77]
+#define COLOR_SUPER_mmbuilder___PClassdef___accept_abs_syntax_visitor SFT_mmbuilder[78]
+#define COLOR_mmbuilder___PClasskind___is_interface SFT_mmbuilder[79]
+#define COLOR_mmbuilder___PClasskind___is_universal SFT_mmbuilder[80]
+#define COLOR_mmbuilder___PClasskind___is_abstract SFT_mmbuilder[81]
+#define COLOR_SUPER_mmbuilder___AClassdef___accept_class_verifier SFT_mmbuilder[82]
+#define ID_MMSrcTypeFormalParameter SFT_mmbuilder[83]
+#define COLOR_MMSrcTypeFormalParameter SFT_mmbuilder[84]
+#define COLOR_mmbuilder___MMSrcTypeFormalParameter____node SFT_mmbuilder[85]
+#define INIT_TABLE_POS_MMSrcTypeFormalParameter SFT_mmbuilder[86]
+#define COLOR_mmbuilder___MMSrcTypeFormalParameter___node SFT_mmbuilder[87]
+#define COLOR_mmbuilder___MMSrcTypeFormalParameter___init SFT_mmbuilder[88]
+#define COLOR_mmbuilder___AFormaldef____formal SFT_mmbuilder[89]
+#define COLOR_SUPER_mmbuilder___AFormaldef___accept_class_builder SFT_mmbuilder[90]
+#define COLOR_SUPER_mmbuilder___AFormaldef___accept_class_verifier SFT_mmbuilder[91]
+#define COLOR_mmbuilder___ASuperclass____ancestor SFT_mmbuilder[92]
+#define COLOR_mmbuilder___ASuperclass___ancestor SFT_mmbuilder[93]
+#define COLOR_SUPER_mmbuilder___ASuperclass___accept_class_specialization_builder SFT_mmbuilder[94]
+#define COLOR_SUPER_mmbuilder___ASuperclass___accept_class_ancestor_builder SFT_mmbuilder[95]
+#define COLOR_SUPER_mmbuilder___ASuperclass___accept_class_verifier SFT_mmbuilder[96]
+#define COLOR_mmbuilder___PPropdef___process_and_check SFT_mmbuilder[97]
+#define COLOR_mmbuilder___PPropdef___do_and_check_intro SFT_mmbuilder[98]
+#define COLOR_mmbuilder___PPropdef___inherit_signature SFT_mmbuilder[99]
+#define COLOR_mmbuilder___PPropdef___do_and_check_redef SFT_mmbuilder[100]
+#define COLOR_mmbuilder___AAttrPropdef____readmethod SFT_mmbuilder[101]
+#define COLOR_mmbuilder___AAttrPropdef____writemethod SFT_mmbuilder[102]
+#define COLOR_mmbuilder___AAttrPropdef____prop SFT_mmbuilder[103]
+#define COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_builder SFT_mmbuilder[104]
+#define COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier SFT_mmbuilder[105]
+#define COLOR_SUPER_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor SFT_mmbuilder[106]
+#define COLOR_mmbuilder___AMethPropdef____name SFT_mmbuilder[107]
+#define COLOR_mmbuilder___AMethPropdef____method SFT_mmbuilder[108]
+#define COLOR_mmbuilder___AMethPropdef___name SFT_mmbuilder[109]
+#define COLOR_SUPER_mmbuilder___AMethPropdef___accept_property_builder SFT_mmbuilder[110]
+#define COLOR_SUPER_mmbuilder___AMethPropdef___accept_property_verifier SFT_mmbuilder[111]
+#define COLOR_SUPER_mmbuilder___AMethPropdef___accept_abs_syntax_visitor SFT_mmbuilder[112]
+#define COLOR_mmbuilder___ATypePropdef____prop SFT_mmbuilder[113]
+#define COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_builder SFT_mmbuilder[114]
+#define COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_verifier SFT_mmbuilder[115]
+#define COLOR_SUPER_mmbuilder___ATypePropdef___accept_abs_syntax_visitor SFT_mmbuilder[116]
+#define ID_MethidAccumulator SFT_mmbuilder[117]
+#define COLOR_MethidAccumulator SFT_mmbuilder[118]
+#define COLOR_mmbuilder___MethidAccumulator____name SFT_mmbuilder[119]
+#define INIT_TABLE_POS_MethidAccumulator SFT_mmbuilder[120]
+#define COLOR_mmbuilder___MethidAccumulator___name SFT_mmbuilder[121]
+#define COLOR_mmbuilder___MethidAccumulator___init SFT_mmbuilder[122]
+#define COLOR_mmbuilder___PMethid____name SFT_mmbuilder[123]
+#define COLOR_mmbuilder___PMethid___name SFT_mmbuilder[124]
+#define COLOR_SUPER_mmbuilder___PMethid___accept_property_builder SFT_mmbuilder[125]
+#define COLOR_mmbuilder___PSignature___check_visibility SFT_mmbuilder[126]
+#define COLOR_SUPER_mmbuilder___ASignature___accept_property_verifier SFT_mmbuilder[127]
+#define COLOR_mmbuilder___PParam____position SFT_mmbuilder[128]
+#define COLOR_mmbuilder___PParam____variable SFT_mmbuilder[129]
+#define COLOR_mmbuilder___PParam____stype SFT_mmbuilder[130]
+#define COLOR_mmbuilder___PParam___stype SFT_mmbuilder[131]
+#define COLOR_mmbuilder___PParam___stype__eq SFT_mmbuilder[132]
+#define COLOR_SUPER_mmbuilder___PParam___accept_property_verifier SFT_mmbuilder[133]
+#define COLOR_mmbuilder___PParam___is_vararg SFT_mmbuilder[134]
+#define COLOR_mmbuilder___PType___check_visibility SFT_mmbuilder[135]
 typedef val_t (* mmbuilder___CSHSorter___compare_t)(val_t  self, val_t  param0, val_t  param1);
 val_t mmbuilder___CSHSorter___compare(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_mmbuilder___CSHSorter___compare "mmbuilder::CSHSorter::(sorter::AbstractSorter::compare)"
@@ -178,12 +183,26 @@ void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t  self, val_t  para
 typedef void (* mmbuilder___MMSrcLocalClass___accept_properties_visitor_t)(val_t  self, val_t  param0);
 void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t  self, val_t  param0);
 #define LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_properties_visitor)"
+#define ATTR_mmbuilder___MMSrcLocalClass____is_mixin(recv) ATTR(recv, COLOR_mmbuilder___MMSrcLocalClass____is_mixin)
+typedef val_t (* mmbuilder___MMSrcLocalClass___is_mixin_t)(val_t  self);
+val_t mmbuilder___MMSrcLocalClass___is_mixin(val_t  self);
+#define LOCATE_mmbuilder___MMSrcLocalClass___is_mixin "mmbuilder::MMSrcLocalClass::is_mixin"
+typedef void (* mmbuilder___MMSrcLocalClass___process_default_constructors_t)(val_t  self, val_t  param0);
+void mmbuilder___MMSrcLocalClass___process_default_constructors(val_t  self, val_t  param0);
+#define LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors "mmbuilder::MMSrcLocalClass::process_default_constructors"
 typedef void (* mmbuilder___MMSrcLocalClass___add_src_local_property_t)(val_t  self, val_t  param0, val_t  param1);
 void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property "mmbuilder::MMSrcLocalClass::add_src_local_property"
 typedef void (* mmbuilder___MMLocalProperty___accept_property_visitor_t)(val_t  self, val_t  param0);
 void mmbuilder___MMLocalProperty___accept_property_visitor(val_t  self, val_t  param0);
 #define LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor "mmbuilder::MMLocalProperty::accept_property_visitor"
+#define ATTR_mmbuilder___MMImplicitInit____super_init(recv) ATTR(recv, COLOR_mmbuilder___MMImplicitInit____super_init)
+typedef val_t (* mmbuilder___MMImplicitInit___super_init_t)(val_t  self);
+val_t mmbuilder___MMImplicitInit___super_init(val_t  self);
+#define LOCATE_mmbuilder___MMImplicitInit___super_init "mmbuilder::MMImplicitInit::super_init"
+typedef void (* mmbuilder___MMImplicitInit___accept_property_visitor_t)(val_t  self, val_t  param0);
+void mmbuilder___MMImplicitInit___accept_property_visitor(val_t  self, val_t  param0);
+#define LOCATE_mmbuilder___MMImplicitInit___accept_property_visitor "mmbuilder::MMImplicitInit::(mmbuilder::MMLocalProperty::accept_property_visitor)"
 #define ATTR_mmbuilder___MMSrcAncestor____node(recv) ATTR(recv, COLOR_mmbuilder___MMSrcAncestor____node)
 typedef val_t (* mmbuilder___MMSrcAncestor___node_t)(val_t  self);
 val_t mmbuilder___MMSrcAncestor___node(val_t  self);
index 97b6e25..cec8ac7 100644 (file)
@@ -28,13 +28,13 @@ void mmloader___ToolContext___error(val_t  self, val_t  param0) {
   trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*Object::stderr*/;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 =  variable0 /*s*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
   ((file___OFStream___write_t)CALL(variable1,COLOR_stream___OStream___write))(variable1, variable2) /*OFStream::write*/;
@@ -63,13 +63,13 @@ void mmloader___ToolContext___warning(val_t  self, val_t  param0) {
     goto return_label1;
   }
   variable1 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*Object::stderr*/;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 =  variable0 /*s*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
   ((file___OFStream___write_t)CALL(variable1,COLOR_stream___OStream___write))(variable1, variable2) /*OFStream::write*/;
@@ -151,7 +151,7 @@ void mmloader___ToolContext___init(val_t  self, int* init_table) {
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ToolContext].i]) return;
   ((abstractmetamodel___MMContext___init_t)CALL( self,COLOR_abstractmetamodel___MMContext___init))( self, init_table /*YYY*/) /*MMContext::init*/;
   variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
-  variable1 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Option]*/
   variable2 = ((mmloader___ToolContext___opt_warn_t)CALL( self,COLOR_mmloader___ToolContext___opt_warn))( self) /*ToolContext::opt_warn*/;
   ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*AbstractArray::add*/;
   variable3 = ((mmloader___ToolContext___opt_path_t)CALL( self,COLOR_mmloader___ToolContext___opt_path))( self) /*ToolContext::opt_path*/;
@@ -187,7 +187,7 @@ void mmloader___ToolContext___process_options(val_t  self) {
   variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
   variable1 = ((string___Object___args_t)CALL( self,COLOR_string___Object___args))( self) /*Object::args*/;
   ((opts___OptionContext___parse_t)CALL(variable0,COLOR_opts___OptionContext___parse))(variable0, variable1) /*OptionContext::parse*/;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[String]*/
   ATTR_mmloader___ToolContext____paths( self) /*ToolContext::_paths*/ = variable0;
   variable0 = ((mmloader___ToolContext___paths_t)CALL( self,COLOR_mmloader___ToolContext___paths))( self) /*ToolContext::paths*/;
   variable1 = ((mmloader___ToolContext___opt_path_t)CALL( self,COLOR_mmloader___ToolContext___opt_path))( self) /*ToolContext::opt_path*/;
@@ -195,7 +195,7 @@ void mmloader___ToolContext___process_options(val_t  self) {
   ((abstract_collection___IndexedCollection___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable1) /*IndexedCollection::append*/;
   if (once_bool_variable1_4) variable1 = once_value_variable1_4;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("NIT_PATH"), TAG_Int(8)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("NIT_PATH"), TAG_Int(8)); /*new String*/
     variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
     variable1 = ((environ___Symbol___environ_t)CALL(variable1,COLOR_environ___Symbol___environ))(variable1) /*Symbol::environ*/;
     once_value_variable1_4 = variable1;
@@ -210,7 +210,7 @@ void mmloader___ToolContext___process_options(val_t  self) {
   }
   if (once_bool_variable1_5) variable1 = once_value_variable1_5;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("NIT_DIR"), TAG_Int(7)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("NIT_DIR"), TAG_Int(7)); /*new String*/
     variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
     variable1 = ((environ___Symbol___environ_t)CALL(variable1,COLOR_environ___Symbol___environ))(variable1) /*Symbol::environ*/;
     once_value_variable1_5 = variable1;
@@ -219,13 +219,13 @@ void mmloader___ToolContext___process_options(val_t  self) {
   variable0 = variable1 /*path_env=*/;
   variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*path_env*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*path_env*/) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 =  variable0 /*path_env*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString("/lib"), TAG_Int(4)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("/lib"), TAG_Int(4)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
     variable1 = variable2;
@@ -235,8 +235,8 @@ void mmloader___ToolContext___process_options(val_t  self) {
       ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable1 /*libname*/) /*AbstractArray::add*/;
     }
   }
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 = (G_sys);
@@ -244,7 +244,7 @@ void mmloader___ToolContext___process_options(val_t  self) {
   variable5 = ((file___String___dirname_t)CALL(variable5,COLOR_file___String___dirname))(variable5) /*String::dirname*/;
   variable6 = variable5;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("/../lib"), TAG_Int(7)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("/../lib"), TAG_Int(7)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
   variable1 = variable2;
@@ -317,14 +317,14 @@ val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  pa
       variable6 = ATTR_mmloader___ToolContext____processing_modules( self) /*ToolContext::_processing_modules*/;
       variable6 = ((hash___HashSet___has_t)CALL(variable6,COLOR_abstract_collection___Collection___has))(variable6,  variable5 /*full_name*/) /*HashSet::has*/;
       if (UNTAG_Bool(variable6)) { /*if*/
-        variable6 = NEW_string___String___init(); /*new String*/
-        variable7 = NEW_string___String___with_native(BOX_NativeString("Error: Dependency loop for module "), TAG_Int(34)); /*new String*/
+        variable6 = NEW_String_string___String___init(); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString("Error: Dependency loop for module "), TAG_Int(34)); /*new String*/
         variable8 = variable7;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
         variable9 =  variable5 /*full_name*/;
         variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-        variable10 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+        variable10 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
         variable11 = variable10;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
         ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable6) /*ToolContext::error*/;
@@ -369,7 +369,7 @@ val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  para
   variable0 =  param0;
   variable2 = ((file___String___dirname_t)CALL( variable0 /*filename*/,COLOR_file___String___dirname))( variable0 /*filename*/) /*String::dirname*/;
   variable1 = variable2;
-  variable3 = NEW_string___String___with_native(BOX_NativeString(".nit"), TAG_Int(4)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString(".nit"), TAG_Int(4)); /*new String*/
   variable3 = ((file___String___basename_t)CALL( variable0 /*filename*/,COLOR_file___String___basename))( variable0 /*filename*/, variable3) /*String::basename*/;
   variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
   variable2 = variable3;
@@ -391,13 +391,13 @@ val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  para
   }
   variable4 = ((file___String___file_exists_t)CALL( variable0 /*filename*/,COLOR_file___String___file_exists))( variable0 /*filename*/) /*String::file_exists*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4)))) { /*if*/
-    variable4 = NEW_string___String___init(); /*new String*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("Error: File "), TAG_Int(12)); /*new String*/
+    variable4 = NEW_String_string___String___init(); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("Error: File "), TAG_Int(12)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
     variable7 =  variable0 /*filename*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(" not found."), TAG_Int(11)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString(" not found."), TAG_Int(11)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
     ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable4) /*ToolContext::error*/;
@@ -411,13 +411,13 @@ val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  para
     variable1 =  variable4 /*m*/;
     goto return_label9;
   }
-  variable5 = NEW_string___String___init(); /*new String*/
-  variable6 = NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
+  variable5 = NEW_String_string___String___init(); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
   variable8 =  variable0 /*filename*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(" is not a NIT source module."), TAG_Int(28)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString(" is not a NIT source module."), TAG_Int(28)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
   ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable5) /*ToolContext::error*/;
@@ -481,14 +481,14 @@ val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  par
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
   break_12: while(0);
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("Error: No ressource found for module "), TAG_Int(37)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("Error: No ressource found for module "), TAG_Int(37)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable0 /*module_name*/;
   variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
   ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable3) /*ToolContext::error*/;
@@ -515,7 +515,7 @@ val_t mmloader___ToolContext___directory_for(val_t  self, val_t  param0) {
     goto return_label13;
   }
   variable2 = ((symbol___String___to_symbol_t)CALL( variable0 /*path*/,COLOR_symbol___String___to_symbol))( variable0 /*path*/) /*String::to_symbol*/;
-  variable3 = NEW_abstractmetamodel___MMDirectory___init(variable2,  variable0 /*path*/,  NIT_NULL /*null*/); /*new MMDirectory*/
+  variable3 = NEW_MMDirectory_abstractmetamodel___MMDirectory___init(variable2,  variable0 /*path*/,  NIT_NULL /*null*/); /*new MMDirectory*/
   variable2 = variable3;
   variable1 = variable2;
   variable2 = ATTR_mmloader___ToolContext____path_dirs( self) /*ToolContext::_path_dirs*/;
@@ -567,20 +567,20 @@ val_t mmloader___ModuleLoader___try_to_load_dir(val_t  self, val_t  param0, val_
   trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 = ((abstractmetamodel___MMDirectory___path_t)CALL( variable1 /*parent_dir*/,COLOR_abstractmetamodel___MMDirectory___path))( variable1 /*parent_dir*/) /*MMDirectory::path*/;
   variable7 = variable6;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
   variable10 =  variable0 /*dirname*/;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
   variable2 = variable3;
@@ -590,7 +590,7 @@ val_t mmloader___ModuleLoader___try_to_load_dir(val_t  self, val_t  param0, val_
     goto return_label15;
   }
   variable4 = ((abstractmetamodel___MMDirectory___full_name_for_t)CALL( variable1 /*parent_dir*/,COLOR_abstractmetamodel___MMDirectory___full_name_for))( variable1 /*parent_dir*/,  variable0 /*dirname*/) /*MMDirectory::full_name_for*/;
-  variable5 = NEW_abstractmetamodel___MMDirectory___init(variable4,  variable2 /*fname*/,  variable1 /*parent_dir*/); /*new MMDirectory*/
+  variable5 = NEW_MMDirectory_abstractmetamodel___MMDirectory___init(variable4,  variable2 /*fname*/,  variable1 /*parent_dir*/); /*new MMDirectory*/
   variable4 = variable5;
   variable3 = variable4;
   variable2 =  variable3 /*dir*/;
@@ -622,26 +622,26 @@ val_t mmloader___ModuleLoader___can_handle(val_t  self, val_t  param0, val_t  pa
   trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 = ((abstractmetamodel___MMDirectory___path_t)CALL( variable1 /*dir*/,COLOR_abstractmetamodel___MMDirectory___path))( variable1 /*dir*/) /*MMDirectory::path*/;
   variable7 = variable6;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
   variable10 =  variable0 /*module_name*/;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
   variable13 = ((mmloader___ModuleLoader___file_type_t)CALL( self,COLOR_mmloader___ModuleLoader___file_type))( self) /*ModuleLoader::file_type*/;
   variable14 = variable13;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable16) /*String::append*/;
   variable2 = variable3;
@@ -681,26 +681,26 @@ val_t mmloader___ModuleLoader___load_and_process_module(val_t  self, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 = ((abstractmetamodel___MMDirectory___path_t)CALL( variable2 /*dir*/,COLOR_abstractmetamodel___MMDirectory___path))( variable2 /*dir*/) /*MMDirectory::path*/;
   variable8 = variable7;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
   variable11 =  variable1 /*module_name*/;
   variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
   variable13 = variable12;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
   variable14 = ((mmloader___ModuleLoader___file_type_t)CALL( self,COLOR_mmloader___ModuleLoader___file_type))( self) /*ModuleLoader::file_type*/;
   variable15 = variable14;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable16 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable17 = variable16;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable17) /*String::append*/;
   variable3 = variable4;
@@ -737,26 +737,26 @@ val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  p
   variable2 =  param2;
   variable3 =  param3;
   variable4 = NIT_NULL /*decl variable file*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
   variable5 = TAG_Bool(( variable3 /*filename*/ == variable5) || (( variable3 /*filename*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable3 /*filename*/,COLOR_kernel___Object_____eqeq))( variable3 /*filename*/, variable5) /*String::==*/)));
   if (UNTAG_Bool(variable5)) { /*if*/
     variable5 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*Object::stdin*/;
     variable4 = variable5 /*file=*/;
   } else { /*if*/
     variable5 = ((string___String___to_s_t)CALL( variable3 /*filename*/,COLOR_string___Object___to_s))( variable3 /*filename*/) /*String::to_s*/;
-    variable6 = NEW_file___IFStream___open(variable5); /*new IFStream*/
+    variable6 = NEW_IFStream_file___IFStream___open(variable5); /*new IFStream*/
     variable5 = variable6;
     variable4 = variable5 /*file=*/;
   }
   variable5 = ((stream___BufferedIStream___eof_t)CALL( variable4 /*file*/,COLOR_stream___IStream___eof))( variable4 /*file*/) /*BufferedIStream::eof*/;
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = NEW_string___String___init(); /*new String*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString("Error: Problem in opening file "), TAG_Int(31)); /*new String*/
+    variable5 = NEW_String_string___String___init(); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("Error: Problem in opening file "), TAG_Int(31)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
     variable8 =  variable3 /*filename*/;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable10 = variable9;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
     ((mmloader___ToolContext___error_t)CALL( variable0 /*context*/,COLOR_mmloader___ToolContext___error))( variable0 /*context*/, variable5) /*ToolContext::error*/;
@@ -797,6 +797,13 @@ void mmloader___ModuleLoader___process_metamodel(val_t  self, val_t  param0, val
   tracehead = trace.prev;
   return;
 }
+void mmloader___ModuleLoader___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_mmloader___ModuleLoader___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
+  tracehead = trace.prev;
+  return;
+}
 val_t mmloader___MMModule___filename(val_t  self) {
   struct trace_t trace = {NULL, NULL, 293, LOCATE_mmloader___MMModule___filename};
   trace.prev = tracehead; tracehead = &trace;
@@ -843,7 +850,7 @@ void mmloader___MMModule___import_supers_modules(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable2 = TAG_Bool(( variable1 /*c*/==NIT_NULL) || VAL_ISA( variable1 /*c*/, COLOR_ToolContext, ID_ToolContext)) /*cast ToolContext*/;
   if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___MMModule___import_supers_modules, LOCATE_mmloader, 303); nit_exit(1);}
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMModule]*/
   variable2 = variable3;
   variable3 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*names*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*names*/) /*Collection::iterator*/;
   while (true) { /*for*/
index 77c1237..821c361 100644 (file)
@@ -55,13 +55,14 @@ extern const int SFT_mmloader[];
 #define COLOR_mmloader___ModuleLoader___load_module SFT_mmloader[42]
 #define COLOR_mmloader___ModuleLoader___parse_file SFT_mmloader[43]
 #define COLOR_mmloader___ModuleLoader___process_metamodel SFT_mmloader[44]
-#define COLOR_mmloader___MMModule____filename SFT_mmloader[45]
-#define COLOR_mmloader___MMModule____mtime SFT_mmloader[46]
-#define COLOR_mmloader___MMModule___filename SFT_mmloader[47]
-#define COLOR_mmloader___MMModule___filename__eq SFT_mmloader[48]
-#define COLOR_mmloader___MMModule___mtime SFT_mmloader[49]
-#define COLOR_mmloader___MMModule___mtime__eq SFT_mmloader[50]
-#define COLOR_mmloader___MMModule___import_supers_modules SFT_mmloader[51]
+#define COLOR_mmloader___ModuleLoader___init SFT_mmloader[45]
+#define COLOR_mmloader___MMModule____filename SFT_mmloader[46]
+#define COLOR_mmloader___MMModule____mtime SFT_mmloader[47]
+#define COLOR_mmloader___MMModule___filename SFT_mmloader[48]
+#define COLOR_mmloader___MMModule___filename__eq SFT_mmloader[49]
+#define COLOR_mmloader___MMModule___mtime SFT_mmloader[50]
+#define COLOR_mmloader___MMModule___mtime__eq SFT_mmloader[51]
+#define COLOR_mmloader___MMModule___import_supers_modules SFT_mmloader[52]
 #define ATTR_mmloader___ToolContext____error_count(recv) ATTR(recv, COLOR_mmloader___ToolContext____error_count)
 typedef val_t (* mmloader___ToolContext___error_count_t)(val_t  self);
 val_t mmloader___ToolContext___error_count(val_t  self);
@@ -154,6 +155,10 @@ val_t mmloader___ModuleLoader___parse_file(val_t  self, val_t  param0, val_t  pa
 typedef void (* mmloader___ModuleLoader___process_metamodel_t)(val_t  self, val_t  param0, val_t  param1);
 void mmloader___ModuleLoader___process_metamodel(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_mmloader___ModuleLoader___process_metamodel "mmloader::ModuleLoader::process_metamodel"
+typedef void (* mmloader___ModuleLoader___init_t)(val_t  self, int* init_table);
+void mmloader___ModuleLoader___init(val_t  self, int* init_table);
+val_t NEW_mmloader___ModuleLoader___init();
+#define LOCATE_mmloader___ModuleLoader___init "mmloader::ModuleLoader::init"
 #define ATTR_mmloader___MMModule____filename(recv) ATTR(recv, COLOR_mmloader___MMModule____filename)
 typedef val_t (* mmloader___MMModule___filename_t)(val_t  self);
 val_t mmloader___MMModule___filename(val_t  self);
index 764bf6e..ff5db09 100644 (file)
@@ -81,7 +81,7 @@ void nitc___NitCompiler___init(val_t  self, int* init_table) {
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_NitCompiler].i]) return;
   ((abstracttool___AbstractCompiler___init_t)CALL( self,COLOR_abstracttool___AbstractCompiler___init))( self, init_table /*YYY*/) /*AbstractCompiler::init*/;
   variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
-  variable1 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Option]*/
   variable2 = ((nitc___NitCompiler___opt_output_t)CALL( self,COLOR_nitc___NitCompiler___opt_output))( self) /*NitCompiler::opt_output*/;
   ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*AbstractArray::add*/;
   variable3 = ((nitc___NitCompiler___opt_boost_t)CALL( self,COLOR_nitc___NitCompiler___opt_boost))( self) /*NitCompiler::opt_boost*/;
@@ -137,7 +137,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
   variable0 = ((compiling_base___ToolContext___ext_prefix_t)CALL( self,COLOR_compiling_base___ToolContext___ext_prefix))( self) /*ToolContext::ext_prefix*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*String::==*/)));
   if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     ((compiling_base___ToolContext___ext_prefix__eq_t)CALL( self,COLOR_compiling_base___ToolContext___ext_prefix__eq))( self, variable0) /*ToolContext::ext_prefix=*/;
   }
   variable0 = ((nitc___NitCompiler___opt_attr_sim_t)CALL( self,COLOR_nitc___NitCompiler___opt_attr_sim))( self) /*NitCompiler::opt_attr_sim*/;
@@ -154,7 +154,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
   if (UNTAG_Bool(variable0)) { /*if*/
     if (once_bool_variable1_2) variable1 = once_value_variable1_2;
     else {
-      variable1 = NEW_string___String___with_native(BOX_NativeString("NIT_COMPDIR"), TAG_Int(11)); /*new String*/
+      variable1 = NEW_String_string___String___with_native(BOX_NativeString("NIT_COMPDIR"), TAG_Int(11)); /*new String*/
       variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
       variable1 = ((environ___Symbol___environ_t)CALL(variable1,COLOR_environ___Symbol___environ))(variable1) /*Symbol::environ*/;
       once_value_variable1_2 = variable1;
@@ -168,7 +168,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
     variable1 = ((compiling_base___ToolContext___compdir_t)CALL( self,COLOR_compiling_base___ToolContext___compdir))( self) /*ToolContext::compdir*/;
     variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*String::==*/)));
     if (UNTAG_Bool(variable1)) { /*if*/
-      variable1 = NEW_string___String___with_native(BOX_NativeString(".nit_compile"), TAG_Int(12)); /*new String*/
+      variable1 = NEW_String_string___String___with_native(BOX_NativeString(".nit_compile"), TAG_Int(12)); /*new String*/
       ((compiling_base___ToolContext___compdir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___compdir__eq))( self, variable1) /*ToolContext::compdir=*/;
     }
   }
@@ -183,7 +183,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
   if (UNTAG_Bool(variable0)) { /*if*/
     if (once_bool_variable1_3) variable1 = once_value_variable1_3;
     else {
-      variable1 = NEW_string___String___with_native(BOX_NativeString("NIT_DIR"), TAG_Int(7)); /*new String*/
+      variable1 = NEW_String_string___String___with_native(BOX_NativeString("NIT_DIR"), TAG_Int(7)); /*new String*/
       variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
       variable1 = ((environ___Symbol___environ_t)CALL(variable1,COLOR_environ___Symbol___environ))(variable1) /*Symbol::environ*/;
       once_value_variable1_3 = variable1;
@@ -192,8 +192,8 @@ void nitc___NitCompiler___process_options(val_t  self) {
     variable0 = variable1;
     variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*dir*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*dir*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable1)) { /*if*/
-      variable2 = NEW_string___String___init(); /*new String*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable2 = NEW_String_string___String___init(); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable4 = variable3;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
       variable5 = (G_sys);
@@ -201,7 +201,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
       variable5 = ((file___String___dirname_t)CALL(variable5,COLOR_file___String___dirname))(variable5) /*String::dirname*/;
       variable6 = variable5;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-      variable7 = NEW_string___String___with_native(BOX_NativeString("/../lib"), TAG_Int(7)); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("/../lib"), TAG_Int(7)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
       variable1 = variable2;
@@ -210,13 +210,13 @@ void nitc___NitCompiler___process_options(val_t  self) {
         ((compiling_base___ToolContext___clibdir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___clibdir__eq))( self,  variable1 /*dir*/) /*ToolContext::clibdir=*/;
       }
     } else { /*if*/
-      variable1 = NEW_string___String___init(); /*new String*/
-      variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable1 = NEW_String_string___String___init(); /*new String*/
+      variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable3 = variable2;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
       variable4 =  variable0 /*dir*/;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
-      variable5 = NEW_string___String___with_native(BOX_NativeString("/lib"), TAG_Int(4)); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("/lib"), TAG_Int(4)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
       variable0 = variable1 /*dir=*/;
@@ -228,7 +228,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
     variable1 = ((compiling_base___ToolContext___clibdir_t)CALL( self,COLOR_compiling_base___ToolContext___clibdir))( self) /*ToolContext::clibdir*/;
     variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*String::==*/)));
     if (UNTAG_Bool(variable1)) { /*if*/
-      variable1 = NEW_string___String___with_native(BOX_NativeString("Error: Cannot locate NIT C library directory. Uses --clibdir or envvar NIT_DIR."), TAG_Int(79)); /*new String*/
+      variable1 = NEW_String_string___String___with_native(BOX_NativeString("Error: Cannot locate NIT C library directory. Uses --clibdir or envvar NIT_DIR."), TAG_Int(79)); /*new String*/
       ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable1) /*ToolContext::error*/;
       exit(UNTAG_Int( TAG_Int(1)));
     }
@@ -241,7 +241,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
   if (UNTAG_Bool(variable0)) { /*if*/
     if (once_bool_variable1_4) variable1 = once_value_variable1_4;
     else {
-      variable1 = NEW_string___String___with_native(BOX_NativeString("NIT_DIR"), TAG_Int(7)); /*new String*/
+      variable1 = NEW_String_string___String___with_native(BOX_NativeString("NIT_DIR"), TAG_Int(7)); /*new String*/
       variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
       variable1 = ((environ___Symbol___environ_t)CALL(variable1,COLOR_environ___Symbol___environ))(variable1) /*Symbol::environ*/;
       once_value_variable1_4 = variable1;
@@ -250,8 +250,8 @@ void nitc___NitCompiler___process_options(val_t  self) {
     variable0 = variable1;
     variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*dir*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*dir*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable1)) { /*if*/
-      variable2 = NEW_string___String___init(); /*new String*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable2 = NEW_String_string___String___init(); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable4 = variable3;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
       variable5 = (G_sys);
@@ -259,7 +259,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
       variable5 = ((file___String___dirname_t)CALL(variable5,COLOR_file___String___dirname))(variable5) /*String::dirname*/;
       variable6 = variable5;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-      variable7 = NEW_string___String___with_native(BOX_NativeString("/../bin"), TAG_Int(7)); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("/../bin"), TAG_Int(7)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
       variable1 = variable2;
@@ -268,13 +268,13 @@ void nitc___NitCompiler___process_options(val_t  self) {
         ((compiling_base___ToolContext___bindir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___bindir__eq))( self,  variable1 /*dir*/) /*ToolContext::bindir=*/;
       }
     } else { /*if*/
-      variable1 = NEW_string___String___init(); /*new String*/
-      variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable1 = NEW_String_string___String___init(); /*new String*/
+      variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable3 = variable2;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
       variable4 =  variable0 /*dir*/;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
-      variable5 = NEW_string___String___with_native(BOX_NativeString("/bin"), TAG_Int(4)); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("/bin"), TAG_Int(4)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
       variable0 = variable1 /*dir=*/;
@@ -286,7 +286,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
     variable1 = ((compiling_base___ToolContext___bindir_t)CALL( self,COLOR_compiling_base___ToolContext___bindir))( self) /*ToolContext::bindir*/;
     variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*String::==*/)));
     if (UNTAG_Bool(variable1)) { /*if*/
-      variable1 = NEW_string___String___with_native(BOX_NativeString("Error: Cannot locate NIT tools directory. Uses --bindir or envvar NIT_DIR."), TAG_Int(74)); /*new String*/
+      variable1 = NEW_String_string___String___with_native(BOX_NativeString("Error: Cannot locate NIT tools directory. Uses --bindir or envvar NIT_DIR."), TAG_Int(74)); /*new String*/
       ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable1) /*ToolContext::error*/;
       exit(UNTAG_Int( TAG_Int(1)));
     }
@@ -324,7 +324,7 @@ void nitc___Sys___main(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_nitc;
-  variable1 = NEW_nitc___NitCompiler___init(); /*new NitCompiler*/
+  variable1 = NEW_NitCompiler_nitc___NitCompiler___init(); /*new NitCompiler*/
   variable0 = variable1;
   ((abstracttool___AbstractCompiler___exec_cmd_line_t)CALL( variable0 /*c*/,COLOR_abstracttool___AbstractCompiler___exec_cmd_line))( variable0 /*c*/) /*AbstractCompiler::exec_cmd_line*/;
   tracehead = trace.prev;
index 85b5d6d..bdb42cd 100644 (file)
 #include "utils._sep.h"
 #include "nitc._sep.h"
 #include <nit_common.h>
+val_t NEW_NitCompiler_abstractmetamodel___MMContext___init();
+val_t NEW_NitCompiler_mmloader___ToolContext___init();
+val_t NEW_NitCompiler_abstracttool___AbstractCompiler___init();
+val_t NEW_NitCompiler_nitc___NitCompiler___init();
+val_t NEW_Sys_kernel___Sys___init();
+val_t NEW_Container_abstract_collection___Container___init(val_t p0);
+val_t NEW_ContainerIterator_abstract_collection___ContainerIterator___init(val_t p0);
+val_t NEW_CoupleMapIterator_abstract_collection___CoupleMapIterator___init(val_t p0);
+val_t NEW_Couple_abstract_collection___Couple___init(val_t p0, val_t p1);
+val_t NEW_AbstractArray_array___AbstractArray___init();
+val_t NEW_Array_array___AbstractArray___init();
+val_t NEW_Array_array___Array___init();
+val_t NEW_Array_array___Array___with(val_t p0);
+val_t NEW_Array_array___Array___with_capacity(val_t p0);
+val_t NEW_Array_array___Array___filled_with(val_t p0, val_t p1);
+val_t NEW_Array_array___Array___with_native(val_t p0, val_t p1);
+val_t NEW_ArrayIterator_array___ArrayIterator___init(val_t p0);
+val_t NEW_ArraySet_array___ArraySet___init();
+val_t NEW_ArraySet_array___ArraySet___with_capacity(val_t p0);
+val_t NEW_ArraySetIterator_array___ArraySetIterator___init(val_t p0);
+val_t NEW_ArrayMap_array___ArrayMap___init();
+val_t NEW_String_array___AbstractArray___init();
+val_t NEW_String_string___StringCapable___init();
+val_t NEW_String_string___String___init();
+val_t NEW_String_string___String___from(val_t p0);
+val_t NEW_String_string___String___with_capacity(val_t p0);
+val_t NEW_String_string___String___with_native(val_t p0, val_t p1);
+val_t NEW_String_string___String___from_cstring(val_t p0);
+val_t NEW_String_string___String___filled_with(val_t p0, val_t p1);
+val_t NEW_String_string_search___Pattern___init();
+val_t NEW_StringCapable_string___StringCapable___init();
+val_t NEW_HashCollection_hash___HashCollection___init();
+val_t NEW_HashNode_hash___HashNode___init();
+val_t NEW_HashMap_hash___HashCollection___init();
+val_t NEW_HashMap_hash___HashMap___init();
+val_t NEW_HashMapNode_abstract_collection___Couple___init(val_t p0, val_t p1);
+val_t NEW_HashMapNode_hash___HashNode___init();
+val_t NEW_HashMapNode_hash___HashMapNode___init(val_t p0, val_t p1);
+val_t NEW_HashMapIterator_hash___HashMapIterator___init(val_t p0);
+val_t NEW_HashSet_hash___HashCollection___init();
+val_t NEW_HashSet_hash___HashSet___init();
+val_t NEW_HashSetNode_hash___HashNode___init();
+val_t NEW_HashSetNode_hash___HashSetNode___init(val_t p0);
+val_t NEW_HashSetIterator_hash___HashSetIterator___init(val_t p0);
+val_t NEW_Symbol_symbol___Symbol___init(val_t p0);
+val_t NEW_AbstractSorter_sorter___AbstractSorter___init();
+val_t NEW_ComparableSorter_sorter___AbstractSorter___init();
+val_t NEW_ComparableSorter_sorter___ComparableSorter___init();
+val_t NEW_IOS_stream___IOS___init();
+val_t NEW_IStream_stream___IOS___init();
+val_t NEW_OStream_stream___IOS___init();
+val_t NEW_BufferedIStream_stream___IOS___init();
+val_t NEW_IOStream_stream___IOS___init();
+val_t NEW_FDStream_stream___IOS___init();
+val_t NEW_FDStream_stream___FDStream___init(val_t p0);
+val_t NEW_FDIStream_stream___IOS___init();
+val_t NEW_FDIStream_stream___FDStream___init(val_t p0);
+val_t NEW_FDIStream_stream___FDIStream___init(val_t p0);
+val_t NEW_FDOStream_stream___IOS___init();
+val_t NEW_FDOStream_stream___FDStream___init(val_t p0);
+val_t NEW_FDOStream_stream___FDOStream___init(val_t p0);
+val_t NEW_FDIOStream_stream___IOS___init();
+val_t NEW_FDIOStream_stream___FDStream___init(val_t p0);
+val_t NEW_FDIOStream_stream___FDIStream___init(val_t p0);
+val_t NEW_FDIOStream_stream___FDOStream___init(val_t p0);
+val_t NEW_FDIOStream_stream___FDIOStream___init(val_t p0);
+val_t NEW_Pattern_string_search___Pattern___init();
+val_t NEW_BM_Pattern_string_search___Pattern___init();
+val_t NEW_BM_Pattern_string_search___BM_Pattern___init(val_t p0);
+val_t NEW_Match_string_search___Match___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_FStream_stream___IOS___init();
+val_t NEW_IFStream_stream___IOS___init();
+val_t NEW_IFStream_file___IFStream___open(val_t p0);
+val_t NEW_IFStream_file___IFStream___init();
+val_t NEW_IFStream_file___IFStream___without_file();
+val_t NEW_OFStream_stream___IOS___init();
+val_t NEW_OFStream_file___OFStream___open(val_t p0);
+val_t NEW_OFStream_file___OFStream___init();
+val_t NEW_OFStream_file___OFStream___without_file();
+val_t NEW_Stdin_stream___IOS___init();
+val_t NEW_Stdin_file___IFStream___open(val_t p0);
+val_t NEW_Stdin_file___IFStream___init();
+val_t NEW_Stdin_file___IFStream___without_file();
+val_t NEW_Stdin_file___Stdin___init();
+val_t NEW_Stdout_stream___IOS___init();
+val_t NEW_Stdout_file___OFStream___open(val_t p0);
+val_t NEW_Stdout_file___OFStream___init();
+val_t NEW_Stdout_file___OFStream___without_file();
+val_t NEW_Stdout_file___Stdout___init();
+val_t NEW_Stderr_stream___IOS___init();
+val_t NEW_Stderr_file___OFStream___open(val_t p0);
+val_t NEW_Stderr_file___OFStream___init();
+val_t NEW_Stderr_file___OFStream___without_file();
+val_t NEW_Stderr_file___Stderr___init();
+val_t NEW_Process_exec___Process___init(val_t p0, val_t p1);
+val_t NEW_Process_exec___Process___init_(val_t p0);
+val_t NEW_Process_exec___Process___execute(val_t p0, val_t p1, val_t p2);
+val_t NEW_IProcess_exec___Process___init(val_t p0, val_t p1);
+val_t NEW_IProcess_exec___Process___init_(val_t p0);
+val_t NEW_IProcess_exec___Process___execute(val_t p0, val_t p1, val_t p2);
+val_t NEW_IProcess_stream___IOS___init();
+val_t NEW_IProcess_exec___IProcess___init(val_t p0, val_t p1);
+val_t NEW_IProcess_exec___IProcess___init_(val_t p0);
+val_t NEW_OProcess_exec___Process___init(val_t p0, val_t p1);
+val_t NEW_OProcess_exec___Process___init_(val_t p0);
+val_t NEW_OProcess_exec___Process___execute(val_t p0, val_t p1, val_t p2);
+val_t NEW_OProcess_stream___IOS___init();
+val_t NEW_OProcess_exec___OProcess___init(val_t p0, val_t p1);
+val_t NEW_OProcess_exec___OProcess___init_(val_t p0);
+val_t NEW_IOProcess_exec___Process___init(val_t p0, val_t p1);
+val_t NEW_IOProcess_exec___Process___init_(val_t p0);
+val_t NEW_IOProcess_exec___Process___execute(val_t p0, val_t p1, val_t p2);
+val_t NEW_IOProcess_stream___IOS___init();
+val_t NEW_IOProcess_exec___IProcess___init(val_t p0, val_t p1);
+val_t NEW_IOProcess_exec___IProcess___init_(val_t p0);
+val_t NEW_IOProcess_exec___OProcess___init(val_t p0, val_t p1);
+val_t NEW_IOProcess_exec___OProcess___init_(val_t p0);
+val_t NEW_IOProcess_exec___IOProcess___init(val_t p0, val_t p1);
+val_t NEW_IOProcess_exec___IOProcess___init_(val_t p0);
+val_t NEW_List_list___List___init();
+val_t NEW_List_list___List___from(val_t p0);
+val_t NEW_ListIterator_list___ListIterator___init(val_t p0);
+val_t NEW_ListNode_abstract_collection___Container___init(val_t p0);
+val_t NEW_ListNode_list___ListNode___init(val_t p0);
+val_t NEW_Range_range___Range___init(val_t p0, val_t p1);
+val_t NEW_Range_range___Range___without_last(val_t p0, val_t p1);
+val_t NEW_IteratorRange_range___IteratorRange___init(val_t p0);
+val_t NEW_PNode_parser_nodes___PNode___init();
+val_t NEW_Token_parser_nodes___PNode___init();
+val_t NEW_Prod_parser_nodes___PNode___init();
+val_t NEW_TEol_parser_nodes___PNode___init();
+val_t NEW_TEol_lexer___TEol___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_TComment_parser_nodes___PNode___init();
+val_t NEW_TComment_lexer___TComment___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_TKwpackage_parser_nodes___PNode___init();
+val_t NEW_TKwpackage_lexer___TKwpackage___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwimport_parser_nodes___PNode___init();
+val_t NEW_TKwimport_lexer___TKwimport___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwclass_parser_nodes___PNode___init();
+val_t NEW_TKwclass_lexer___TKwclass___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwabstract_parser_nodes___PNode___init();
+val_t NEW_TKwabstract_lexer___TKwabstract___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwinterface_parser_nodes___PNode___init();
+val_t NEW_TKwinterface_lexer___TKwinterface___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwuniversal_parser_nodes___PNode___init();
+val_t NEW_TKwuniversal_lexer___TKwuniversal___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwspecial_parser_nodes___PNode___init();
+val_t NEW_TKwspecial_lexer___TKwspecial___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwend_parser_nodes___PNode___init();
+val_t NEW_TKwend_lexer___TKwend___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwmeth_parser_nodes___PNode___init();
+val_t NEW_TKwmeth_lexer___TKwmeth___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwtype_parser_nodes___PNode___init();
+val_t NEW_TKwtype_lexer___TKwtype___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwattr_parser_nodes___PNode___init();
+val_t NEW_TKwattr_lexer___TKwattr___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwinit_parser_nodes___PNode___init();
+val_t NEW_TKwinit_lexer___TKwinit___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwredef_parser_nodes___PNode___init();
+val_t NEW_TKwredef_lexer___TKwredef___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwis_parser_nodes___PNode___init();
+val_t NEW_TKwis_lexer___TKwis___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwdo_parser_nodes___PNode___init();
+val_t NEW_TKwdo_lexer___TKwdo___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwreadable_parser_nodes___PNode___init();
+val_t NEW_TKwreadable_lexer___TKwreadable___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwwritable_parser_nodes___PNode___init();
+val_t NEW_TKwwritable_lexer___TKwwritable___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwvar_parser_nodes___PNode___init();
+val_t NEW_TKwvar_lexer___TKwvar___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwintern_parser_nodes___PNode___init();
+val_t NEW_TKwintern_lexer___TKwintern___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwextern_parser_nodes___PNode___init();
+val_t NEW_TKwextern_lexer___TKwextern___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwprotected_parser_nodes___PNode___init();
+val_t NEW_TKwprotected_lexer___TKwprotected___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwprivate_parser_nodes___PNode___init();
+val_t NEW_TKwprivate_lexer___TKwprivate___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwintrude_parser_nodes___PNode___init();
+val_t NEW_TKwintrude_lexer___TKwintrude___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwif_parser_nodes___PNode___init();
+val_t NEW_TKwif_lexer___TKwif___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwthen_parser_nodes___PNode___init();
+val_t NEW_TKwthen_lexer___TKwthen___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwelse_parser_nodes___PNode___init();
+val_t NEW_TKwelse_lexer___TKwelse___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwwhile_parser_nodes___PNode___init();
+val_t NEW_TKwwhile_lexer___TKwwhile___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwfor_parser_nodes___PNode___init();
+val_t NEW_TKwfor_lexer___TKwfor___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwin_parser_nodes___PNode___init();
+val_t NEW_TKwin_lexer___TKwin___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwand_parser_nodes___PNode___init();
+val_t NEW_TKwand_lexer___TKwand___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwor_parser_nodes___PNode___init();
+val_t NEW_TKwor_lexer___TKwor___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwnot_parser_nodes___PNode___init();
+val_t NEW_TKwnot_lexer___TKwnot___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwreturn_parser_nodes___PNode___init();
+val_t NEW_TKwreturn_lexer___TKwreturn___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwcontinue_parser_nodes___PNode___init();
+val_t NEW_TKwcontinue_lexer___TKwcontinue___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwbreak_parser_nodes___PNode___init();
+val_t NEW_TKwbreak_lexer___TKwbreak___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwabort_parser_nodes___PNode___init();
+val_t NEW_TKwabort_lexer___TKwabort___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwassert_parser_nodes___PNode___init();
+val_t NEW_TKwassert_lexer___TKwassert___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwnew_parser_nodes___PNode___init();
+val_t NEW_TKwnew_lexer___TKwnew___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwisa_parser_nodes___PNode___init();
+val_t NEW_TKwisa_lexer___TKwisa___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwonce_parser_nodes___PNode___init();
+val_t NEW_TKwonce_lexer___TKwonce___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwsuper_parser_nodes___PNode___init();
+val_t NEW_TKwsuper_lexer___TKwsuper___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwself_parser_nodes___PNode___init();
+val_t NEW_TKwself_lexer___TKwself___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwtrue_parser_nodes___PNode___init();
+val_t NEW_TKwtrue_lexer___TKwtrue___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwfalse_parser_nodes___PNode___init();
+val_t NEW_TKwfalse_lexer___TKwfalse___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwnull_parser_nodes___PNode___init();
+val_t NEW_TKwnull_lexer___TKwnull___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TKwas_parser_nodes___PNode___init();
+val_t NEW_TKwas_lexer___TKwas___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TOpar_parser_nodes___PNode___init();
+val_t NEW_TOpar_lexer___TOpar___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TCpar_parser_nodes___PNode___init();
+val_t NEW_TCpar_lexer___TCpar___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TObra_parser_nodes___PNode___init();
+val_t NEW_TObra_lexer___TObra___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TCbra_parser_nodes___PNode___init();
+val_t NEW_TCbra_lexer___TCbra___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TComma_parser_nodes___PNode___init();
+val_t NEW_TComma_lexer___TComma___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TColumn_parser_nodes___PNode___init();
+val_t NEW_TColumn_lexer___TColumn___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TQuad_parser_nodes___PNode___init();
+val_t NEW_TQuad_lexer___TQuad___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TAssign_parser_nodes___PNode___init();
+val_t NEW_TAssign_lexer___TAssign___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TPluseq_parser_nodes___PNode___init();
+val_t NEW_TPluseq_lexer___TPluseq___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TMinuseq_parser_nodes___PNode___init();
+val_t NEW_TMinuseq_lexer___TMinuseq___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TDotdotdot_parser_nodes___PNode___init();
+val_t NEW_TDotdotdot_lexer___TDotdotdot___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TDotdot_parser_nodes___PNode___init();
+val_t NEW_TDotdot_lexer___TDotdot___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TDot_parser_nodes___PNode___init();
+val_t NEW_TDot_lexer___TDot___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TPlus_parser_nodes___PNode___init();
+val_t NEW_TPlus_lexer___TPlus___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TMinus_parser_nodes___PNode___init();
+val_t NEW_TMinus_lexer___TMinus___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TStar_parser_nodes___PNode___init();
+val_t NEW_TStar_lexer___TStar___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TSlash_parser_nodes___PNode___init();
+val_t NEW_TSlash_lexer___TSlash___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TPercent_parser_nodes___PNode___init();
+val_t NEW_TPercent_lexer___TPercent___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TEq_parser_nodes___PNode___init();
+val_t NEW_TEq_lexer___TEq___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TNe_parser_nodes___PNode___init();
+val_t NEW_TNe_lexer___TNe___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TLt_parser_nodes___PNode___init();
+val_t NEW_TLt_lexer___TLt___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TLe_parser_nodes___PNode___init();
+val_t NEW_TLe_lexer___TLe___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TGt_parser_nodes___PNode___init();
+val_t NEW_TGt_lexer___TGt___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TGe_parser_nodes___PNode___init();
+val_t NEW_TGe_lexer___TGe___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TStarship_parser_nodes___PNode___init();
+val_t NEW_TStarship_lexer___TStarship___init_tk(val_t p0, val_t p1, val_t p2);
+val_t NEW_TClassid_parser_nodes___PNode___init();
+val_t NEW_TClassid_lexer___TClassid___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_TId_parser_nodes___PNode___init();
+val_t NEW_TId_lexer___TId___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_TAttrid_parser_nodes___PNode___init();
+val_t NEW_TAttrid_lexer___TAttrid___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_TNumber_parser_nodes___PNode___init();
+val_t NEW_TNumber_lexer___TNumber___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_TFloat_parser_nodes___PNode___init();
+val_t NEW_TFloat_lexer___TFloat___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_TChar_parser_nodes___PNode___init();
+val_t NEW_TChar_lexer___TChar___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_TString_parser_nodes___PNode___init();
+val_t NEW_TString_lexer___TString___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_TStartString_parser_nodes___PNode___init();
+val_t NEW_TStartString_lexer___TStartString___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_TMidString_parser_nodes___PNode___init();
+val_t NEW_TMidString_lexer___TMidString___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_TEndString_parser_nodes___PNode___init();
+val_t NEW_TEndString_lexer___TEndString___init_tk(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_EOF_parser_nodes___PNode___init();
+val_t NEW_EOF_parser_nodes___EOF___noinit();
+val_t NEW_EOF_lexer___EOF___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_PError_parser_nodes___PNode___init();
+val_t NEW_PError_parser_nodes___EOF___noinit();
+val_t NEW_PError_parser_nodes___PError___noinit();
+val_t NEW_PError_lexer___EOF___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_PError_lexer___PError___init_error(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_PModule_parser_nodes___PNode___init();
+val_t NEW_PPackagedecl_parser_nodes___PNode___init();
+val_t NEW_PImport_parser_nodes___PNode___init();
+val_t NEW_PVisibility_parser_nodes___PNode___init();
+val_t NEW_PClassdef_parser_nodes___PNode___init();
+val_t NEW_PClasskind_parser_nodes___PNode___init();
+val_t NEW_PFormaldef_parser_nodes___PNode___init();
+val_t NEW_PSuperclass_parser_nodes___PNode___init();
+val_t NEW_PPropdef_parser_nodes___PNode___init();
+val_t NEW_PAble_parser_nodes___PNode___init();
+val_t NEW_PMethid_parser_nodes___PNode___init();
+val_t NEW_PSignature_parser_nodes___PNode___init();
+val_t NEW_PParam_parser_nodes___PNode___init();
+val_t NEW_PType_parser_nodes___PNode___init();
+val_t NEW_PExpr_parser_nodes___PNode___init();
+val_t NEW_PAssignOp_parser_nodes___PNode___init();
+val_t NEW_PQualified_parser_nodes___PNode___init();
+val_t NEW_PDoc_parser_nodes___PNode___init();
+val_t NEW_AModule_parser_nodes___PNode___init();
+val_t NEW_AModule_parser_prod___AModule___empty_init();
+val_t NEW_AModule_parser_prod___AModule___init_amodule(val_t p0, val_t p1, val_t p2);
+val_t NEW_APackagedecl_parser_nodes___PNode___init();
+val_t NEW_APackagedecl_parser_prod___APackagedecl___empty_init();
+val_t NEW_APackagedecl_parser_prod___APackagedecl___init_apackagedecl(val_t p0, val_t p1, val_t p2);
+val_t NEW_AImport_parser_nodes___PNode___init();
+val_t NEW_AImport_parser_prod___AImport___empty_init();
+val_t NEW_AImport_parser_prod___AImport___init_aimport(val_t p0, val_t p1, val_t p2);
+val_t NEW_ANoImport_parser_nodes___PNode___init();
+val_t NEW_ANoImport_parser_prod___ANoImport___empty_init();
+val_t NEW_ANoImport_parser_prod___ANoImport___init_anoimport(val_t p0, val_t p1, val_t p2);
+val_t NEW_APublicVisibility_parser_nodes___PNode___init();
+val_t NEW_APublicVisibility_parser_prod___APublicVisibility___empty_init();
+val_t NEW_APublicVisibility_parser_prod___APublicVisibility___init_apublicvisibility();
+val_t NEW_APrivateVisibility_parser_nodes___PNode___init();
+val_t NEW_APrivateVisibility_parser_prod___APrivateVisibility___empty_init();
+val_t NEW_APrivateVisibility_parser_prod___APrivateVisibility___init_aprivatevisibility(val_t p0);
+val_t NEW_AProtectedVisibility_parser_nodes___PNode___init();
+val_t NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___empty_init();
+val_t NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t p0);
+val_t NEW_AIntrudeVisibility_parser_nodes___PNode___init();
+val_t NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___empty_init();
+val_t NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t p0);
+val_t NEW_AClassdef_parser_nodes___PNode___init();
+val_t NEW_AClassdef_parser_prod___AClassdef___empty_init();
+val_t NEW_AClassdef_parser_prod___AClassdef___init_aclassdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7);
+val_t NEW_ATopClassdef_parser_nodes___PNode___init();
+val_t NEW_ATopClassdef_parser_prod___ATopClassdef___empty_init();
+val_t NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(val_t p0);
+val_t NEW_AMainClassdef_parser_nodes___PNode___init();
+val_t NEW_AMainClassdef_parser_prod___AMainClassdef___empty_init();
+val_t NEW_AMainClassdef_parser_prod___AMainClassdef___init_amainclassdef(val_t p0);
+val_t NEW_AConcreteClasskind_parser_nodes___PNode___init();
+val_t NEW_AConcreteClasskind_parser_prod___AConcreteClasskind___empty_init();
+val_t NEW_AConcreteClasskind_parser_prod___AConcreteClasskind___init_aconcreteclasskind(val_t p0);
+val_t NEW_AAbstractClasskind_parser_nodes___PNode___init();
+val_t NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___empty_init();
+val_t NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t p0, val_t p1);
+val_t NEW_AInterfaceClasskind_parser_nodes___PNode___init();
+val_t NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___empty_init();
+val_t NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t p0);
+val_t NEW_AUniversalClasskind_parser_nodes___PNode___init();
+val_t NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___empty_init();
+val_t NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t p0);
+val_t NEW_AFormaldef_parser_nodes___PNode___init();
+val_t NEW_AFormaldef_parser_prod___AFormaldef___empty_init();
+val_t NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef(val_t p0, val_t p1);
+val_t NEW_ASuperclass_parser_nodes___PNode___init();
+val_t NEW_ASuperclass_parser_prod___ASuperclass___empty_init();
+val_t NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass(val_t p0, val_t p1);
+val_t NEW_AAttrPropdef_parser_nodes___PNode___init();
+val_t NEW_AAttrPropdef_parser_prod___AAttrPropdef___empty_init();
+val_t NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, val_t p8);
+val_t NEW_AMethPropdef_parser_nodes___PNode___init();
+val_t NEW_AMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_ADeferredMethPropdef_parser_nodes___PNode___init();
+val_t NEW_ADeferredMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_ADeferredMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___empty_init();
+val_t NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
+val_t NEW_AInternMethPropdef_parser_nodes___PNode___init();
+val_t NEW_AInternMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AInternMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___empty_init();
+val_t NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
+val_t NEW_AExternMethPropdef_parser_nodes___PNode___init();
+val_t NEW_AExternMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AExternMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___empty_init();
+val_t NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
+val_t NEW_AConcreteMethPropdef_parser_nodes___PNode___init();
+val_t NEW_AConcreteMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AConcreteMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___empty_init();
+val_t NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
+val_t NEW_AConcreteInitPropdef_parser_nodes___PNode___init();
+val_t NEW_AConcreteInitPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AConcreteInitPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteMethPropdef___empty_init();
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___empty_init();
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
+val_t NEW_AMainMethPropdef_parser_nodes___PNode___init();
+val_t NEW_AMainMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AMainMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AMainMethPropdef_parser_prod___AConcreteMethPropdef___empty_init();
+val_t NEW_AMainMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
+val_t NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___empty_init();
+val_t NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t p0, val_t p1);
+val_t NEW_ATypePropdef_parser_nodes___PNode___init();
+val_t NEW_ATypePropdef_parser_prod___ATypePropdef___empty_init();
+val_t NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
+val_t NEW_AReadAble_parser_nodes___PNode___init();
+val_t NEW_AReadAble_parser_prod___AReadAble___empty_init();
+val_t NEW_AReadAble_parser_prod___AReadAble___init_areadable(val_t p0, val_t p1);
+val_t NEW_AWriteAble_parser_nodes___PNode___init();
+val_t NEW_AWriteAble_parser_prod___AWriteAble___empty_init();
+val_t NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(val_t p0, val_t p1);
+val_t NEW_AIdMethid_parser_nodes___PNode___init();
+val_t NEW_AIdMethid_parser_prod___AIdMethid___empty_init();
+val_t NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(val_t p0);
+val_t NEW_APlusMethid_parser_nodes___PNode___init();
+val_t NEW_APlusMethid_parser_prod___APlusMethid___empty_init();
+val_t NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(val_t p0);
+val_t NEW_AMinusMethid_parser_nodes___PNode___init();
+val_t NEW_AMinusMethid_parser_prod___AMinusMethid___empty_init();
+val_t NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(val_t p0);
+val_t NEW_AStarMethid_parser_nodes___PNode___init();
+val_t NEW_AStarMethid_parser_prod___AStarMethid___empty_init();
+val_t NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(val_t p0);
+val_t NEW_ASlashMethid_parser_nodes___PNode___init();
+val_t NEW_ASlashMethid_parser_prod___ASlashMethid___empty_init();
+val_t NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(val_t p0);
+val_t NEW_APercentMethid_parser_nodes___PNode___init();
+val_t NEW_APercentMethid_parser_prod___APercentMethid___empty_init();
+val_t NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(val_t p0);
+val_t NEW_AEqMethid_parser_nodes___PNode___init();
+val_t NEW_AEqMethid_parser_prod___AEqMethid___empty_init();
+val_t NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(val_t p0);
+val_t NEW_ANeMethid_parser_nodes___PNode___init();
+val_t NEW_ANeMethid_parser_prod___ANeMethid___empty_init();
+val_t NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(val_t p0);
+val_t NEW_ALeMethid_parser_nodes___PNode___init();
+val_t NEW_ALeMethid_parser_prod___ALeMethid___empty_init();
+val_t NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(val_t p0);
+val_t NEW_AGeMethid_parser_nodes___PNode___init();
+val_t NEW_AGeMethid_parser_prod___AGeMethid___empty_init();
+val_t NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(val_t p0);
+val_t NEW_ALtMethid_parser_nodes___PNode___init();
+val_t NEW_ALtMethid_parser_prod___ALtMethid___empty_init();
+val_t NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(val_t p0);
+val_t NEW_AGtMethid_parser_nodes___PNode___init();
+val_t NEW_AGtMethid_parser_prod___AGtMethid___empty_init();
+val_t NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(val_t p0);
+val_t NEW_ABraMethid_parser_nodes___PNode___init();
+val_t NEW_ABraMethid_parser_prod___ABraMethid___empty_init();
+val_t NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(val_t p0, val_t p1);
+val_t NEW_AStarshipMethid_parser_nodes___PNode___init();
+val_t NEW_AStarshipMethid_parser_prod___AStarshipMethid___empty_init();
+val_t NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(val_t p0);
+val_t NEW_AAssignMethid_parser_nodes___PNode___init();
+val_t NEW_AAssignMethid_parser_prod___AAssignMethid___empty_init();
+val_t NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(val_t p0, val_t p1);
+val_t NEW_ABraassignMethid_parser_nodes___PNode___init();
+val_t NEW_ABraassignMethid_parser_prod___ABraassignMethid___empty_init();
+val_t NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(val_t p0, val_t p1, val_t p2);
+val_t NEW_ASignature_parser_nodes___PNode___init();
+val_t NEW_ASignature_parser_prod___ASignature___empty_init();
+val_t NEW_ASignature_parser_prod___ASignature___init_asignature(val_t p0, val_t p1);
+val_t NEW_AParam_parser_nodes___PNode___init();
+val_t NEW_AParam_parser_prod___AParam___empty_init();
+val_t NEW_AParam_parser_prod___AParam___init_aparam(val_t p0, val_t p1, val_t p2);
+val_t NEW_AType_parser_nodes___PNode___init();
+val_t NEW_AType_parser_prod___AType___empty_init();
+val_t NEW_AType_parser_prod___AType___init_atype(val_t p0, val_t p1);
+val_t NEW_ABlockExpr_parser_nodes___PNode___init();
+val_t NEW_ABlockExpr_parser_prod___ABlockExpr___empty_init();
+val_t NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(val_t p0);
+val_t NEW_AVardeclExpr_parser_nodes___PNode___init();
+val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___empty_init();
+val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AReturnExpr_parser_nodes___PNode___init();
+val_t NEW_AReturnExpr_parser_prod___AReturnExpr___empty_init();
+val_t NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(val_t p0, val_t p1);
+val_t NEW_ABreakExpr_parser_nodes___PNode___init();
+val_t NEW_ABreakExpr_parser_prod___ABreakExpr___empty_init();
+val_t NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(val_t p0);
+val_t NEW_AAbortExpr_parser_nodes___PNode___init();
+val_t NEW_AAbortExpr_parser_prod___AAbortExpr___empty_init();
+val_t NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr(val_t p0);
+val_t NEW_AContinueExpr_parser_nodes___PNode___init();
+val_t NEW_AContinueExpr_parser_prod___AContinueExpr___empty_init();
+val_t NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(val_t p0);
+val_t NEW_ADoExpr_parser_nodes___PNode___init();
+val_t NEW_ADoExpr_parser_prod___ADoExpr___empty_init();
+val_t NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(val_t p0, val_t p1);
+val_t NEW_AIfExpr_parser_nodes___PNode___init();
+val_t NEW_AIfExpr_parser_prod___AIfExpr___empty_init();
+val_t NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_AIfexprExpr_parser_nodes___PNode___init();
+val_t NEW_AIfexprExpr_parser_prod___AIfexprExpr___empty_init();
+val_t NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
+val_t NEW_AWhileExpr_parser_nodes___PNode___init();
+val_t NEW_AWhileExpr_parser_prod___AWhileExpr___empty_init();
+val_t NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_AForExpr_parser_nodes___PNode___init();
+val_t NEW_AForExpr_parser_prod___AForExpr___empty_init();
+val_t NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_AForVardeclExpr_parser_nodes___PNode___init();
+val_t NEW_AForVardeclExpr_parser_prod___AForVardeclExpr___empty_init();
+val_t NEW_AForVardeclExpr_parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_AAssertExpr_parser_nodes___PNode___init();
+val_t NEW_AAssertExpr_parser_prod___AAssertExpr___empty_init();
+val_t NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_AAssignFormExpr_parser_nodes___PNode___init();
+val_t NEW_AReassignFormExpr_parser_nodes___PNode___init();
+val_t NEW_AOnceExpr_parser_nodes___PNode___init();
+val_t NEW_AOnceExpr_parser_prod___AOnceExpr___empty_init();
+val_t NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(val_t p0, val_t p1);
+val_t NEW_ASendExpr_parser_nodes___PNode___init();
+val_t NEW_ASendExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ASendExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ABinopExpr_parser_nodes___PNode___init();
+val_t NEW_ABinopExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ABinopExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ABinopExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_ABinopExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_ABoolExpr_parser_nodes___PNode___init();
+val_t NEW_AOrExpr_parser_nodes___PNode___init();
+val_t NEW_AOrExpr_parser_prod___AOrExpr___empty_init();
+val_t NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(val_t p0, val_t p1);
+val_t NEW_AAndExpr_parser_nodes___PNode___init();
+val_t NEW_AAndExpr_parser_prod___AAndExpr___empty_init();
+val_t NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(val_t p0, val_t p1);
+val_t NEW_ANotExpr_parser_nodes___PNode___init();
+val_t NEW_ANotExpr_parser_prod___ANotExpr___empty_init();
+val_t NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(val_t p0, val_t p1);
+val_t NEW_AEqExpr_parser_nodes___PNode___init();
+val_t NEW_AEqExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AEqExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AEqExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_AEqExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AEqExpr_parser_prod___AEqExpr___empty_init();
+val_t NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(val_t p0, val_t p1);
+val_t NEW_AEeExpr_parser_nodes___PNode___init();
+val_t NEW_AEeExpr_parser_prod___AEeExpr___empty_init();
+val_t NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr(val_t p0, val_t p1);
+val_t NEW_ANeExpr_parser_nodes___PNode___init();
+val_t NEW_ANeExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ANeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ANeExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_ANeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_ANeExpr_parser_prod___ANeExpr___empty_init();
+val_t NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(val_t p0, val_t p1);
+val_t NEW_ALtExpr_parser_nodes___PNode___init();
+val_t NEW_ALtExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ALtExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ALtExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_ALtExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_ALtExpr_parser_prod___ALtExpr___empty_init();
+val_t NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr(val_t p0, val_t p1);
+val_t NEW_ALeExpr_parser_nodes___PNode___init();
+val_t NEW_ALeExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ALeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ALeExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_ALeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_ALeExpr_parser_prod___ALeExpr___empty_init();
+val_t NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr(val_t p0, val_t p1);
+val_t NEW_AGtExpr_parser_nodes___PNode___init();
+val_t NEW_AGtExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AGtExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AGtExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_AGtExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AGtExpr_parser_prod___AGtExpr___empty_init();
+val_t NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr(val_t p0, val_t p1);
+val_t NEW_AGeExpr_parser_nodes___PNode___init();
+val_t NEW_AGeExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AGeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AGeExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_AGeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AGeExpr_parser_prod___AGeExpr___empty_init();
+val_t NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr(val_t p0, val_t p1);
+val_t NEW_AIsaExpr_parser_nodes___PNode___init();
+val_t NEW_AIsaExpr_parser_prod___AIsaExpr___empty_init();
+val_t NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(val_t p0, val_t p1);
+val_t NEW_APlusExpr_parser_nodes___PNode___init();
+val_t NEW_APlusExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_APlusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_APlusExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_APlusExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_APlusExpr_parser_prod___APlusExpr___empty_init();
+val_t NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr(val_t p0, val_t p1);
+val_t NEW_AMinusExpr_parser_nodes___PNode___init();
+val_t NEW_AMinusExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AMinusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AMinusExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_AMinusExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AMinusExpr_parser_prod___AMinusExpr___empty_init();
+val_t NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr(val_t p0, val_t p1);
+val_t NEW_AStarshipExpr_parser_nodes___PNode___init();
+val_t NEW_AStarshipExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AStarshipExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AStarshipExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_AStarshipExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AStarshipExpr_parser_prod___AStarshipExpr___empty_init();
+val_t NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr(val_t p0, val_t p1);
+val_t NEW_AStarExpr_parser_nodes___PNode___init();
+val_t NEW_AStarExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AStarExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AStarExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_AStarExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_AStarExpr_parser_prod___AStarExpr___empty_init();
+val_t NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr(val_t p0, val_t p1);
+val_t NEW_ASlashExpr_parser_nodes___PNode___init();
+val_t NEW_ASlashExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ASlashExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ASlashExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_ASlashExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_ASlashExpr_parser_prod___ASlashExpr___empty_init();
+val_t NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr(val_t p0, val_t p1);
+val_t NEW_APercentExpr_parser_nodes___PNode___init();
+val_t NEW_APercentExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_APercentExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_APercentExpr_parser_prod___ABinopExpr___empty_init();
+val_t NEW_APercentExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
+val_t NEW_APercentExpr_parser_prod___APercentExpr___empty_init();
+val_t NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr(val_t p0, val_t p1);
+val_t NEW_AUminusExpr_parser_nodes___PNode___init();
+val_t NEW_AUminusExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AUminusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AUminusExpr_parser_prod___AUminusExpr___empty_init();
+val_t NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr(val_t p0, val_t p1);
+val_t NEW_ANewExpr_parser_nodes___PNode___init();
+val_t NEW_ANewExpr_parser_prod___ANewExpr___empty_init();
+val_t NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_AAttrFormExpr_parser_nodes___PNode___init();
+val_t NEW_AAttrExpr_parser_nodes___PNode___init();
+val_t NEW_AAttrExpr_parser_prod___AAttrExpr___empty_init();
+val_t NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(val_t p0, val_t p1);
+val_t NEW_AAttrAssignExpr_parser_nodes___PNode___init();
+val_t NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___empty_init();
+val_t NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_ACallFormExpr_parser_nodes___PNode___init();
+val_t NEW_ACallFormExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ACallFormExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AAttrReassignExpr_parser_nodes___PNode___init();
+val_t NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___empty_init();
+val_t NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_ACallExpr_parser_nodes___PNode___init();
+val_t NEW_ACallExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ACallExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ACallExpr_parser_prod___ACallExpr___empty_init();
+val_t NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_ACallAssignExpr_parser_nodes___PNode___init();
+val_t NEW_ACallAssignExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ACallAssignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___empty_init();
+val_t NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_ACallReassignExpr_parser_nodes___PNode___init();
+val_t NEW_ACallReassignExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ACallReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___empty_init();
+val_t NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_ASuperExpr_parser_nodes___PNode___init();
+val_t NEW_ASuperExpr_parser_prod___ASuperExpr___empty_init();
+val_t NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_AInitExpr_parser_nodes___PNode___init();
+val_t NEW_AInitExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_AInitExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_AInitExpr_parser_prod___AInitExpr___empty_init();
+val_t NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_ABraFormExpr_parser_nodes___PNode___init();
+val_t NEW_ABraFormExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ABraFormExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ABraExpr_parser_nodes___PNode___init();
+val_t NEW_ABraExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ABraExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ABraExpr_parser_prod___ABraExpr___empty_init();
+val_t NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr(val_t p0, val_t p1);
+val_t NEW_ABraAssignExpr_parser_nodes___PNode___init();
+val_t NEW_ABraAssignExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ABraAssignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___empty_init();
+val_t NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_AVarFormExpr_parser_nodes___PNode___init();
+val_t NEW_ABraReassignExpr_parser_nodes___PNode___init();
+val_t NEW_ABraReassignExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ABraReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___empty_init();
+val_t NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_AVarExpr_parser_nodes___PNode___init();
+val_t NEW_AVarExpr_parser_prod___AVarExpr___empty_init();
+val_t NEW_AVarExpr_parser_prod___AVarExpr___init_avarexpr(val_t p0);
+val_t NEW_AVarAssignExpr_parser_nodes___PNode___init();
+val_t NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___empty_init();
+val_t NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___init_avarassignexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_AVarReassignExpr_parser_nodes___PNode___init();
+val_t NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___empty_init();
+val_t NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_ARangeExpr_parser_nodes___PNode___init();
+val_t NEW_ARangeExpr_parser_prod___ARangeExpr___empty_init();
+val_t NEW_ARangeExpr_parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1);
+val_t NEW_ACrangeExpr_parser_nodes___PNode___init();
+val_t NEW_ACrangeExpr_parser_prod___ARangeExpr___empty_init();
+val_t NEW_ACrangeExpr_parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1);
+val_t NEW_ACrangeExpr_parser_prod___ACrangeExpr___empty_init();
+val_t NEW_ACrangeExpr_parser_prod___ACrangeExpr___init_acrangeexpr(val_t p0, val_t p1);
+val_t NEW_AOrangeExpr_parser_nodes___PNode___init();
+val_t NEW_AOrangeExpr_parser_prod___ARangeExpr___empty_init();
+val_t NEW_AOrangeExpr_parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1);
+val_t NEW_AOrangeExpr_parser_prod___AOrangeExpr___empty_init();
+val_t NEW_AOrangeExpr_parser_prod___AOrangeExpr___init_aorangeexpr(val_t p0, val_t p1);
+val_t NEW_AArrayExpr_parser_nodes___PNode___init();
+val_t NEW_AArrayExpr_parser_prod___AArrayExpr___empty_init();
+val_t NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr(val_t p0);
+val_t NEW_ASelfExpr_parser_nodes___PNode___init();
+val_t NEW_ASelfExpr_parser_prod___ASelfExpr___empty_init();
+val_t NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(val_t p0);
+val_t NEW_AImplicitSelfExpr_parser_nodes___PNode___init();
+val_t NEW_AImplicitSelfExpr_parser_prod___ASelfExpr___empty_init();
+val_t NEW_AImplicitSelfExpr_parser_prod___ASelfExpr___init_aselfexpr(val_t p0);
+val_t NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___empty_init();
+val_t NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
+val_t NEW_ATrueExpr_parser_nodes___PNode___init();
+val_t NEW_ATrueExpr_parser_prod___ATrueExpr___empty_init();
+val_t NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr(val_t p0);
+val_t NEW_AFalseExpr_parser_nodes___PNode___init();
+val_t NEW_AFalseExpr_parser_prod___AFalseExpr___empty_init();
+val_t NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr(val_t p0);
+val_t NEW_ANullExpr_parser_nodes___PNode___init();
+val_t NEW_ANullExpr_parser_prod___ANullExpr___empty_init();
+val_t NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(val_t p0);
+val_t NEW_AIntExpr_parser_nodes___PNode___init();
+val_t NEW_AIntExpr_parser_prod___AIntExpr___empty_init();
+val_t NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(val_t p0);
+val_t NEW_AFloatExpr_parser_nodes___PNode___init();
+val_t NEW_AFloatExpr_parser_prod___AFloatExpr___empty_init();
+val_t NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(val_t p0);
+val_t NEW_ACharExpr_parser_nodes___PNode___init();
+val_t NEW_ACharExpr_parser_prod___ACharExpr___empty_init();
+val_t NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(val_t p0);
+val_t NEW_AStringFormExpr_parser_nodes___PNode___init();
+val_t NEW_AStringExpr_parser_nodes___PNode___init();
+val_t NEW_AStringExpr_parser_prod___AStringExpr___empty_init();
+val_t NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr(val_t p0);
+val_t NEW_AStartStringExpr_parser_nodes___PNode___init();
+val_t NEW_AStartStringExpr_parser_prod___AStartStringExpr___empty_init();
+val_t NEW_AStartStringExpr_parser_prod___AStartStringExpr___init_astartstringexpr(val_t p0);
+val_t NEW_AMidStringExpr_parser_nodes___PNode___init();
+val_t NEW_AMidStringExpr_parser_prod___AMidStringExpr___empty_init();
+val_t NEW_AMidStringExpr_parser_prod___AMidStringExpr___init_amidstringexpr(val_t p0);
+val_t NEW_AEndStringExpr_parser_nodes___PNode___init();
+val_t NEW_AEndStringExpr_parser_prod___AEndStringExpr___empty_init();
+val_t NEW_AEndStringExpr_parser_prod___AEndStringExpr___init_aendstringexpr(val_t p0);
+val_t NEW_ASuperstringExpr_parser_nodes___PNode___init();
+val_t NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___empty_init();
+val_t NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t p0);
+val_t NEW_AParExpr_parser_nodes___PNode___init();
+val_t NEW_AParExpr_parser_prod___AParExpr___empty_init();
+val_t NEW_AParExpr_parser_prod___AParExpr___init_aparexpr(val_t p0);
+val_t NEW_AProxyExpr_parser_nodes___PNode___init();
+val_t NEW_AAsCastExpr_parser_nodes___PNode___init();
+val_t NEW_AAsCastExpr_parser_prod___AAsCastExpr___empty_init();
+val_t NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(val_t p0, val_t p1, val_t p2);
+val_t NEW_APlusAssignOp_parser_nodes___PNode___init();
+val_t NEW_APlusAssignOp_parser_prod___APlusAssignOp___empty_init();
+val_t NEW_APlusAssignOp_parser_prod___APlusAssignOp___init_aplusassignop(val_t p0);
+val_t NEW_AMinusAssignOp_parser_nodes___PNode___init();
+val_t NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___empty_init();
+val_t NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___init_aminusassignop(val_t p0);
+val_t NEW_AQualified_parser_nodes___PNode___init();
+val_t NEW_AQualified_parser_prod___AQualified___empty_init();
+val_t NEW_AQualified_parser_prod___AQualified___init_aqualified(val_t p0, val_t p1);
+val_t NEW_ADoc_parser_nodes___PNode___init();
+val_t NEW_ADoc_parser_prod___ADoc___empty_init();
+val_t NEW_ADoc_parser_prod___ADoc___init_adoc(val_t p0);
+val_t NEW_Start_parser_nodes___PNode___init();
+val_t NEW_Start_parser_prod___Start___init(val_t p0, val_t p1);
+val_t NEW_Lexer_lexer___Lexer___init(val_t p0, val_t p1);
+val_t NEW_Visitor_parser_prod___Visitor___init();
+val_t NEW_ParserTable_parser_tables___ParserTable___init();
+val_t NEW_State_parser___State___init(val_t p0, val_t p1);
+val_t NEW_Parser_parser_tables___ParserTable___init();
+val_t NEW_Parser_parser___Parser___init(val_t p0);
+val_t NEW_SearchTokensVisitor_parser_prod___Visitor___init();
+val_t NEW_SearchTokensVisitor_parser___SearchTokensVisitor___init();
+val_t NEW_ReduceAction_parser___ReduceAction___init();
+val_t NEW_ReduceAction0_parser___ReduceAction___init();
+val_t NEW_ReduceAction0_parser___ReduceAction0___init();
+val_t NEW_ReduceAction1_parser___ReduceAction___init();
+val_t NEW_ReduceAction1_parser___ReduceAction1___init();
+val_t NEW_ReduceAction2_parser___ReduceAction___init();
+val_t NEW_ReduceAction2_parser___ReduceAction2___init();
+val_t NEW_ReduceAction3_parser___ReduceAction___init();
+val_t NEW_ReduceAction3_parser___ReduceAction3___init();
+val_t NEW_ReduceAction4_parser___ReduceAction___init();
+val_t NEW_ReduceAction4_parser___ReduceAction4___init();
+val_t NEW_ReduceAction5_parser___ReduceAction___init();
+val_t NEW_ReduceAction5_parser___ReduceAction5___init();
+val_t NEW_ReduceAction6_parser___ReduceAction___init();
+val_t NEW_ReduceAction6_parser___ReduceAction6___init();
+val_t NEW_ReduceAction7_parser___ReduceAction___init();
+val_t NEW_ReduceAction7_parser___ReduceAction7___init();
+val_t NEW_ReduceAction8_parser___ReduceAction___init();
+val_t NEW_ReduceAction8_parser___ReduceAction8___init();
+val_t NEW_ReduceAction9_parser___ReduceAction___init();
+val_t NEW_ReduceAction9_parser___ReduceAction9___init();
+val_t NEW_ReduceAction10_parser___ReduceAction___init();
+val_t NEW_ReduceAction10_parser___ReduceAction10___init();
+val_t NEW_ReduceAction11_parser___ReduceAction___init();
+val_t NEW_ReduceAction11_parser___ReduceAction11___init();
+val_t NEW_ReduceAction12_parser___ReduceAction___init();
+val_t NEW_ReduceAction12_parser___ReduceAction12___init();
+val_t NEW_ReduceAction13_parser___ReduceAction___init();
+val_t NEW_ReduceAction13_parser___ReduceAction13___init();
+val_t NEW_ReduceAction14_parser___ReduceAction___init();
+val_t NEW_ReduceAction14_parser___ReduceAction14___init();
+val_t NEW_ReduceAction15_parser___ReduceAction___init();
+val_t NEW_ReduceAction15_parser___ReduceAction15___init();
+val_t NEW_ReduceAction16_parser___ReduceAction___init();
+val_t NEW_ReduceAction16_parser___ReduceAction16___init();
+val_t NEW_ReduceAction17_parser___ReduceAction___init();
+val_t NEW_ReduceAction17_parser___ReduceAction17___init();
+val_t NEW_ReduceAction18_parser___ReduceAction___init();
+val_t NEW_ReduceAction18_parser___ReduceAction18___init();
+val_t NEW_ReduceAction19_parser___ReduceAction___init();
+val_t NEW_ReduceAction19_parser___ReduceAction19___init();
+val_t NEW_ReduceAction20_parser___ReduceAction___init();
+val_t NEW_ReduceAction20_parser___ReduceAction20___init();
+val_t NEW_ReduceAction21_parser___ReduceAction___init();
+val_t NEW_ReduceAction21_parser___ReduceAction21___init();
+val_t NEW_ReduceAction22_parser___ReduceAction___init();
+val_t NEW_ReduceAction22_parser___ReduceAction22___init();
+val_t NEW_ReduceAction23_parser___ReduceAction___init();
+val_t NEW_ReduceAction23_parser___ReduceAction23___init();
+val_t NEW_ReduceAction24_parser___ReduceAction___init();
+val_t NEW_ReduceAction24_parser___ReduceAction24___init();
+val_t NEW_ReduceAction25_parser___ReduceAction___init();
+val_t NEW_ReduceAction25_parser___ReduceAction25___init();
+val_t NEW_ReduceAction26_parser___ReduceAction___init();
+val_t NEW_ReduceAction26_parser___ReduceAction26___init();
+val_t NEW_ReduceAction27_parser___ReduceAction___init();
+val_t NEW_ReduceAction27_parser___ReduceAction27___init();
+val_t NEW_ReduceAction28_parser___ReduceAction___init();
+val_t NEW_ReduceAction28_parser___ReduceAction28___init();
+val_t NEW_ReduceAction29_parser___ReduceAction___init();
+val_t NEW_ReduceAction29_parser___ReduceAction29___init();
+val_t NEW_ReduceAction30_parser___ReduceAction___init();
+val_t NEW_ReduceAction30_parser___ReduceAction30___init();
+val_t NEW_ReduceAction31_parser___ReduceAction___init();
+val_t NEW_ReduceAction31_parser___ReduceAction31___init();
+val_t NEW_ReduceAction32_parser___ReduceAction___init();
+val_t NEW_ReduceAction32_parser___ReduceAction32___init();
+val_t NEW_ReduceAction33_parser___ReduceAction___init();
+val_t NEW_ReduceAction33_parser___ReduceAction33___init();
+val_t NEW_ReduceAction34_parser___ReduceAction___init();
+val_t NEW_ReduceAction34_parser___ReduceAction34___init();
+val_t NEW_ReduceAction35_parser___ReduceAction___init();
+val_t NEW_ReduceAction35_parser___ReduceAction35___init();
+val_t NEW_ReduceAction36_parser___ReduceAction___init();
+val_t NEW_ReduceAction36_parser___ReduceAction36___init();
+val_t NEW_ReduceAction37_parser___ReduceAction___init();
+val_t NEW_ReduceAction37_parser___ReduceAction37___init();
+val_t NEW_ReduceAction38_parser___ReduceAction___init();
+val_t NEW_ReduceAction38_parser___ReduceAction38___init();
+val_t NEW_ReduceAction39_parser___ReduceAction___init();
+val_t NEW_ReduceAction39_parser___ReduceAction39___init();
+val_t NEW_ReduceAction40_parser___ReduceAction___init();
+val_t NEW_ReduceAction40_parser___ReduceAction40___init();
+val_t NEW_ReduceAction41_parser___ReduceAction___init();
+val_t NEW_ReduceAction41_parser___ReduceAction41___init();
+val_t NEW_ReduceAction42_parser___ReduceAction___init();
+val_t NEW_ReduceAction42_parser___ReduceAction42___init();
+val_t NEW_ReduceAction43_parser___ReduceAction___init();
+val_t NEW_ReduceAction43_parser___ReduceAction43___init();
+val_t NEW_ReduceAction44_parser___ReduceAction___init();
+val_t NEW_ReduceAction44_parser___ReduceAction44___init();
+val_t NEW_ReduceAction45_parser___ReduceAction___init();
+val_t NEW_ReduceAction45_parser___ReduceAction45___init();
+val_t NEW_ReduceAction46_parser___ReduceAction___init();
+val_t NEW_ReduceAction46_parser___ReduceAction46___init();
+val_t NEW_ReduceAction47_parser___ReduceAction___init();
+val_t NEW_ReduceAction47_parser___ReduceAction47___init();
+val_t NEW_ReduceAction48_parser___ReduceAction___init();
+val_t NEW_ReduceAction48_parser___ReduceAction48___init();
+val_t NEW_ReduceAction49_parser___ReduceAction___init();
+val_t NEW_ReduceAction49_parser___ReduceAction49___init();
+val_t NEW_ReduceAction50_parser___ReduceAction___init();
+val_t NEW_ReduceAction50_parser___ReduceAction50___init();
+val_t NEW_ReduceAction51_parser___ReduceAction___init();
+val_t NEW_ReduceAction51_parser___ReduceAction51___init();
+val_t NEW_ReduceAction52_parser___ReduceAction___init();
+val_t NEW_ReduceAction52_parser___ReduceAction52___init();
+val_t NEW_ReduceAction53_parser___ReduceAction___init();
+val_t NEW_ReduceAction53_parser___ReduceAction53___init();
+val_t NEW_ReduceAction54_parser___ReduceAction___init();
+val_t NEW_ReduceAction54_parser___ReduceAction54___init();
+val_t NEW_ReduceAction55_parser___ReduceAction___init();
+val_t NEW_ReduceAction55_parser___ReduceAction55___init();
+val_t NEW_ReduceAction56_parser___ReduceAction___init();
+val_t NEW_ReduceAction56_parser___ReduceAction56___init();
+val_t NEW_ReduceAction57_parser___ReduceAction___init();
+val_t NEW_ReduceAction57_parser___ReduceAction57___init();
+val_t NEW_ReduceAction58_parser___ReduceAction___init();
+val_t NEW_ReduceAction58_parser___ReduceAction58___init();
+val_t NEW_ReduceAction59_parser___ReduceAction___init();
+val_t NEW_ReduceAction59_parser___ReduceAction59___init();
+val_t NEW_ReduceAction60_parser___ReduceAction___init();
+val_t NEW_ReduceAction60_parser___ReduceAction60___init();
+val_t NEW_ReduceAction61_parser___ReduceAction___init();
+val_t NEW_ReduceAction61_parser___ReduceAction61___init();
+val_t NEW_ReduceAction62_parser___ReduceAction___init();
+val_t NEW_ReduceAction62_parser___ReduceAction62___init();
+val_t NEW_ReduceAction63_parser___ReduceAction___init();
+val_t NEW_ReduceAction63_parser___ReduceAction63___init();
+val_t NEW_ReduceAction64_parser___ReduceAction___init();
+val_t NEW_ReduceAction64_parser___ReduceAction64___init();
+val_t NEW_ReduceAction65_parser___ReduceAction___init();
+val_t NEW_ReduceAction65_parser___ReduceAction65___init();
+val_t NEW_ReduceAction66_parser___ReduceAction___init();
+val_t NEW_ReduceAction66_parser___ReduceAction66___init();
+val_t NEW_ReduceAction67_parser___ReduceAction___init();
+val_t NEW_ReduceAction67_parser___ReduceAction67___init();
+val_t NEW_ReduceAction68_parser___ReduceAction___init();
+val_t NEW_ReduceAction68_parser___ReduceAction68___init();
+val_t NEW_ReduceAction69_parser___ReduceAction___init();
+val_t NEW_ReduceAction69_parser___ReduceAction69___init();
+val_t NEW_ReduceAction70_parser___ReduceAction___init();
+val_t NEW_ReduceAction70_parser___ReduceAction70___init();
+val_t NEW_ReduceAction71_parser___ReduceAction___init();
+val_t NEW_ReduceAction71_parser___ReduceAction71___init();
+val_t NEW_ReduceAction72_parser___ReduceAction___init();
+val_t NEW_ReduceAction72_parser___ReduceAction72___init();
+val_t NEW_ReduceAction73_parser___ReduceAction___init();
+val_t NEW_ReduceAction73_parser___ReduceAction73___init();
+val_t NEW_ReduceAction74_parser___ReduceAction___init();
+val_t NEW_ReduceAction74_parser___ReduceAction74___init();
+val_t NEW_ReduceAction75_parser___ReduceAction___init();
+val_t NEW_ReduceAction75_parser___ReduceAction75___init();
+val_t NEW_ReduceAction76_parser___ReduceAction___init();
+val_t NEW_ReduceAction76_parser___ReduceAction76___init();
+val_t NEW_ReduceAction77_parser___ReduceAction___init();
+val_t NEW_ReduceAction77_parser___ReduceAction77___init();
+val_t NEW_ReduceAction78_parser___ReduceAction___init();
+val_t NEW_ReduceAction78_parser___ReduceAction78___init();
+val_t NEW_ReduceAction79_parser___ReduceAction___init();
+val_t NEW_ReduceAction79_parser___ReduceAction79___init();
+val_t NEW_ReduceAction80_parser___ReduceAction___init();
+val_t NEW_ReduceAction80_parser___ReduceAction80___init();
+val_t NEW_ReduceAction81_parser___ReduceAction___init();
+val_t NEW_ReduceAction81_parser___ReduceAction81___init();
+val_t NEW_ReduceAction82_parser___ReduceAction___init();
+val_t NEW_ReduceAction82_parser___ReduceAction82___init();
+val_t NEW_ReduceAction83_parser___ReduceAction___init();
+val_t NEW_ReduceAction83_parser___ReduceAction83___init();
+val_t NEW_ReduceAction84_parser___ReduceAction___init();
+val_t NEW_ReduceAction84_parser___ReduceAction84___init();
+val_t NEW_ReduceAction85_parser___ReduceAction___init();
+val_t NEW_ReduceAction85_parser___ReduceAction85___init();
+val_t NEW_ReduceAction86_parser___ReduceAction___init();
+val_t NEW_ReduceAction86_parser___ReduceAction86___init();
+val_t NEW_ReduceAction87_parser___ReduceAction___init();
+val_t NEW_ReduceAction87_parser___ReduceAction87___init();
+val_t NEW_ReduceAction88_parser___ReduceAction___init();
+val_t NEW_ReduceAction88_parser___ReduceAction88___init();
+val_t NEW_ReduceAction89_parser___ReduceAction___init();
+val_t NEW_ReduceAction89_parser___ReduceAction89___init();
+val_t NEW_ReduceAction90_parser___ReduceAction___init();
+val_t NEW_ReduceAction90_parser___ReduceAction90___init();
+val_t NEW_ReduceAction91_parser___ReduceAction___init();
+val_t NEW_ReduceAction91_parser___ReduceAction91___init();
+val_t NEW_ReduceAction92_parser___ReduceAction___init();
+val_t NEW_ReduceAction92_parser___ReduceAction92___init();
+val_t NEW_ReduceAction93_parser___ReduceAction___init();
+val_t NEW_ReduceAction93_parser___ReduceAction93___init();
+val_t NEW_ReduceAction94_parser___ReduceAction___init();
+val_t NEW_ReduceAction94_parser___ReduceAction94___init();
+val_t NEW_ReduceAction95_parser___ReduceAction___init();
+val_t NEW_ReduceAction95_parser___ReduceAction95___init();
+val_t NEW_ReduceAction96_parser___ReduceAction___init();
+val_t NEW_ReduceAction96_parser___ReduceAction96___init();
+val_t NEW_ReduceAction97_parser___ReduceAction___init();
+val_t NEW_ReduceAction97_parser___ReduceAction97___init();
+val_t NEW_ReduceAction98_parser___ReduceAction___init();
+val_t NEW_ReduceAction98_parser___ReduceAction98___init();
+val_t NEW_ReduceAction99_parser___ReduceAction___init();
+val_t NEW_ReduceAction99_parser___ReduceAction99___init();
+val_t NEW_ReduceAction100_parser___ReduceAction___init();
+val_t NEW_ReduceAction100_parser___ReduceAction100___init();
+val_t NEW_ReduceAction101_parser___ReduceAction___init();
+val_t NEW_ReduceAction101_parser___ReduceAction101___init();
+val_t NEW_ReduceAction102_parser___ReduceAction___init();
+val_t NEW_ReduceAction102_parser___ReduceAction102___init();
+val_t NEW_ReduceAction103_parser___ReduceAction___init();
+val_t NEW_ReduceAction103_parser___ReduceAction103___init();
+val_t NEW_ReduceAction104_parser___ReduceAction___init();
+val_t NEW_ReduceAction104_parser___ReduceAction104___init();
+val_t NEW_ReduceAction105_parser___ReduceAction___init();
+val_t NEW_ReduceAction105_parser___ReduceAction105___init();
+val_t NEW_ReduceAction106_parser___ReduceAction___init();
+val_t NEW_ReduceAction106_parser___ReduceAction106___init();
+val_t NEW_ReduceAction107_parser___ReduceAction___init();
+val_t NEW_ReduceAction107_parser___ReduceAction107___init();
+val_t NEW_ReduceAction108_parser___ReduceAction___init();
+val_t NEW_ReduceAction108_parser___ReduceAction108___init();
+val_t NEW_ReduceAction109_parser___ReduceAction___init();
+val_t NEW_ReduceAction109_parser___ReduceAction109___init();
+val_t NEW_ReduceAction110_parser___ReduceAction___init();
+val_t NEW_ReduceAction110_parser___ReduceAction110___init();
+val_t NEW_ReduceAction111_parser___ReduceAction___init();
+val_t NEW_ReduceAction111_parser___ReduceAction111___init();
+val_t NEW_ReduceAction112_parser___ReduceAction___init();
+val_t NEW_ReduceAction112_parser___ReduceAction112___init();
+val_t NEW_ReduceAction113_parser___ReduceAction___init();
+val_t NEW_ReduceAction113_parser___ReduceAction113___init();
+val_t NEW_ReduceAction114_parser___ReduceAction___init();
+val_t NEW_ReduceAction114_parser___ReduceAction114___init();
+val_t NEW_ReduceAction115_parser___ReduceAction___init();
+val_t NEW_ReduceAction115_parser___ReduceAction115___init();
+val_t NEW_ReduceAction116_parser___ReduceAction___init();
+val_t NEW_ReduceAction116_parser___ReduceAction116___init();
+val_t NEW_ReduceAction117_parser___ReduceAction___init();
+val_t NEW_ReduceAction117_parser___ReduceAction117___init();
+val_t NEW_ReduceAction118_parser___ReduceAction___init();
+val_t NEW_ReduceAction118_parser___ReduceAction118___init();
+val_t NEW_ReduceAction119_parser___ReduceAction___init();
+val_t NEW_ReduceAction119_parser___ReduceAction119___init();
+val_t NEW_ReduceAction120_parser___ReduceAction___init();
+val_t NEW_ReduceAction120_parser___ReduceAction120___init();
+val_t NEW_ReduceAction121_parser___ReduceAction___init();
+val_t NEW_ReduceAction121_parser___ReduceAction121___init();
+val_t NEW_ReduceAction122_parser___ReduceAction___init();
+val_t NEW_ReduceAction122_parser___ReduceAction122___init();
+val_t NEW_ReduceAction123_parser___ReduceAction___init();
+val_t NEW_ReduceAction123_parser___ReduceAction123___init();
+val_t NEW_ReduceAction124_parser___ReduceAction___init();
+val_t NEW_ReduceAction124_parser___ReduceAction124___init();
+val_t NEW_ReduceAction125_parser___ReduceAction___init();
+val_t NEW_ReduceAction125_parser___ReduceAction125___init();
+val_t NEW_ReduceAction126_parser___ReduceAction___init();
+val_t NEW_ReduceAction126_parser___ReduceAction126___init();
+val_t NEW_ReduceAction127_parser___ReduceAction___init();
+val_t NEW_ReduceAction127_parser___ReduceAction127___init();
+val_t NEW_ReduceAction128_parser___ReduceAction___init();
+val_t NEW_ReduceAction128_parser___ReduceAction128___init();
+val_t NEW_ReduceAction129_parser___ReduceAction___init();
+val_t NEW_ReduceAction129_parser___ReduceAction129___init();
+val_t NEW_ReduceAction130_parser___ReduceAction___init();
+val_t NEW_ReduceAction130_parser___ReduceAction130___init();
+val_t NEW_ReduceAction131_parser___ReduceAction___init();
+val_t NEW_ReduceAction131_parser___ReduceAction131___init();
+val_t NEW_ReduceAction132_parser___ReduceAction___init();
+val_t NEW_ReduceAction132_parser___ReduceAction132___init();
+val_t NEW_ReduceAction133_parser___ReduceAction___init();
+val_t NEW_ReduceAction133_parser___ReduceAction133___init();
+val_t NEW_ReduceAction134_parser___ReduceAction___init();
+val_t NEW_ReduceAction134_parser___ReduceAction134___init();
+val_t NEW_ReduceAction135_parser___ReduceAction___init();
+val_t NEW_ReduceAction135_parser___ReduceAction135___init();
+val_t NEW_ReduceAction136_parser___ReduceAction___init();
+val_t NEW_ReduceAction136_parser___ReduceAction136___init();
+val_t NEW_ReduceAction137_parser___ReduceAction___init();
+val_t NEW_ReduceAction137_parser___ReduceAction137___init();
+val_t NEW_ReduceAction138_parser___ReduceAction___init();
+val_t NEW_ReduceAction138_parser___ReduceAction138___init();
+val_t NEW_ReduceAction139_parser___ReduceAction___init();
+val_t NEW_ReduceAction139_parser___ReduceAction139___init();
+val_t NEW_ReduceAction140_parser___ReduceAction___init();
+val_t NEW_ReduceAction140_parser___ReduceAction140___init();
+val_t NEW_ReduceAction141_parser___ReduceAction___init();
+val_t NEW_ReduceAction141_parser___ReduceAction141___init();
+val_t NEW_ReduceAction142_parser___ReduceAction___init();
+val_t NEW_ReduceAction142_parser___ReduceAction142___init();
+val_t NEW_ReduceAction143_parser___ReduceAction___init();
+val_t NEW_ReduceAction143_parser___ReduceAction143___init();
+val_t NEW_ReduceAction144_parser___ReduceAction___init();
+val_t NEW_ReduceAction144_parser___ReduceAction144___init();
+val_t NEW_ReduceAction145_parser___ReduceAction___init();
+val_t NEW_ReduceAction145_parser___ReduceAction145___init();
+val_t NEW_ReduceAction146_parser___ReduceAction___init();
+val_t NEW_ReduceAction146_parser___ReduceAction146___init();
+val_t NEW_ReduceAction147_parser___ReduceAction___init();
+val_t NEW_ReduceAction147_parser___ReduceAction147___init();
+val_t NEW_ReduceAction148_parser___ReduceAction___init();
+val_t NEW_ReduceAction148_parser___ReduceAction148___init();
+val_t NEW_ReduceAction149_parser___ReduceAction___init();
+val_t NEW_ReduceAction149_parser___ReduceAction149___init();
+val_t NEW_ReduceAction150_parser___ReduceAction___init();
+val_t NEW_ReduceAction150_parser___ReduceAction150___init();
+val_t NEW_ReduceAction151_parser___ReduceAction___init();
+val_t NEW_ReduceAction151_parser___ReduceAction151___init();
+val_t NEW_ReduceAction152_parser___ReduceAction___init();
+val_t NEW_ReduceAction152_parser___ReduceAction152___init();
+val_t NEW_ReduceAction153_parser___ReduceAction___init();
+val_t NEW_ReduceAction153_parser___ReduceAction153___init();
+val_t NEW_ReduceAction154_parser___ReduceAction___init();
+val_t NEW_ReduceAction154_parser___ReduceAction154___init();
+val_t NEW_ReduceAction155_parser___ReduceAction___init();
+val_t NEW_ReduceAction155_parser___ReduceAction155___init();
+val_t NEW_ReduceAction156_parser___ReduceAction___init();
+val_t NEW_ReduceAction156_parser___ReduceAction156___init();
+val_t NEW_ReduceAction157_parser___ReduceAction___init();
+val_t NEW_ReduceAction157_parser___ReduceAction157___init();
+val_t NEW_ReduceAction158_parser___ReduceAction___init();
+val_t NEW_ReduceAction158_parser___ReduceAction158___init();
+val_t NEW_ReduceAction159_parser___ReduceAction___init();
+val_t NEW_ReduceAction159_parser___ReduceAction159___init();
+val_t NEW_ReduceAction160_parser___ReduceAction___init();
+val_t NEW_ReduceAction160_parser___ReduceAction160___init();
+val_t NEW_ReduceAction161_parser___ReduceAction___init();
+val_t NEW_ReduceAction161_parser___ReduceAction161___init();
+val_t NEW_ReduceAction162_parser___ReduceAction___init();
+val_t NEW_ReduceAction162_parser___ReduceAction162___init();
+val_t NEW_ReduceAction163_parser___ReduceAction___init();
+val_t NEW_ReduceAction163_parser___ReduceAction163___init();
+val_t NEW_ReduceAction164_parser___ReduceAction___init();
+val_t NEW_ReduceAction164_parser___ReduceAction164___init();
+val_t NEW_ReduceAction165_parser___ReduceAction___init();
+val_t NEW_ReduceAction165_parser___ReduceAction165___init();
+val_t NEW_ReduceAction166_parser___ReduceAction___init();
+val_t NEW_ReduceAction166_parser___ReduceAction166___init();
+val_t NEW_ReduceAction167_parser___ReduceAction___init();
+val_t NEW_ReduceAction167_parser___ReduceAction167___init();
+val_t NEW_ReduceAction168_parser___ReduceAction___init();
+val_t NEW_ReduceAction168_parser___ReduceAction168___init();
+val_t NEW_ReduceAction169_parser___ReduceAction___init();
+val_t NEW_ReduceAction169_parser___ReduceAction169___init();
+val_t NEW_ReduceAction170_parser___ReduceAction___init();
+val_t NEW_ReduceAction170_parser___ReduceAction170___init();
+val_t NEW_ReduceAction171_parser___ReduceAction___init();
+val_t NEW_ReduceAction171_parser___ReduceAction171___init();
+val_t NEW_ReduceAction172_parser___ReduceAction___init();
+val_t NEW_ReduceAction172_parser___ReduceAction172___init();
+val_t NEW_ReduceAction173_parser___ReduceAction___init();
+val_t NEW_ReduceAction173_parser___ReduceAction173___init();
+val_t NEW_ReduceAction174_parser___ReduceAction___init();
+val_t NEW_ReduceAction174_parser___ReduceAction174___init();
+val_t NEW_ReduceAction175_parser___ReduceAction___init();
+val_t NEW_ReduceAction175_parser___ReduceAction175___init();
+val_t NEW_ReduceAction176_parser___ReduceAction___init();
+val_t NEW_ReduceAction176_parser___ReduceAction176___init();
+val_t NEW_ReduceAction177_parser___ReduceAction___init();
+val_t NEW_ReduceAction177_parser___ReduceAction177___init();
+val_t NEW_ReduceAction178_parser___ReduceAction___init();
+val_t NEW_ReduceAction178_parser___ReduceAction178___init();
+val_t NEW_ReduceAction179_parser___ReduceAction___init();
+val_t NEW_ReduceAction179_parser___ReduceAction179___init();
+val_t NEW_ReduceAction180_parser___ReduceAction___init();
+val_t NEW_ReduceAction180_parser___ReduceAction180___init();
+val_t NEW_ReduceAction181_parser___ReduceAction___init();
+val_t NEW_ReduceAction181_parser___ReduceAction181___init();
+val_t NEW_ReduceAction182_parser___ReduceAction___init();
+val_t NEW_ReduceAction182_parser___ReduceAction182___init();
+val_t NEW_ReduceAction183_parser___ReduceAction___init();
+val_t NEW_ReduceAction183_parser___ReduceAction183___init();
+val_t NEW_ReduceAction184_parser___ReduceAction___init();
+val_t NEW_ReduceAction184_parser___ReduceAction184___init();
+val_t NEW_ReduceAction185_parser___ReduceAction___init();
+val_t NEW_ReduceAction185_parser___ReduceAction185___init();
+val_t NEW_ReduceAction186_parser___ReduceAction___init();
+val_t NEW_ReduceAction186_parser___ReduceAction186___init();
+val_t NEW_ReduceAction187_parser___ReduceAction___init();
+val_t NEW_ReduceAction187_parser___ReduceAction187___init();
+val_t NEW_ReduceAction188_parser___ReduceAction___init();
+val_t NEW_ReduceAction188_parser___ReduceAction188___init();
+val_t NEW_ReduceAction189_parser___ReduceAction___init();
+val_t NEW_ReduceAction189_parser___ReduceAction189___init();
+val_t NEW_ReduceAction190_parser___ReduceAction___init();
+val_t NEW_ReduceAction190_parser___ReduceAction190___init();
+val_t NEW_ReduceAction191_parser___ReduceAction___init();
+val_t NEW_ReduceAction191_parser___ReduceAction191___init();
+val_t NEW_ReduceAction192_parser___ReduceAction___init();
+val_t NEW_ReduceAction192_parser___ReduceAction192___init();
+val_t NEW_ReduceAction193_parser___ReduceAction___init();
+val_t NEW_ReduceAction193_parser___ReduceAction193___init();
+val_t NEW_ReduceAction194_parser___ReduceAction___init();
+val_t NEW_ReduceAction194_parser___ReduceAction194___init();
+val_t NEW_ReduceAction195_parser___ReduceAction___init();
+val_t NEW_ReduceAction195_parser___ReduceAction195___init();
+val_t NEW_ReduceAction196_parser___ReduceAction___init();
+val_t NEW_ReduceAction196_parser___ReduceAction196___init();
+val_t NEW_ReduceAction197_parser___ReduceAction___init();
+val_t NEW_ReduceAction197_parser___ReduceAction197___init();
+val_t NEW_ReduceAction198_parser___ReduceAction___init();
+val_t NEW_ReduceAction198_parser___ReduceAction198___init();
+val_t NEW_ReduceAction199_parser___ReduceAction___init();
+val_t NEW_ReduceAction199_parser___ReduceAction199___init();
+val_t NEW_ReduceAction200_parser___ReduceAction___init();
+val_t NEW_ReduceAction200_parser___ReduceAction200___init();
+val_t NEW_ReduceAction201_parser___ReduceAction___init();
+val_t NEW_ReduceAction201_parser___ReduceAction201___init();
+val_t NEW_ReduceAction202_parser___ReduceAction___init();
+val_t NEW_ReduceAction202_parser___ReduceAction202___init();
+val_t NEW_ReduceAction203_parser___ReduceAction___init();
+val_t NEW_ReduceAction203_parser___ReduceAction203___init();
+val_t NEW_ReduceAction204_parser___ReduceAction___init();
+val_t NEW_ReduceAction204_parser___ReduceAction204___init();
+val_t NEW_ReduceAction205_parser___ReduceAction___init();
+val_t NEW_ReduceAction205_parser___ReduceAction205___init();
+val_t NEW_ReduceAction206_parser___ReduceAction___init();
+val_t NEW_ReduceAction206_parser___ReduceAction206___init();
+val_t NEW_ReduceAction207_parser___ReduceAction___init();
+val_t NEW_ReduceAction207_parser___ReduceAction207___init();
+val_t NEW_ReduceAction208_parser___ReduceAction___init();
+val_t NEW_ReduceAction208_parser___ReduceAction208___init();
+val_t NEW_ReduceAction209_parser___ReduceAction___init();
+val_t NEW_ReduceAction209_parser___ReduceAction209___init();
+val_t NEW_ReduceAction210_parser___ReduceAction___init();
+val_t NEW_ReduceAction210_parser___ReduceAction210___init();
+val_t NEW_ReduceAction211_parser___ReduceAction___init();
+val_t NEW_ReduceAction211_parser___ReduceAction211___init();
+val_t NEW_ReduceAction212_parser___ReduceAction___init();
+val_t NEW_ReduceAction212_parser___ReduceAction212___init();
+val_t NEW_ReduceAction213_parser___ReduceAction___init();
+val_t NEW_ReduceAction213_parser___ReduceAction213___init();
+val_t NEW_ReduceAction214_parser___ReduceAction___init();
+val_t NEW_ReduceAction214_parser___ReduceAction214___init();
+val_t NEW_ReduceAction215_parser___ReduceAction___init();
+val_t NEW_ReduceAction215_parser___ReduceAction215___init();
+val_t NEW_ReduceAction216_parser___ReduceAction___init();
+val_t NEW_ReduceAction216_parser___ReduceAction216___init();
+val_t NEW_ReduceAction217_parser___ReduceAction___init();
+val_t NEW_ReduceAction217_parser___ReduceAction217___init();
+val_t NEW_ReduceAction218_parser___ReduceAction___init();
+val_t NEW_ReduceAction218_parser___ReduceAction218___init();
+val_t NEW_ReduceAction219_parser___ReduceAction___init();
+val_t NEW_ReduceAction219_parser___ReduceAction219___init();
+val_t NEW_ReduceAction220_parser___ReduceAction___init();
+val_t NEW_ReduceAction220_parser___ReduceAction220___init();
+val_t NEW_ReduceAction221_parser___ReduceAction___init();
+val_t NEW_ReduceAction221_parser___ReduceAction221___init();
+val_t NEW_ReduceAction222_parser___ReduceAction___init();
+val_t NEW_ReduceAction222_parser___ReduceAction222___init();
+val_t NEW_ReduceAction223_parser___ReduceAction___init();
+val_t NEW_ReduceAction223_parser___ReduceAction223___init();
+val_t NEW_ReduceAction224_parser___ReduceAction___init();
+val_t NEW_ReduceAction224_parser___ReduceAction224___init();
+val_t NEW_ReduceAction225_parser___ReduceAction___init();
+val_t NEW_ReduceAction225_parser___ReduceAction225___init();
+val_t NEW_ReduceAction226_parser___ReduceAction___init();
+val_t NEW_ReduceAction226_parser___ReduceAction226___init();
+val_t NEW_ReduceAction227_parser___ReduceAction___init();
+val_t NEW_ReduceAction227_parser___ReduceAction227___init();
+val_t NEW_ReduceAction228_parser___ReduceAction___init();
+val_t NEW_ReduceAction228_parser___ReduceAction228___init();
+val_t NEW_ReduceAction229_parser___ReduceAction___init();
+val_t NEW_ReduceAction229_parser___ReduceAction229___init();
+val_t NEW_ReduceAction230_parser___ReduceAction___init();
+val_t NEW_ReduceAction230_parser___ReduceAction230___init();
+val_t NEW_ReduceAction231_parser___ReduceAction___init();
+val_t NEW_ReduceAction231_parser___ReduceAction231___init();
+val_t NEW_ReduceAction232_parser___ReduceAction___init();
+val_t NEW_ReduceAction232_parser___ReduceAction232___init();
+val_t NEW_ReduceAction233_parser___ReduceAction___init();
+val_t NEW_ReduceAction233_parser___ReduceAction233___init();
+val_t NEW_ReduceAction234_parser___ReduceAction___init();
+val_t NEW_ReduceAction234_parser___ReduceAction234___init();
+val_t NEW_ReduceAction235_parser___ReduceAction___init();
+val_t NEW_ReduceAction235_parser___ReduceAction235___init();
+val_t NEW_ReduceAction236_parser___ReduceAction___init();
+val_t NEW_ReduceAction236_parser___ReduceAction236___init();
+val_t NEW_ReduceAction237_parser___ReduceAction___init();
+val_t NEW_ReduceAction237_parser___ReduceAction237___init();
+val_t NEW_ReduceAction238_parser___ReduceAction___init();
+val_t NEW_ReduceAction238_parser___ReduceAction238___init();
+val_t NEW_ReduceAction239_parser___ReduceAction___init();
+val_t NEW_ReduceAction239_parser___ReduceAction239___init();
+val_t NEW_ReduceAction240_parser___ReduceAction___init();
+val_t NEW_ReduceAction240_parser___ReduceAction240___init();
+val_t NEW_ReduceAction241_parser___ReduceAction___init();
+val_t NEW_ReduceAction241_parser___ReduceAction241___init();
+val_t NEW_ReduceAction242_parser___ReduceAction___init();
+val_t NEW_ReduceAction242_parser___ReduceAction242___init();
+val_t NEW_ReduceAction243_parser___ReduceAction___init();
+val_t NEW_ReduceAction243_parser___ReduceAction243___init();
+val_t NEW_ReduceAction244_parser___ReduceAction___init();
+val_t NEW_ReduceAction244_parser___ReduceAction244___init();
+val_t NEW_ReduceAction245_parser___ReduceAction___init();
+val_t NEW_ReduceAction245_parser___ReduceAction245___init();
+val_t NEW_ReduceAction246_parser___ReduceAction___init();
+val_t NEW_ReduceAction246_parser___ReduceAction246___init();
+val_t NEW_ReduceAction247_parser___ReduceAction___init();
+val_t NEW_ReduceAction247_parser___ReduceAction247___init();
+val_t NEW_ReduceAction248_parser___ReduceAction___init();
+val_t NEW_ReduceAction248_parser___ReduceAction248___init();
+val_t NEW_ReduceAction249_parser___ReduceAction___init();
+val_t NEW_ReduceAction249_parser___ReduceAction249___init();
+val_t NEW_ReduceAction250_parser___ReduceAction___init();
+val_t NEW_ReduceAction250_parser___ReduceAction250___init();
+val_t NEW_ReduceAction251_parser___ReduceAction___init();
+val_t NEW_ReduceAction251_parser___ReduceAction251___init();
+val_t NEW_ReduceAction252_parser___ReduceAction___init();
+val_t NEW_ReduceAction252_parser___ReduceAction252___init();
+val_t NEW_ReduceAction253_parser___ReduceAction___init();
+val_t NEW_ReduceAction253_parser___ReduceAction253___init();
+val_t NEW_ReduceAction254_parser___ReduceAction___init();
+val_t NEW_ReduceAction254_parser___ReduceAction254___init();
+val_t NEW_ReduceAction255_parser___ReduceAction___init();
+val_t NEW_ReduceAction255_parser___ReduceAction255___init();
+val_t NEW_ReduceAction256_parser___ReduceAction___init();
+val_t NEW_ReduceAction256_parser___ReduceAction256___init();
+val_t NEW_ReduceAction257_parser___ReduceAction___init();
+val_t NEW_ReduceAction257_parser___ReduceAction257___init();
+val_t NEW_ReduceAction258_parser___ReduceAction___init();
+val_t NEW_ReduceAction258_parser___ReduceAction258___init();
+val_t NEW_ReduceAction259_parser___ReduceAction___init();
+val_t NEW_ReduceAction259_parser___ReduceAction259___init();
+val_t NEW_ReduceAction260_parser___ReduceAction___init();
+val_t NEW_ReduceAction260_parser___ReduceAction260___init();
+val_t NEW_ReduceAction261_parser___ReduceAction___init();
+val_t NEW_ReduceAction261_parser___ReduceAction261___init();
+val_t NEW_ReduceAction262_parser___ReduceAction___init();
+val_t NEW_ReduceAction262_parser___ReduceAction262___init();
+val_t NEW_ReduceAction263_parser___ReduceAction___init();
+val_t NEW_ReduceAction263_parser___ReduceAction263___init();
+val_t NEW_ReduceAction264_parser___ReduceAction___init();
+val_t NEW_ReduceAction264_parser___ReduceAction264___init();
+val_t NEW_ReduceAction265_parser___ReduceAction___init();
+val_t NEW_ReduceAction265_parser___ReduceAction265___init();
+val_t NEW_ReduceAction266_parser___ReduceAction___init();
+val_t NEW_ReduceAction266_parser___ReduceAction266___init();
+val_t NEW_ReduceAction267_parser___ReduceAction___init();
+val_t NEW_ReduceAction267_parser___ReduceAction267___init();
+val_t NEW_ReduceAction268_parser___ReduceAction___init();
+val_t NEW_ReduceAction268_parser___ReduceAction268___init();
+val_t NEW_ReduceAction269_parser___ReduceAction___init();
+val_t NEW_ReduceAction269_parser___ReduceAction269___init();
+val_t NEW_ReduceAction270_parser___ReduceAction___init();
+val_t NEW_ReduceAction270_parser___ReduceAction270___init();
+val_t NEW_ReduceAction271_parser___ReduceAction___init();
+val_t NEW_ReduceAction271_parser___ReduceAction271___init();
+val_t NEW_ReduceAction272_parser___ReduceAction___init();
+val_t NEW_ReduceAction272_parser___ReduceAction272___init();
+val_t NEW_ReduceAction273_parser___ReduceAction___init();
+val_t NEW_ReduceAction273_parser___ReduceAction273___init();
+val_t NEW_ReduceAction274_parser___ReduceAction___init();
+val_t NEW_ReduceAction274_parser___ReduceAction274___init();
+val_t NEW_ReduceAction275_parser___ReduceAction___init();
+val_t NEW_ReduceAction275_parser___ReduceAction275___init();
+val_t NEW_ReduceAction276_parser___ReduceAction___init();
+val_t NEW_ReduceAction276_parser___ReduceAction276___init();
+val_t NEW_ReduceAction277_parser___ReduceAction___init();
+val_t NEW_ReduceAction277_parser___ReduceAction277___init();
+val_t NEW_ReduceAction278_parser___ReduceAction___init();
+val_t NEW_ReduceAction278_parser___ReduceAction278___init();
+val_t NEW_ReduceAction279_parser___ReduceAction___init();
+val_t NEW_ReduceAction279_parser___ReduceAction279___init();
+val_t NEW_ReduceAction280_parser___ReduceAction___init();
+val_t NEW_ReduceAction280_parser___ReduceAction280___init();
+val_t NEW_ReduceAction281_parser___ReduceAction___init();
+val_t NEW_ReduceAction281_parser___ReduceAction281___init();
+val_t NEW_ReduceAction282_parser___ReduceAction___init();
+val_t NEW_ReduceAction282_parser___ReduceAction282___init();
+val_t NEW_ReduceAction283_parser___ReduceAction___init();
+val_t NEW_ReduceAction283_parser___ReduceAction283___init();
+val_t NEW_ReduceAction284_parser___ReduceAction___init();
+val_t NEW_ReduceAction284_parser___ReduceAction284___init();
+val_t NEW_ReduceAction285_parser___ReduceAction___init();
+val_t NEW_ReduceAction285_parser___ReduceAction285___init();
+val_t NEW_ReduceAction286_parser___ReduceAction___init();
+val_t NEW_ReduceAction286_parser___ReduceAction286___init();
+val_t NEW_ReduceAction287_parser___ReduceAction___init();
+val_t NEW_ReduceAction287_parser___ReduceAction287___init();
+val_t NEW_ReduceAction288_parser___ReduceAction___init();
+val_t NEW_ReduceAction288_parser___ReduceAction288___init();
+val_t NEW_ReduceAction289_parser___ReduceAction___init();
+val_t NEW_ReduceAction289_parser___ReduceAction289___init();
+val_t NEW_ReduceAction290_parser___ReduceAction___init();
+val_t NEW_ReduceAction290_parser___ReduceAction290___init();
+val_t NEW_ReduceAction291_parser___ReduceAction___init();
+val_t NEW_ReduceAction291_parser___ReduceAction291___init();
+val_t NEW_ReduceAction292_parser___ReduceAction___init();
+val_t NEW_ReduceAction292_parser___ReduceAction292___init();
+val_t NEW_ReduceAction293_parser___ReduceAction___init();
+val_t NEW_ReduceAction293_parser___ReduceAction293___init();
+val_t NEW_ReduceAction294_parser___ReduceAction___init();
+val_t NEW_ReduceAction294_parser___ReduceAction294___init();
+val_t NEW_ReduceAction295_parser___ReduceAction___init();
+val_t NEW_ReduceAction295_parser___ReduceAction295___init();
+val_t NEW_ReduceAction296_parser___ReduceAction___init();
+val_t NEW_ReduceAction296_parser___ReduceAction296___init();
+val_t NEW_ReduceAction297_parser___ReduceAction___init();
+val_t NEW_ReduceAction297_parser___ReduceAction297___init();
+val_t NEW_ReduceAction298_parser___ReduceAction___init();
+val_t NEW_ReduceAction298_parser___ReduceAction298___init();
+val_t NEW_ReduceAction299_parser___ReduceAction___init();
+val_t NEW_ReduceAction299_parser___ReduceAction299___init();
+val_t NEW_ReduceAction300_parser___ReduceAction___init();
+val_t NEW_ReduceAction300_parser___ReduceAction300___init();
+val_t NEW_ReduceAction301_parser___ReduceAction___init();
+val_t NEW_ReduceAction301_parser___ReduceAction301___init();
+val_t NEW_ReduceAction302_parser___ReduceAction___init();
+val_t NEW_ReduceAction302_parser___ReduceAction302___init();
+val_t NEW_ReduceAction303_parser___ReduceAction___init();
+val_t NEW_ReduceAction303_parser___ReduceAction303___init();
+val_t NEW_ReduceAction304_parser___ReduceAction___init();
+val_t NEW_ReduceAction304_parser___ReduceAction304___init();
+val_t NEW_ReduceAction305_parser___ReduceAction___init();
+val_t NEW_ReduceAction305_parser___ReduceAction305___init();
+val_t NEW_ReduceAction306_parser___ReduceAction___init();
+val_t NEW_ReduceAction306_parser___ReduceAction306___init();
+val_t NEW_ReduceAction307_parser___ReduceAction___init();
+val_t NEW_ReduceAction307_parser___ReduceAction307___init();
+val_t NEW_ReduceAction308_parser___ReduceAction___init();
+val_t NEW_ReduceAction308_parser___ReduceAction308___init();
+val_t NEW_ReduceAction309_parser___ReduceAction___init();
+val_t NEW_ReduceAction309_parser___ReduceAction309___init();
+val_t NEW_ReduceAction310_parser___ReduceAction___init();
+val_t NEW_ReduceAction310_parser___ReduceAction310___init();
+val_t NEW_ReduceAction311_parser___ReduceAction___init();
+val_t NEW_ReduceAction311_parser___ReduceAction311___init();
+val_t NEW_ReduceAction312_parser___ReduceAction___init();
+val_t NEW_ReduceAction312_parser___ReduceAction312___init();
+val_t NEW_ReduceAction313_parser___ReduceAction___init();
+val_t NEW_ReduceAction313_parser___ReduceAction313___init();
+val_t NEW_ReduceAction314_parser___ReduceAction___init();
+val_t NEW_ReduceAction314_parser___ReduceAction314___init();
+val_t NEW_ReduceAction315_parser___ReduceAction___init();
+val_t NEW_ReduceAction315_parser___ReduceAction315___init();
+val_t NEW_ReduceAction316_parser___ReduceAction___init();
+val_t NEW_ReduceAction316_parser___ReduceAction316___init();
+val_t NEW_ReduceAction317_parser___ReduceAction___init();
+val_t NEW_ReduceAction317_parser___ReduceAction317___init();
+val_t NEW_ReduceAction318_parser___ReduceAction___init();
+val_t NEW_ReduceAction318_parser___ReduceAction318___init();
+val_t NEW_ReduceAction319_parser___ReduceAction___init();
+val_t NEW_ReduceAction319_parser___ReduceAction319___init();
+val_t NEW_ReduceAction320_parser___ReduceAction___init();
+val_t NEW_ReduceAction320_parser___ReduceAction320___init();
+val_t NEW_ReduceAction321_parser___ReduceAction___init();
+val_t NEW_ReduceAction321_parser___ReduceAction321___init();
+val_t NEW_ReduceAction322_parser___ReduceAction___init();
+val_t NEW_ReduceAction322_parser___ReduceAction322___init();
+val_t NEW_ReduceAction323_parser___ReduceAction___init();
+val_t NEW_ReduceAction323_parser___ReduceAction323___init();
+val_t NEW_ReduceAction324_parser___ReduceAction___init();
+val_t NEW_ReduceAction324_parser___ReduceAction324___init();
+val_t NEW_ReduceAction325_parser___ReduceAction___init();
+val_t NEW_ReduceAction325_parser___ReduceAction325___init();
+val_t NEW_ReduceAction326_parser___ReduceAction___init();
+val_t NEW_ReduceAction326_parser___ReduceAction326___init();
+val_t NEW_ReduceAction327_parser___ReduceAction___init();
+val_t NEW_ReduceAction327_parser___ReduceAction327___init();
+val_t NEW_ReduceAction328_parser___ReduceAction___init();
+val_t NEW_ReduceAction328_parser___ReduceAction328___init();
+val_t NEW_ReduceAction329_parser___ReduceAction___init();
+val_t NEW_ReduceAction329_parser___ReduceAction329___init();
+val_t NEW_ReduceAction330_parser___ReduceAction___init();
+val_t NEW_ReduceAction330_parser___ReduceAction330___init();
+val_t NEW_ReduceAction331_parser___ReduceAction___init();
+val_t NEW_ReduceAction331_parser___ReduceAction331___init();
+val_t NEW_ReduceAction332_parser___ReduceAction___init();
+val_t NEW_ReduceAction332_parser___ReduceAction332___init();
+val_t NEW_ReduceAction333_parser___ReduceAction___init();
+val_t NEW_ReduceAction333_parser___ReduceAction333___init();
+val_t NEW_ReduceAction334_parser___ReduceAction___init();
+val_t NEW_ReduceAction334_parser___ReduceAction334___init();
+val_t NEW_ReduceAction335_parser___ReduceAction___init();
+val_t NEW_ReduceAction335_parser___ReduceAction335___init();
+val_t NEW_ReduceAction336_parser___ReduceAction___init();
+val_t NEW_ReduceAction336_parser___ReduceAction336___init();
+val_t NEW_ReduceAction337_parser___ReduceAction___init();
+val_t NEW_ReduceAction337_parser___ReduceAction337___init();
+val_t NEW_ReduceAction338_parser___ReduceAction___init();
+val_t NEW_ReduceAction338_parser___ReduceAction338___init();
+val_t NEW_ReduceAction339_parser___ReduceAction___init();
+val_t NEW_ReduceAction339_parser___ReduceAction339___init();
+val_t NEW_ReduceAction340_parser___ReduceAction___init();
+val_t NEW_ReduceAction340_parser___ReduceAction340___init();
+val_t NEW_ReduceAction341_parser___ReduceAction___init();
+val_t NEW_ReduceAction341_parser___ReduceAction341___init();
+val_t NEW_ReduceAction342_parser___ReduceAction___init();
+val_t NEW_ReduceAction342_parser___ReduceAction342___init();
+val_t NEW_ReduceAction343_parser___ReduceAction___init();
+val_t NEW_ReduceAction343_parser___ReduceAction343___init();
+val_t NEW_ReduceAction344_parser___ReduceAction___init();
+val_t NEW_ReduceAction344_parser___ReduceAction344___init();
+val_t NEW_ReduceAction345_parser___ReduceAction___init();
+val_t NEW_ReduceAction345_parser___ReduceAction345___init();
+val_t NEW_ReduceAction346_parser___ReduceAction___init();
+val_t NEW_ReduceAction346_parser___ReduceAction346___init();
+val_t NEW_ReduceAction347_parser___ReduceAction___init();
+val_t NEW_ReduceAction347_parser___ReduceAction347___init();
+val_t NEW_ReduceAction348_parser___ReduceAction___init();
+val_t NEW_ReduceAction348_parser___ReduceAction348___init();
+val_t NEW_ReduceAction349_parser___ReduceAction___init();
+val_t NEW_ReduceAction349_parser___ReduceAction349___init();
+val_t NEW_ReduceAction350_parser___ReduceAction___init();
+val_t NEW_ReduceAction350_parser___ReduceAction350___init();
+val_t NEW_ReduceAction351_parser___ReduceAction___init();
+val_t NEW_ReduceAction351_parser___ReduceAction351___init();
+val_t NEW_ReduceAction352_parser___ReduceAction___init();
+val_t NEW_ReduceAction352_parser___ReduceAction352___init();
+val_t NEW_ReduceAction353_parser___ReduceAction___init();
+val_t NEW_ReduceAction353_parser___ReduceAction353___init();
+val_t NEW_ReduceAction354_parser___ReduceAction___init();
+val_t NEW_ReduceAction354_parser___ReduceAction354___init();
+val_t NEW_ReduceAction355_parser___ReduceAction___init();
+val_t NEW_ReduceAction355_parser___ReduceAction355___init();
+val_t NEW_ReduceAction356_parser___ReduceAction___init();
+val_t NEW_ReduceAction356_parser___ReduceAction356___init();
+val_t NEW_ReduceAction357_parser___ReduceAction___init();
+val_t NEW_ReduceAction357_parser___ReduceAction357___init();
+val_t NEW_ReduceAction358_parser___ReduceAction___init();
+val_t NEW_ReduceAction358_parser___ReduceAction358___init();
+val_t NEW_ReduceAction359_parser___ReduceAction___init();
+val_t NEW_ReduceAction359_parser___ReduceAction359___init();
+val_t NEW_ReduceAction360_parser___ReduceAction___init();
+val_t NEW_ReduceAction360_parser___ReduceAction360___init();
+val_t NEW_ReduceAction361_parser___ReduceAction___init();
+val_t NEW_ReduceAction361_parser___ReduceAction361___init();
+val_t NEW_ReduceAction362_parser___ReduceAction___init();
+val_t NEW_ReduceAction362_parser___ReduceAction362___init();
+val_t NEW_ReduceAction363_parser___ReduceAction___init();
+val_t NEW_ReduceAction363_parser___ReduceAction363___init();
+val_t NEW_ReduceAction364_parser___ReduceAction___init();
+val_t NEW_ReduceAction364_parser___ReduceAction364___init();
+val_t NEW_ReduceAction365_parser___ReduceAction___init();
+val_t NEW_ReduceAction365_parser___ReduceAction365___init();
+val_t NEW_ReduceAction366_parser___ReduceAction___init();
+val_t NEW_ReduceAction366_parser___ReduceAction366___init();
+val_t NEW_ReduceAction367_parser___ReduceAction___init();
+val_t NEW_ReduceAction367_parser___ReduceAction367___init();
+val_t NEW_ReduceAction368_parser___ReduceAction___init();
+val_t NEW_ReduceAction368_parser___ReduceAction368___init();
+val_t NEW_ReduceAction369_parser___ReduceAction___init();
+val_t NEW_ReduceAction369_parser___ReduceAction369___init();
+val_t NEW_ReduceAction370_parser___ReduceAction___init();
+val_t NEW_ReduceAction370_parser___ReduceAction370___init();
+val_t NEW_ReduceAction371_parser___ReduceAction___init();
+val_t NEW_ReduceAction371_parser___ReduceAction371___init();
+val_t NEW_ReduceAction372_parser___ReduceAction___init();
+val_t NEW_ReduceAction372_parser___ReduceAction372___init();
+val_t NEW_ReduceAction373_parser___ReduceAction___init();
+val_t NEW_ReduceAction373_parser___ReduceAction373___init();
+val_t NEW_ReduceAction374_parser___ReduceAction___init();
+val_t NEW_ReduceAction374_parser___ReduceAction374___init();
+val_t NEW_ReduceAction375_parser___ReduceAction___init();
+val_t NEW_ReduceAction375_parser___ReduceAction375___init();
+val_t NEW_ReduceAction376_parser___ReduceAction___init();
+val_t NEW_ReduceAction376_parser___ReduceAction376___init();
+val_t NEW_ReduceAction377_parser___ReduceAction___init();
+val_t NEW_ReduceAction377_parser___ReduceAction377___init();
+val_t NEW_ReduceAction378_parser___ReduceAction___init();
+val_t NEW_ReduceAction378_parser___ReduceAction378___init();
+val_t NEW_ReduceAction379_parser___ReduceAction___init();
+val_t NEW_ReduceAction379_parser___ReduceAction379___init();
+val_t NEW_ReduceAction380_parser___ReduceAction___init();
+val_t NEW_ReduceAction380_parser___ReduceAction380___init();
+val_t NEW_ReduceAction381_parser___ReduceAction___init();
+val_t NEW_ReduceAction381_parser___ReduceAction381___init();
+val_t NEW_ReduceAction382_parser___ReduceAction___init();
+val_t NEW_ReduceAction382_parser___ReduceAction382___init();
+val_t NEW_ReduceAction383_parser___ReduceAction___init();
+val_t NEW_ReduceAction383_parser___ReduceAction383___init();
+val_t NEW_ReduceAction384_parser___ReduceAction___init();
+val_t NEW_ReduceAction384_parser___ReduceAction384___init();
+val_t NEW_ReduceAction385_parser___ReduceAction___init();
+val_t NEW_ReduceAction385_parser___ReduceAction385___init();
+val_t NEW_ReduceAction386_parser___ReduceAction___init();
+val_t NEW_ReduceAction386_parser___ReduceAction386___init();
+val_t NEW_ReduceAction387_parser___ReduceAction___init();
+val_t NEW_ReduceAction387_parser___ReduceAction387___init();
+val_t NEW_ReduceAction388_parser___ReduceAction___init();
+val_t NEW_ReduceAction388_parser___ReduceAction388___init();
+val_t NEW_ReduceAction389_parser___ReduceAction___init();
+val_t NEW_ReduceAction389_parser___ReduceAction389___init();
+val_t NEW_ReduceAction390_parser___ReduceAction___init();
+val_t NEW_ReduceAction390_parser___ReduceAction390___init();
+val_t NEW_ReduceAction391_parser___ReduceAction___init();
+val_t NEW_ReduceAction391_parser___ReduceAction391___init();
+val_t NEW_ReduceAction392_parser___ReduceAction___init();
+val_t NEW_ReduceAction392_parser___ReduceAction392___init();
+val_t NEW_ReduceAction393_parser___ReduceAction___init();
+val_t NEW_ReduceAction393_parser___ReduceAction393___init();
+val_t NEW_ReduceAction394_parser___ReduceAction___init();
+val_t NEW_ReduceAction394_parser___ReduceAction394___init();
+val_t NEW_ReduceAction395_parser___ReduceAction___init();
+val_t NEW_ReduceAction395_parser___ReduceAction395___init();
+val_t NEW_ReduceAction396_parser___ReduceAction___init();
+val_t NEW_ReduceAction396_parser___ReduceAction396___init();
+val_t NEW_ReduceAction397_parser___ReduceAction___init();
+val_t NEW_ReduceAction397_parser___ReduceAction397___init();
+val_t NEW_ReduceAction398_parser___ReduceAction___init();
+val_t NEW_ReduceAction398_parser___ReduceAction398___init();
+val_t NEW_ReduceAction399_parser___ReduceAction___init();
+val_t NEW_ReduceAction399_parser___ReduceAction399___init();
+val_t NEW_ReduceAction400_parser___ReduceAction___init();
+val_t NEW_ReduceAction400_parser___ReduceAction400___init();
+val_t NEW_ReduceAction401_parser___ReduceAction___init();
+val_t NEW_ReduceAction401_parser___ReduceAction401___init();
+val_t NEW_ReduceAction402_parser___ReduceAction___init();
+val_t NEW_ReduceAction402_parser___ReduceAction402___init();
+val_t NEW_ReduceAction403_parser___ReduceAction___init();
+val_t NEW_ReduceAction403_parser___ReduceAction403___init();
+val_t NEW_ReduceAction404_parser___ReduceAction___init();
+val_t NEW_ReduceAction404_parser___ReduceAction404___init();
+val_t NEW_ReduceAction405_parser___ReduceAction___init();
+val_t NEW_ReduceAction405_parser___ReduceAction405___init();
+val_t NEW_ReduceAction406_parser___ReduceAction___init();
+val_t NEW_ReduceAction406_parser___ReduceAction406___init();
+val_t NEW_ReduceAction407_parser___ReduceAction___init();
+val_t NEW_ReduceAction407_parser___ReduceAction407___init();
+val_t NEW_ReduceAction408_parser___ReduceAction___init();
+val_t NEW_ReduceAction408_parser___ReduceAction408___init();
+val_t NEW_ReduceAction409_parser___ReduceAction___init();
+val_t NEW_ReduceAction409_parser___ReduceAction409___init();
+val_t NEW_ReduceAction410_parser___ReduceAction___init();
+val_t NEW_ReduceAction410_parser___ReduceAction410___init();
+val_t NEW_ReduceAction411_parser___ReduceAction___init();
+val_t NEW_ReduceAction411_parser___ReduceAction411___init();
+val_t NEW_ReduceAction412_parser___ReduceAction___init();
+val_t NEW_ReduceAction412_parser___ReduceAction412___init();
+val_t NEW_ReduceAction413_parser___ReduceAction___init();
+val_t NEW_ReduceAction413_parser___ReduceAction413___init();
+val_t NEW_ReduceAction414_parser___ReduceAction___init();
+val_t NEW_ReduceAction414_parser___ReduceAction414___init();
+val_t NEW_ReduceAction415_parser___ReduceAction___init();
+val_t NEW_ReduceAction415_parser___ReduceAction415___init();
+val_t NEW_ReduceAction416_parser___ReduceAction___init();
+val_t NEW_ReduceAction416_parser___ReduceAction416___init();
+val_t NEW_ReduceAction417_parser___ReduceAction___init();
+val_t NEW_ReduceAction417_parser___ReduceAction417___init();
+val_t NEW_ReduceAction418_parser___ReduceAction___init();
+val_t NEW_ReduceAction418_parser___ReduceAction418___init();
+val_t NEW_ReduceAction419_parser___ReduceAction___init();
+val_t NEW_ReduceAction419_parser___ReduceAction419___init();
+val_t NEW_ReduceAction420_parser___ReduceAction___init();
+val_t NEW_ReduceAction420_parser___ReduceAction420___init();
+val_t NEW_ReduceAction421_parser___ReduceAction___init();
+val_t NEW_ReduceAction421_parser___ReduceAction421___init();
+val_t NEW_ReduceAction422_parser___ReduceAction___init();
+val_t NEW_ReduceAction422_parser___ReduceAction422___init();
+val_t NEW_ReduceAction423_parser___ReduceAction___init();
+val_t NEW_ReduceAction423_parser___ReduceAction423___init();
+val_t NEW_ReduceAction424_parser___ReduceAction___init();
+val_t NEW_ReduceAction424_parser___ReduceAction424___init();
+val_t NEW_ReduceAction425_parser___ReduceAction___init();
+val_t NEW_ReduceAction425_parser___ReduceAction425___init();
+val_t NEW_ReduceAction426_parser___ReduceAction___init();
+val_t NEW_ReduceAction426_parser___ReduceAction426___init();
+val_t NEW_ReduceAction427_parser___ReduceAction___init();
+val_t NEW_ReduceAction427_parser___ReduceAction427___init();
+val_t NEW_ReduceAction428_parser___ReduceAction___init();
+val_t NEW_ReduceAction428_parser___ReduceAction428___init();
+val_t NEW_ReduceAction429_parser___ReduceAction___init();
+val_t NEW_ReduceAction429_parser___ReduceAction429___init();
+val_t NEW_ReduceAction430_parser___ReduceAction___init();
+val_t NEW_ReduceAction430_parser___ReduceAction430___init();
+val_t NEW_ReduceAction431_parser___ReduceAction___init();
+val_t NEW_ReduceAction431_parser___ReduceAction431___init();
+val_t NEW_ReduceAction432_parser___ReduceAction___init();
+val_t NEW_ReduceAction432_parser___ReduceAction432___init();
+val_t NEW_ReduceAction433_parser___ReduceAction___init();
+val_t NEW_ReduceAction433_parser___ReduceAction433___init();
+val_t NEW_ReduceAction434_parser___ReduceAction___init();
+val_t NEW_ReduceAction434_parser___ReduceAction434___init();
+val_t NEW_ReduceAction435_parser___ReduceAction___init();
+val_t NEW_ReduceAction435_parser___ReduceAction435___init();
+val_t NEW_ReduceAction436_parser___ReduceAction___init();
+val_t NEW_ReduceAction436_parser___ReduceAction436___init();
+val_t NEW_ReduceAction437_parser___ReduceAction___init();
+val_t NEW_ReduceAction437_parser___ReduceAction437___init();
+val_t NEW_ReduceAction438_parser___ReduceAction___init();
+val_t NEW_ReduceAction438_parser___ReduceAction438___init();
+val_t NEW_ReduceAction439_parser___ReduceAction___init();
+val_t NEW_ReduceAction439_parser___ReduceAction439___init();
+val_t NEW_ReduceAction440_parser___ReduceAction___init();
+val_t NEW_ReduceAction440_parser___ReduceAction440___init();
+val_t NEW_ReduceAction441_parser___ReduceAction___init();
+val_t NEW_ReduceAction441_parser___ReduceAction441___init();
+val_t NEW_ReduceAction442_parser___ReduceAction___init();
+val_t NEW_ReduceAction442_parser___ReduceAction442___init();
+val_t NEW_ReduceAction443_parser___ReduceAction___init();
+val_t NEW_ReduceAction443_parser___ReduceAction443___init();
+val_t NEW_ReduceAction444_parser___ReduceAction___init();
+val_t NEW_ReduceAction444_parser___ReduceAction444___init();
+val_t NEW_ReduceAction445_parser___ReduceAction___init();
+val_t NEW_ReduceAction445_parser___ReduceAction445___init();
+val_t NEW_ReduceAction446_parser___ReduceAction___init();
+val_t NEW_ReduceAction446_parser___ReduceAction446___init();
+val_t NEW_ReduceAction447_parser___ReduceAction___init();
+val_t NEW_ReduceAction447_parser___ReduceAction447___init();
+val_t NEW_ReduceAction448_parser___ReduceAction___init();
+val_t NEW_ReduceAction448_parser___ReduceAction448___init();
+val_t NEW_ReduceAction449_parser___ReduceAction___init();
+val_t NEW_ReduceAction449_parser___ReduceAction449___init();
+val_t NEW_ReduceAction450_parser___ReduceAction___init();
+val_t NEW_ReduceAction450_parser___ReduceAction450___init();
+val_t NEW_ReduceAction451_parser___ReduceAction___init();
+val_t NEW_ReduceAction451_parser___ReduceAction451___init();
+val_t NEW_ReduceAction452_parser___ReduceAction___init();
+val_t NEW_ReduceAction452_parser___ReduceAction452___init();
+val_t NEW_ReduceAction453_parser___ReduceAction___init();
+val_t NEW_ReduceAction453_parser___ReduceAction453___init();
+val_t NEW_ReduceAction454_parser___ReduceAction___init();
+val_t NEW_ReduceAction454_parser___ReduceAction454___init();
+val_t NEW_ReduceAction455_parser___ReduceAction___init();
+val_t NEW_ReduceAction455_parser___ReduceAction455___init();
+val_t NEW_ReduceAction456_parser___ReduceAction___init();
+val_t NEW_ReduceAction456_parser___ReduceAction456___init();
+val_t NEW_ReduceAction457_parser___ReduceAction___init();
+val_t NEW_ReduceAction457_parser___ReduceAction457___init();
+val_t NEW_ReduceAction458_parser___ReduceAction___init();
+val_t NEW_ReduceAction458_parser___ReduceAction458___init();
+val_t NEW_ReduceAction459_parser___ReduceAction___init();
+val_t NEW_ReduceAction459_parser___ReduceAction459___init();
+val_t NEW_ReduceAction460_parser___ReduceAction___init();
+val_t NEW_ReduceAction460_parser___ReduceAction460___init();
+val_t NEW_ReduceAction461_parser___ReduceAction___init();
+val_t NEW_ReduceAction461_parser___ReduceAction461___init();
+val_t NEW_ReduceAction462_parser___ReduceAction___init();
+val_t NEW_ReduceAction462_parser___ReduceAction462___init();
+val_t NEW_ReduceAction463_parser___ReduceAction___init();
+val_t NEW_ReduceAction463_parser___ReduceAction463___init();
+val_t NEW_ReduceAction464_parser___ReduceAction___init();
+val_t NEW_ReduceAction464_parser___ReduceAction464___init();
+val_t NEW_ReduceAction465_parser___ReduceAction___init();
+val_t NEW_ReduceAction465_parser___ReduceAction465___init();
+val_t NEW_ReduceAction466_parser___ReduceAction___init();
+val_t NEW_ReduceAction466_parser___ReduceAction466___init();
+val_t NEW_ReduceAction467_parser___ReduceAction___init();
+val_t NEW_ReduceAction467_parser___ReduceAction467___init();
+val_t NEW_ReduceAction468_parser___ReduceAction___init();
+val_t NEW_ReduceAction468_parser___ReduceAction468___init();
+val_t NEW_ReduceAction469_parser___ReduceAction___init();
+val_t NEW_ReduceAction469_parser___ReduceAction469___init();
+val_t NEW_ReduceAction470_parser___ReduceAction___init();
+val_t NEW_ReduceAction470_parser___ReduceAction470___init();
+val_t NEW_ReduceAction471_parser___ReduceAction___init();
+val_t NEW_ReduceAction471_parser___ReduceAction471___init();
+val_t NEW_ReduceAction472_parser___ReduceAction___init();
+val_t NEW_ReduceAction472_parser___ReduceAction472___init();
+val_t NEW_ReduceAction473_parser___ReduceAction___init();
+val_t NEW_ReduceAction473_parser___ReduceAction473___init();
+val_t NEW_ReduceAction474_parser___ReduceAction___init();
+val_t NEW_ReduceAction474_parser___ReduceAction474___init();
+val_t NEW_ReduceAction475_parser___ReduceAction___init();
+val_t NEW_ReduceAction475_parser___ReduceAction475___init();
+val_t NEW_ReduceAction476_parser___ReduceAction___init();
+val_t NEW_ReduceAction476_parser___ReduceAction476___init();
+val_t NEW_ReduceAction477_parser___ReduceAction___init();
+val_t NEW_ReduceAction477_parser___ReduceAction477___init();
+val_t NEW_ReduceAction478_parser___ReduceAction___init();
+val_t NEW_ReduceAction478_parser___ReduceAction478___init();
+val_t NEW_ReduceAction479_parser___ReduceAction___init();
+val_t NEW_ReduceAction479_parser___ReduceAction479___init();
+val_t NEW_ReduceAction480_parser___ReduceAction___init();
+val_t NEW_ReduceAction480_parser___ReduceAction480___init();
+val_t NEW_ReduceAction481_parser___ReduceAction___init();
+val_t NEW_ReduceAction481_parser___ReduceAction481___init();
+val_t NEW_ReduceAction482_parser___ReduceAction___init();
+val_t NEW_ReduceAction482_parser___ReduceAction482___init();
+val_t NEW_ReduceAction483_parser___ReduceAction___init();
+val_t NEW_ReduceAction483_parser___ReduceAction483___init();
+val_t NEW_ReduceAction484_parser___ReduceAction___init();
+val_t NEW_ReduceAction484_parser___ReduceAction484___init();
+val_t NEW_ReduceAction485_parser___ReduceAction___init();
+val_t NEW_ReduceAction485_parser___ReduceAction485___init();
+val_t NEW_ReduceAction486_parser___ReduceAction___init();
+val_t NEW_ReduceAction486_parser___ReduceAction486___init();
+val_t NEW_ReduceAction487_parser___ReduceAction___init();
+val_t NEW_ReduceAction487_parser___ReduceAction487___init();
+val_t NEW_ReduceAction488_parser___ReduceAction___init();
+val_t NEW_ReduceAction488_parser___ReduceAction488___init();
+val_t NEW_ReduceAction489_parser___ReduceAction___init();
+val_t NEW_ReduceAction489_parser___ReduceAction489___init();
+val_t NEW_ReduceAction490_parser___ReduceAction___init();
+val_t NEW_ReduceAction490_parser___ReduceAction490___init();
+val_t NEW_ReduceAction491_parser___ReduceAction___init();
+val_t NEW_ReduceAction491_parser___ReduceAction491___init();
+val_t NEW_ReduceAction492_parser___ReduceAction___init();
+val_t NEW_ReduceAction492_parser___ReduceAction492___init();
+val_t NEW_ReduceAction493_parser___ReduceAction___init();
+val_t NEW_ReduceAction493_parser___ReduceAction493___init();
+val_t NEW_ReduceAction494_parser___ReduceAction___init();
+val_t NEW_ReduceAction494_parser___ReduceAction494___init();
+val_t NEW_ReduceAction495_parser___ReduceAction___init();
+val_t NEW_ReduceAction495_parser___ReduceAction495___init();
+val_t NEW_ReduceAction496_parser___ReduceAction___init();
+val_t NEW_ReduceAction496_parser___ReduceAction496___init();
+val_t NEW_ReduceAction497_parser___ReduceAction___init();
+val_t NEW_ReduceAction497_parser___ReduceAction497___init();
+val_t NEW_ReduceAction498_parser___ReduceAction___init();
+val_t NEW_ReduceAction498_parser___ReduceAction498___init();
+val_t NEW_ReduceAction499_parser___ReduceAction___init();
+val_t NEW_ReduceAction499_parser___ReduceAction499___init();
+val_t NEW_ReduceAction500_parser___ReduceAction___init();
+val_t NEW_ReduceAction500_parser___ReduceAction500___init();
+val_t NEW_ReduceAction501_parser___ReduceAction___init();
+val_t NEW_ReduceAction501_parser___ReduceAction501___init();
+val_t NEW_ReduceAction502_parser___ReduceAction___init();
+val_t NEW_ReduceAction502_parser___ReduceAction502___init();
+val_t NEW_ReduceAction503_parser___ReduceAction___init();
+val_t NEW_ReduceAction503_parser___ReduceAction503___init();
+val_t NEW_ReduceAction504_parser___ReduceAction___init();
+val_t NEW_ReduceAction504_parser___ReduceAction504___init();
+val_t NEW_ReduceAction505_parser___ReduceAction___init();
+val_t NEW_ReduceAction505_parser___ReduceAction505___init();
+val_t NEW_ReduceAction506_parser___ReduceAction___init();
+val_t NEW_ReduceAction506_parser___ReduceAction506___init();
+val_t NEW_ReduceAction507_parser___ReduceAction___init();
+val_t NEW_ReduceAction507_parser___ReduceAction507___init();
+val_t NEW_ReduceAction508_parser___ReduceAction___init();
+val_t NEW_ReduceAction508_parser___ReduceAction508___init();
+val_t NEW_ReduceAction509_parser___ReduceAction___init();
+val_t NEW_ReduceAction509_parser___ReduceAction509___init();
+val_t NEW_ReduceAction510_parser___ReduceAction___init();
+val_t NEW_ReduceAction510_parser___ReduceAction510___init();
+val_t NEW_ReduceAction511_parser___ReduceAction___init();
+val_t NEW_ReduceAction511_parser___ReduceAction511___init();
+val_t NEW_ReduceAction512_parser___ReduceAction___init();
+val_t NEW_ReduceAction512_parser___ReduceAction512___init();
+val_t NEW_ReduceAction513_parser___ReduceAction___init();
+val_t NEW_ReduceAction513_parser___ReduceAction513___init();
+val_t NEW_ReduceAction514_parser___ReduceAction___init();
+val_t NEW_ReduceAction514_parser___ReduceAction514___init();
+val_t NEW_ReduceAction515_parser___ReduceAction___init();
+val_t NEW_ReduceAction515_parser___ReduceAction515___init();
+val_t NEW_ReduceAction516_parser___ReduceAction___init();
+val_t NEW_ReduceAction516_parser___ReduceAction516___init();
+val_t NEW_ReduceAction517_parser___ReduceAction___init();
+val_t NEW_ReduceAction517_parser___ReduceAction517___init();
+val_t NEW_ReduceAction518_parser___ReduceAction___init();
+val_t NEW_ReduceAction518_parser___ReduceAction518___init();
+val_t NEW_ReduceAction519_parser___ReduceAction___init();
+val_t NEW_ReduceAction519_parser___ReduceAction519___init();
+val_t NEW_ReduceAction520_parser___ReduceAction___init();
+val_t NEW_ReduceAction520_parser___ReduceAction520___init();
+val_t NEW_ReduceAction521_parser___ReduceAction___init();
+val_t NEW_ReduceAction521_parser___ReduceAction521___init();
+val_t NEW_ReduceAction522_parser___ReduceAction___init();
+val_t NEW_ReduceAction522_parser___ReduceAction522___init();
+val_t NEW_ReduceAction523_parser___ReduceAction___init();
+val_t NEW_ReduceAction523_parser___ReduceAction523___init();
+val_t NEW_ReduceAction524_parser___ReduceAction___init();
+val_t NEW_ReduceAction524_parser___ReduceAction524___init();
+val_t NEW_ReduceAction525_parser___ReduceAction___init();
+val_t NEW_ReduceAction525_parser___ReduceAction525___init();
+val_t NEW_ReduceAction526_parser___ReduceAction___init();
+val_t NEW_ReduceAction526_parser___ReduceAction526___init();
+val_t NEW_ReduceAction527_parser___ReduceAction___init();
+val_t NEW_ReduceAction527_parser___ReduceAction527___init();
+val_t NEW_ReduceAction528_parser___ReduceAction___init();
+val_t NEW_ReduceAction528_parser___ReduceAction528___init();
+val_t NEW_ReduceAction529_parser___ReduceAction___init();
+val_t NEW_ReduceAction529_parser___ReduceAction529___init();
+val_t NEW_ReduceAction530_parser___ReduceAction___init();
+val_t NEW_ReduceAction530_parser___ReduceAction530___init();
+val_t NEW_ReduceAction531_parser___ReduceAction___init();
+val_t NEW_ReduceAction531_parser___ReduceAction531___init();
+val_t NEW_ReduceAction532_parser___ReduceAction___init();
+val_t NEW_ReduceAction532_parser___ReduceAction532___init();
+val_t NEW_ReduceAction533_parser___ReduceAction___init();
+val_t NEW_ReduceAction533_parser___ReduceAction533___init();
+val_t NEW_ReduceAction534_parser___ReduceAction___init();
+val_t NEW_ReduceAction534_parser___ReduceAction534___init();
+val_t NEW_ReduceAction535_parser___ReduceAction___init();
+val_t NEW_ReduceAction535_parser___ReduceAction535___init();
+val_t NEW_ReduceAction536_parser___ReduceAction___init();
+val_t NEW_ReduceAction536_parser___ReduceAction536___init();
+val_t NEW_ReduceAction537_parser___ReduceAction___init();
+val_t NEW_ReduceAction537_parser___ReduceAction537___init();
+val_t NEW_ReduceAction538_parser___ReduceAction___init();
+val_t NEW_ReduceAction538_parser___ReduceAction538___init();
+val_t NEW_ReduceAction539_parser___ReduceAction___init();
+val_t NEW_ReduceAction539_parser___ReduceAction539___init();
+val_t NEW_ReduceAction540_parser___ReduceAction___init();
+val_t NEW_ReduceAction540_parser___ReduceAction540___init();
+val_t NEW_ReduceAction541_parser___ReduceAction___init();
+val_t NEW_ReduceAction541_parser___ReduceAction541___init();
+val_t NEW_ReduceAction542_parser___ReduceAction___init();
+val_t NEW_ReduceAction542_parser___ReduceAction542___init();
+val_t NEW_ReduceAction543_parser___ReduceAction___init();
+val_t NEW_ReduceAction543_parser___ReduceAction543___init();
+val_t NEW_ReduceAction544_parser___ReduceAction___init();
+val_t NEW_ReduceAction544_parser___ReduceAction544___init();
+val_t NEW_ReduceAction545_parser___ReduceAction___init();
+val_t NEW_ReduceAction545_parser___ReduceAction545___init();
+val_t NEW_ReduceAction546_parser___ReduceAction___init();
+val_t NEW_ReduceAction546_parser___ReduceAction546___init();
+val_t NEW_ReduceAction547_parser___ReduceAction___init();
+val_t NEW_ReduceAction547_parser___ReduceAction547___init();
+val_t NEW_ReduceAction548_parser___ReduceAction___init();
+val_t NEW_ReduceAction548_parser___ReduceAction548___init();
+val_t NEW_ReduceAction549_parser___ReduceAction___init();
+val_t NEW_ReduceAction549_parser___ReduceAction549___init();
+val_t NEW_ReduceAction550_parser___ReduceAction___init();
+val_t NEW_ReduceAction550_parser___ReduceAction550___init();
+val_t NEW_ReduceAction551_parser___ReduceAction___init();
+val_t NEW_ReduceAction551_parser___ReduceAction551___init();
+val_t NEW_ReduceAction552_parser___ReduceAction___init();
+val_t NEW_ReduceAction552_parser___ReduceAction552___init();
+val_t NEW_ReduceAction553_parser___ReduceAction___init();
+val_t NEW_ReduceAction553_parser___ReduceAction553___init();
+val_t NEW_ReduceAction554_parser___ReduceAction___init();
+val_t NEW_ReduceAction554_parser___ReduceAction554___init();
+val_t NEW_ReduceAction555_parser___ReduceAction___init();
+val_t NEW_ReduceAction555_parser___ReduceAction555___init();
+val_t NEW_ReduceAction556_parser___ReduceAction___init();
+val_t NEW_ReduceAction556_parser___ReduceAction556___init();
+val_t NEW_ReduceAction557_parser___ReduceAction___init();
+val_t NEW_ReduceAction557_parser___ReduceAction557___init();
+val_t NEW_ReduceAction558_parser___ReduceAction___init();
+val_t NEW_ReduceAction558_parser___ReduceAction558___init();
+val_t NEW_ReduceAction559_parser___ReduceAction___init();
+val_t NEW_ReduceAction559_parser___ReduceAction559___init();
+val_t NEW_ReduceAction560_parser___ReduceAction___init();
+val_t NEW_ReduceAction560_parser___ReduceAction560___init();
+val_t NEW_ReduceAction561_parser___ReduceAction___init();
+val_t NEW_ReduceAction561_parser___ReduceAction561___init();
+val_t NEW_ReduceAction562_parser___ReduceAction___init();
+val_t NEW_ReduceAction562_parser___ReduceAction562___init();
+val_t NEW_ReduceAction563_parser___ReduceAction___init();
+val_t NEW_ReduceAction563_parser___ReduceAction563___init();
+val_t NEW_ReduceAction564_parser___ReduceAction___init();
+val_t NEW_ReduceAction564_parser___ReduceAction564___init();
+val_t NEW_ReduceAction565_parser___ReduceAction___init();
+val_t NEW_ReduceAction565_parser___ReduceAction565___init();
+val_t NEW_ReduceAction566_parser___ReduceAction___init();
+val_t NEW_ReduceAction566_parser___ReduceAction566___init();
+val_t NEW_ReduceAction567_parser___ReduceAction___init();
+val_t NEW_ReduceAction567_parser___ReduceAction567___init();
+val_t NEW_ReduceAction568_parser___ReduceAction___init();
+val_t NEW_ReduceAction568_parser___ReduceAction568___init();
+val_t NEW_ReduceAction569_parser___ReduceAction___init();
+val_t NEW_ReduceAction569_parser___ReduceAction569___init();
+val_t NEW_ReduceAction570_parser___ReduceAction___init();
+val_t NEW_ReduceAction570_parser___ReduceAction570___init();
+val_t NEW_ReduceAction571_parser___ReduceAction___init();
+val_t NEW_ReduceAction571_parser___ReduceAction571___init();
+val_t NEW_ReduceAction572_parser___ReduceAction___init();
+val_t NEW_ReduceAction572_parser___ReduceAction572___init();
+val_t NEW_PartialOrder_partial_order___PartialOrder___init();
+val_t NEW_PartialOrderElement_partial_order___PartialOrderElement___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMContext_abstractmetamodel___MMContext___init();
+val_t NEW_MMDirectory_abstractmetamodel___MMDirectory___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMModule_abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMGlobalClass_abstractmetamodel___MMGlobalClass___init(val_t p0);
+val_t NEW_MMLocalClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1);
+val_t NEW_MMGlobalProperty_abstractmetamodel___MMGlobalProperty___init(val_t p0);
+val_t NEW_MMLocalProperty_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMAttribute_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMConcreteClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1);
+val_t NEW_MMSignature_static_type___MMSignature___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMAncestor_static_type___MMAncestor___init(val_t p0, val_t p1);
+val_t NEW_MMType_static_type___MMType___init();
+val_t NEW_MMTypeClass_static_type___MMType___init();
+val_t NEW_MMTypeClass_static_type___MMTypeClass___init(val_t p0);
+val_t NEW_MMTypeSimpleClass_static_type___MMType___init();
+val_t NEW_MMTypeSimpleClass_static_type___MMTypeClass___init(val_t p0);
+val_t NEW_MMTypeSimpleClass_static_type___MMTypeSimpleClass___init(val_t p0);
+val_t NEW_MMTypeNone_static_type___MMType___init();
+val_t NEW_MMTypeNone_static_type___MMTypeNone___init(val_t p0);
+val_t NEW_MMImplicitLocalClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1);
+val_t NEW_MMImplicitLocalClass_inheritance___MMImplicitLocalClass___init(val_t p0, val_t p1);
+val_t NEW_MMRefineAncestor_static_type___MMAncestor___init(val_t p0, val_t p1);
+val_t NEW_MMRefineAncestor_inheritance___MMRefineAncestor___init(val_t p0, val_t p1);
+val_t NEW_MMSpecAncestor_static_type___MMAncestor___init(val_t p0, val_t p1);
+val_t NEW_MMSpecAncestor_inheritance___MMSpecAncestor___init(val_t p0, val_t p1);
+val_t NEW_MMDefaultAncestor_static_type___MMAncestor___init(val_t p0, val_t p1);
+val_t NEW_MMDefaultAncestor_inheritance___MMDefaultAncestor___init(val_t p0, val_t p1);
+val_t NEW_MMTypeFormal_static_type___MMType___init();
+val_t NEW_MMTypeFormal_type_formal___MMTypeFormal___init(val_t p0, val_t p1);
+val_t NEW_MMTypeGeneric_static_type___MMType___init();
+val_t NEW_MMTypeGeneric_static_type___MMTypeClass___init(val_t p0);
+val_t NEW_MMTypeGeneric_genericity___MMTypeGeneric___init(val_t p0, val_t p1);
+val_t NEW_MMTypeFormalParameter_static_type___MMType___init();
+val_t NEW_MMTypeFormalParameter_type_formal___MMTypeFormal___init(val_t p0, val_t p1);
+val_t NEW_MMTypeFormalParameter_genericity___MMTypeFormalParameter___with_bound(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_MMTypeFormalParameter_genericity___MMTypeFormalParameter___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMTypeProperty_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMVirtualType_static_type___MMType___init();
+val_t NEW_MMVirtualType_type_formal___MMTypeFormal___init(val_t p0, val_t p1);
+val_t NEW_MMVirtualType_virtualtype___MMVirtualType___init(val_t p0, val_t p1);
+val_t NEW_Option_opts___Option___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionText_opts___Option___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionText_opts___OptionText___init(val_t p0);
+val_t NEW_OptionBool_opts___Option___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionBool_opts___OptionBool___init(val_t p0, val_t p1);
+val_t NEW_OptionParameter_opts___Option___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionParameter_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionString_opts___Option___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionString_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionString_opts___OptionString___init(val_t p0, val_t p1);
+val_t NEW_OptionEnum_opts___Option___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionEnum_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionEnum_opts___OptionEnum___init(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_OptionInt_opts___Option___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionInt_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionInt_opts___OptionInt___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionArray_opts___Option___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionArray_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2);
+val_t NEW_OptionArray_opts___OptionArray___init(val_t p0, val_t p1);
+val_t NEW_OptionContext_opts___OptionContext___init();
+val_t NEW_ToolContext_abstractmetamodel___MMContext___init();
+val_t NEW_ToolContext_mmloader___ToolContext___init();
+val_t NEW_ModuleLoader_mmloader___ModuleLoader___init();
+val_t NEW_MMSrcModule_abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMSrcModule_syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_MMSrcLocalClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1);
+val_t NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMSrcAttribute_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMSrcAttribute_syntax_base___MMSrcAttribute___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMSrcMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMAttrImplementationMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMAttrImplementationMethod_syntax_base___MMAttrImplementationMethod___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMReadImplementationMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMReadImplementationMethod_syntax_base___MMAttrImplementationMethod___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMReadImplementationMethod_syntax_base___MMReadImplementationMethod___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMWriteImplementationMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMWriteImplementationMethod_syntax_base___MMAttrImplementationMethod___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMWriteImplementationMethod_syntax_base___MMWriteImplementationMethod___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMMethSrcMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMMethSrcMethod_syntax_base___MMMethSrcMethod___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMSrcTypeProperty_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMSrcTypeProperty_syntax_base___MMSrcTypeProperty___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMImplicitInit_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+val_t NEW_MMImplicitInit_syntax_base___MMMethSrcMethod___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMImplicitInit_syntax_base___MMImplicitInit___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_Variable_syntax_base___Variable___init(val_t p0, val_t p1);
+val_t NEW_AbsSyntaxVisitor_parser_prod___Visitor___init();
+val_t NEW_AbsSyntaxVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1);
+val_t NEW_CSHSorter_sorter___AbstractSorter___init();
+val_t NEW_CSHSorter_mmbuilder___CSHSorter___init();
+val_t NEW_MMSrcAncestor_static_type___MMAncestor___init(val_t p0, val_t p1);
+val_t NEW_MMSrcAncestor_mmbuilder___MMSrcAncestor___init(val_t p0, val_t p1);
+val_t NEW_ClassBuilderVisitor_parser_prod___Visitor___init();
+val_t NEW_ClassBuilderVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1);
+val_t NEW_ClassBuilderVisitor_mmbuilder___ClassBuilderVisitor___init(val_t p0, val_t p1);
+val_t NEW_ClassSpecializationBuilderVisitor_parser_prod___Visitor___init();
+val_t NEW_ClassSpecializationBuilderVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1);
+val_t NEW_ClassSpecializationBuilderVisitor_mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0, val_t p1);
+val_t NEW_ClassAncestorBuilder_parser_prod___Visitor___init();
+val_t NEW_ClassAncestorBuilder_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1);
+val_t NEW_ClassAncestorBuilder_mmbuilder___ClassAncestorBuilder___init(val_t p0, val_t p1);
+val_t NEW_ClassVerifierVisitor_parser_prod___Visitor___init();
+val_t NEW_ClassVerifierVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1);
+val_t NEW_ClassVerifierVisitor_mmbuilder___ClassVerifierVisitor___init(val_t p0, val_t p1);
+val_t NEW_PropertyBuilderVisitor_parser_prod___Visitor___init();
+val_t NEW_PropertyBuilderVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1);
+val_t NEW_PropertyBuilderVisitor_mmbuilder___PropertyBuilderVisitor___init(val_t p0, val_t p1);
+val_t NEW_PropertyVerifierVisitor_parser_prod___Visitor___init();
+val_t NEW_PropertyVerifierVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1);
+val_t NEW_PropertyVerifierVisitor_mmbuilder___PropertyVerifierVisitor___init(val_t p0, val_t p1);
+val_t NEW_MMSrcTypeFormalParameter_static_type___MMType___init();
+val_t NEW_MMSrcTypeFormalParameter_type_formal___MMTypeFormal___init(val_t p0, val_t p1);
+val_t NEW_MMSrcTypeFormalParameter_genericity___MMTypeFormalParameter___with_bound(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_MMSrcTypeFormalParameter_genericity___MMTypeFormalParameter___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMSrcTypeFormalParameter_mmbuilder___MMSrcTypeFormalParameter___init(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_MethidAccumulator_parser_prod___Visitor___init();
+val_t NEW_MethidAccumulator_mmbuilder___MethidAccumulator___init();
+val_t NEW_ControlFlowVisitor_parser_prod___Visitor___init();
+val_t NEW_ControlFlowVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1);
+val_t NEW_ControlFlowVisitor_control_flow___ControlFlowVisitor___init(val_t p0, val_t p1);
+val_t NEW_ControlFlowContext_control_flow___ControlFlowContext___init();
+val_t NEW_ControlFlowContext_control_flow___ControlFlowContext___with(val_t p0);
+val_t NEW_ABlockControler_parser_nodes___PNode___init();
+val_t NEW_AControlableBlock_parser_nodes___PNode___init();
+val_t NEW_TypingVisitor_parser_prod___Visitor___init();
+val_t NEW_TypingVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1);
+val_t NEW_TypingVisitor_typing___TypingVisitor___init(val_t p0, val_t p1);
+val_t NEW_VariableContext_typing___VariableContext___init();
+val_t NEW_SubVariableContext_typing___VariableContext___init();
+val_t NEW_SubVariableContext_typing___SubVariableContext___with(val_t p0, val_t p1, val_t p2);
+val_t NEW_AAbsSendExpr_parser_nodes___PNode___init();
+val_t NEW_ASuperInitCall_parser_nodes___PNode___init();
+val_t NEW_ASendReassignExpr_parser_nodes___PNode___init();
+val_t NEW_ASendReassignExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ASendReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
+val_t NEW_SrcModuleLoader_mmloader___ModuleLoader___init();
+val_t NEW_SrcModuleLoader_syntax___SrcModuleLoader___init();
+val_t NEW_AbstractCompiler_abstractmetamodel___MMContext___init();
+val_t NEW_AbstractCompiler_mmloader___ToolContext___init();
+val_t NEW_AbstractCompiler_abstracttool___AbstractCompiler___init();
+val_t NEW_CompilerVisitor_compiling_base___CompilerVisitor___init(val_t p0);
+val_t NEW_CContext_compiling_base___CContext___init();
+val_t NEW_PrimitiveInfo_compiling_base___PrimitiveInfo___init();
+val_t NEW_ColorContext_compiling_global___ColorContext___init();
+val_t NEW_GlobalAnalysis_compiling_global___ColorContext___init();
+val_t NEW_GlobalAnalysis_compiling_global___GlobalAnalysis___init(val_t p0);
+val_t NEW_CompiledClass_compiling_global___ColorContext___init();
+val_t NEW_CompiledClass_compiling_global___CompiledClass___init(val_t p0);
+val_t NEW_TableElt_compiling_global___TableElt___init();
+val_t NEW_LocalTableElt_compiling_global___TableElt___init();
+val_t NEW_TableEltPropPos_compiling_global___TableElt___init();
+val_t NEW_TableEltPropPos_compiling_global___TableEltPropPos___init(val_t p0);
+val_t NEW_TableEltMethPos_compiling_global___TableElt___init();
+val_t NEW_TableEltMethPos_compiling_global___TableEltPropPos___init(val_t p0);
+val_t NEW_TableEltMethPos_compiling_global___TableEltMethPos___init(val_t p0);
+val_t NEW_TableEltSuperPos_compiling_global___TableElt___init();
+val_t NEW_TableEltSuperPos_compiling_global___TableEltPropPos___init(val_t p0);
+val_t NEW_TableEltSuperPos_compiling_global___TableEltSuperPos___init(val_t p0);
+val_t NEW_TableEltAttrPos_compiling_global___TableElt___init();
+val_t NEW_TableEltAttrPos_compiling_global___TableEltPropPos___init(val_t p0);
+val_t NEW_TableEltAttrPos_compiling_global___TableEltAttrPos___init(val_t p0);
+val_t NEW_TableEltClassPos_compiling_global___TableElt___init();
+val_t NEW_TableEltClassPos_compiling_global___TableEltClassPos___init(val_t p0);
+val_t NEW_TableEltClassIdPos_compiling_global___TableElt___init();
+val_t NEW_TableEltClassIdPos_compiling_global___TableEltClassPos___init(val_t p0);
+val_t NEW_TableEltClassIdPos_compiling_global___TableEltClassIdPos___init(val_t p0);
+val_t NEW_TableEltClassInitTablePos_compiling_global___TableElt___init();
+val_t NEW_TableEltClassInitTablePos_compiling_global___TableEltClassPos___init(val_t p0);
+val_t NEW_TableEltClassInitTablePos_compiling_global___TableEltClassInitTablePos___init(val_t p0);
+val_t NEW_TableEltClassColorPos_compiling_global___TableElt___init();
+val_t NEW_TableEltClassColorPos_compiling_global___TableEltClassPos___init(val_t p0);
+val_t NEW_TableEltClassColorPos_compiling_global___TableEltClassColorPos___init(val_t p0);
+val_t NEW_TableEltBaseAttrPos_compiling_global___TableElt___init();
+val_t NEW_TableEltBaseAttrPos_compiling_global___TableEltBaseAttrPos___init(val_t p0);
+val_t NEW_TableEltComposite_compiling_global___TableElt___init();
+val_t NEW_TableEltComposite_compiling_global___TableEltComposite___init(val_t p0);
+val_t NEW_TableEltClassSelfId_compiling_global___TableElt___init();
+val_t NEW_TableEltClassSelfId_compiling_global___TableEltClassSelfId___init();
+val_t NEW_TableEltVftPointer_compiling_global___TableElt___init();
+val_t NEW_TableEltVftPointer_compiling_global___TableEltVftPointer___init();
+val_t NEW_ClassSorter_sorter___AbstractSorter___init();
+val_t NEW_ClassSorter_compiling_global___ClassSorter___init();
 const char *LOCATE_abstracttool = "./abstracttool.nit";
 const int SFT_abstracttool[9] = {
   3239 /* Id of AbstractCompiler */,
@@ -61,147 +2183,152 @@ const char *LOCATE_syntax = "./syntax//syntax.nit";
 const int SFT_syntax[6] = {
   203 /* Id of SrcModuleLoader */,
   3 /* Color of SrcModuleLoader */,
-  48 /* Color of SrcModuleLoader */,
-  49 /* Property init */,
+  49 /* Color of SrcModuleLoader */,
+  50 /* Property init */,
   84 /* Property process_supermodules */,
   85 /* Property process_syntax */,
 };
 const char *LOCATE_mmbuilder = "./syntax//mmbuilder.nit";
-const int SFT_mmbuilder[131] = {
+const int SFT_mmbuilder[136] = {
   2667 /* Id of CSHSorter */,
   3 /* Color of CSHSorter */,
-  46 /* Color of CSHSorter */,
-  47 /* Property init */,
+  47 /* Color of CSHSorter */,
+  48 /* Property init */,
   86 /* Property do_mmbuilder */,
   41 /* Property accept_class_visitor */,
   42 /* Property accept_properties_visitor */,
-  110 /* Property add_src_local_property */,
+  24 /* Property _is_mixin */,
+  111 /* Property is_mixin */,
+  112 /* Property process_default_constructors */,
+  113 /* Property add_src_local_property */,
   43 /* Property accept_property_visitor */,
+  10 /* Property _super_init */,
+  71 /* Property super_init */,
   2571 /* Id of MMSrcAncestor */,
   3 /* Color of MMSrcAncestor */,
   3 /* Property _node */,
   4 /* Property _local_class */,
-  49 /* Color of MMSrcAncestor */,
-  50 /* Property node */,
-  51 /* Property init */,
+  50 /* Color of MMSrcAncestor */,
+  51 /* Property node */,
+  52 /* Property init */,
   3227 /* Id of ClassBuilderVisitor */,
   4 /* Color of ClassBuilderVisitor */,
   5 /* Property _local_class_arity */,
   6 /* Property _formals */,
-  64 /* Color of ClassBuilderVisitor */,
-  65 /* Property local_class_arity */,
-  66 /* Property local_class_arity= */,
-  67 /* Property formals */,
-  68 /* Property formals= */,
-  69 /* Property init */,
+  66 /* Color of ClassBuilderVisitor */,
+  67 /* Property local_class_arity */,
+  68 /* Property local_class_arity= */,
+  69 /* Property formals */,
+  70 /* Property formals= */,
+  71 /* Property init */,
   3223 /* Id of ClassSpecializationBuilderVisitor */,
   4 /* Color of ClassSpecializationBuilderVisitor */,
-  64 /* Color of ClassSpecializationBuilderVisitor */,
-  65 /* Property init */,
+  66 /* Color of ClassSpecializationBuilderVisitor */,
+  67 /* Property init */,
   3231 /* Id of ClassAncestorBuilder */,
   4 /* Color of ClassAncestorBuilder */,
-  64 /* Color of ClassAncestorBuilder */,
-  65 /* Property init */,
+  66 /* Color of ClassAncestorBuilder */,
+  67 /* Property init */,
   3219 /* Id of ClassVerifierVisitor */,
   4 /* Color of ClassVerifierVisitor */,
-  64 /* Color of ClassVerifierVisitor */,
-  65 /* Property init */,
+  66 /* Color of ClassVerifierVisitor */,
+  67 /* Property init */,
   3043 /* Id of PropertyBuilderVisitor */,
   4 /* Color of PropertyBuilderVisitor */,
-  64 /* Color of PropertyBuilderVisitor */,
-  65 /* Property init */,
+  66 /* Color of PropertyBuilderVisitor */,
+  67 /* Property init */,
   3039 /* Id of PropertyVerifierVisitor */,
   4 /* Color of PropertyVerifierVisitor */,
   5 /* Property _params */,
   6 /* Property _untyped_params */,
   7 /* Property _vararg_rank */,
   8 /* Property _signature */,
-  64 /* Color of PropertyVerifierVisitor */,
-  65 /* Property params */,
-  66 /* Property params= */,
-  67 /* Property untyped_params */,
-  68 /* Property untyped_params= */,
-  69 /* Property vararg_rank */,
-  70 /* Property vararg_rank= */,
-  71 /* Property signature */,
-  72 /* Property signature= */,
-  73 /* Property init */,
+  66 /* Color of PropertyVerifierVisitor */,
+  67 /* Property params */,
+  68 /* Property params= */,
+  69 /* Property untyped_params */,
+  70 /* Property untyped_params= */,
+  71 /* Property vararg_rank */,
+  72 /* Property vararg_rank= */,
+  73 /* Property signature */,
+  74 /* Property signature= */,
+  75 /* Property init */,
   40 /* Property accept_class_builder */,
   41 /* Property accept_class_specialization_builder */,
   42 /* Property accept_class_ancestor_builder */,
   43 /* Property accept_class_verifier */,
   44 /* Property accept_property_builder */,
   45 /* Property accept_property_verifier */,
-  68 /* Property import_super_modules */,
-  67 /* Property module_name */,
-  68 /* Property visibility_level */,
-  67 /* Property level */,
-  4 /* Property _local_class */,
-  67 /* Property name */,
-  68 /* Property arity */,
+  69 /* Property import_super_modules */,
+  68 /* Property module_name */,
   69 /* Property visibility_level */,
-  70 /* Property accept_class_builder */,
-  71 /* Property accept_abs_syntax_visitor */,
-  67 /* Property is_interface */,
-  68 /* Property is_universal */,
-  69 /* Property is_abstract */,
-  75 /* Property accept_class_verifier */,
+  68 /* Property level */,
+  4 /* Property _local_class */,
+  68 /* Property name */,
+  69 /* Property arity */,
+  70 /* Property visibility_level */,
+  71 /* Property accept_class_builder */,
+  72 /* Property accept_abs_syntax_visitor */,
+  68 /* Property is_interface */,
+  69 /* Property is_universal */,
+  70 /* Property is_abstract */,
+  76 /* Property accept_class_verifier */,
   3287 /* Id of MMSrcTypeFormalParameter */,
   5 /* Color of MMSrcTypeFormalParameter */,
   5 /* Property _node */,
-  67 /* Color of MMSrcTypeFormalParameter */,
-  68 /* Property node */,
-  69 /* Property init */,
+  68 /* Color of MMSrcTypeFormalParameter */,
+  69 /* Property node */,
+  70 /* Property init */,
   4 /* Property _formal */,
-  68 /* Property accept_class_builder */,
-  69 /* Property accept_class_verifier */,
+  69 /* Property accept_class_builder */,
+  70 /* Property accept_class_verifier */,
   4 /* Property _ancestor */,
-  68 /* Property ancestor */,
-  69 /* Property accept_class_specialization_builder */,
-  70 /* Property accept_class_ancestor_builder */,
-  71 /* Property accept_class_verifier */,
-  67 /* Property process_and_check */,
-  68 /* Property do_and_check_intro */,
-  69 /* Property inherit_signature */,
-  70 /* Property do_and_check_redef */,
+  69 /* Property ancestor */,
+  70 /* Property accept_class_specialization_builder */,
+  71 /* Property accept_class_ancestor_builder */,
+  72 /* Property accept_class_verifier */,
+  68 /* Property process_and_check */,
+  69 /* Property do_and_check_intro */,
+  70 /* Property inherit_signature */,
+  71 /* Property do_and_check_redef */,
   5 /* Property _readmethod */,
   6 /* Property _writemethod */,
   7 /* Property _prop */,
-  74 /* Property accept_property_builder */,
-  75 /* Property accept_property_verifier */,
-  76 /* Property accept_abs_syntax_visitor */,
+  75 /* Property accept_property_builder */,
+  76 /* Property accept_property_verifier */,
+  77 /* Property accept_abs_syntax_visitor */,
   5 /* Property _name */,
   6 /* Property _method */,
-  75 /* Property name */,
-  76 /* Property accept_property_builder */,
-  77 /* Property accept_property_verifier */,
-  78 /* Property accept_abs_syntax_visitor */,
+  76 /* Property name */,
+  77 /* Property accept_property_builder */,
+  78 /* Property accept_property_verifier */,
+  79 /* Property accept_abs_syntax_visitor */,
   5 /* Property _prop */,
-  74 /* Property accept_property_builder */,
-  75 /* Property accept_property_verifier */,
-  76 /* Property accept_abs_syntax_visitor */,
+  75 /* Property accept_property_builder */,
+  76 /* Property accept_property_verifier */,
+  77 /* Property accept_abs_syntax_visitor */,
   2543 /* Id of MethidAccumulator */,
   3 /* Color of MethidAccumulator */,
   1 /* Property _name */,
-  42 /* Color of MethidAccumulator */,
-  43 /* Property name */,
-  44 /* Property init */,
+  43 /* Color of MethidAccumulator */,
+  44 /* Property name */,
+  45 /* Property init */,
   4 /* Property _name */,
-  67 /* Property name */,
-  68 /* Property accept_property_builder */,
-  67 /* Property check_visibility */,
-  69 /* Property accept_property_verifier */,
+  68 /* Property name */,
+  69 /* Property accept_property_builder */,
+  68 /* Property check_visibility */,
+  70 /* Property accept_property_verifier */,
   4 /* Property _position */,
   5 /* Property _variable */,
   6 /* Property _stype */,
-  67 /* Property stype */,
-  68 /* Property stype= */,
-  69 /* Property accept_property_verifier */,
-  70 /* Property is_vararg */,
-  67 /* Property check_visibility */,
+  68 /* Property stype */,
+  69 /* Property stype= */,
+  70 /* Property accept_property_verifier */,
+  71 /* Property is_vararg */,
+  68 /* Property check_visibility */,
 };
 const char *LOCATE_syntax_base = "./syntax//syntax_base.nit";
-const int SFT_syntax_base[118] = {
+const int SFT_syntax_base[129] = {
   2567 /* Id of MMSrcModule */,
   3 /* Color of MMSrcModule */,
   19 /* Property _node */,
@@ -213,47 +2340,57 @@ const int SFT_syntax_base[118] = {
   43 /* Property check_visibility */,
   3171 /* Id of MMSrcLocalClass */,
   4 /* Color of MMSrcLocalClass */,
-  24 /* Property _nodes */,
-  25 /* Property _formal_dict */,
-  26 /* Property _src_local_properties */,
-  111 /* Color of MMSrcLocalClass */,
-  112 /* Property nodes */,
-  113 /* Property formal_dict */,
-  114 /* Property formal_dict= */,
-  115 /* Property src_local_properties */,
-  116 /* Property init */,
+  25 /* Property _nodes */,
+  26 /* Property _formal_dict */,
+  27 /* Property _src_local_properties */,
+  114 /* Color of MMSrcLocalClass */,
+  115 /* Property nodes */,
+  116 /* Property formal_dict */,
+  117 /* Property formal_dict= */,
+  118 /* Property src_local_properties */,
+  119 /* Property init */,
   45 /* Property check_visibility */,
   44 /* Property node */,
+  45 /* Property is_init */,
   3175 /* Id of MMSrcAttribute */,
   4 /* Color of MMSrcAttribute */,
   9 /* Property _node */,
-  63 /* Color of MMSrcAttribute */,
-  64 /* Property init */,
+  64 /* Color of MMSrcAttribute */,
+  65 /* Property init */,
   3167 /* Id of MMSrcMethod */,
   4 /* Color of MMSrcMethod */,
-  67 /* Color of MMSrcMethod */,
+  68 /* Color of MMSrcMethod */,
   3295 /* Id of MMAttrImplementationMethod */,
   5 /* Color of MMAttrImplementationMethod */,
   9 /* Property _node */,
-  68 /* Color of MMAttrImplementationMethod */,
+  69 /* Color of MMAttrImplementationMethod */,
+  70 /* Property init */,
   3627 /* Id of MMReadImplementationMethod */,
   6 /* Color of MMReadImplementationMethod */,
-  69 /* Color of MMReadImplementationMethod */,
-  70 /* Property init */,
+  71 /* Color of MMReadImplementationMethod */,
+  72 /* Property init */,
   3623 /* Id of MMWriteImplementationMethod */,
   6 /* Color of MMWriteImplementationMethod */,
-  69 /* Color of MMWriteImplementationMethod */,
-  70 /* Property init */,
+  71 /* Color of MMWriteImplementationMethod */,
+  72 /* Property init */,
   3291 /* Id of MMMethSrcMethod */,
   5 /* Color of MMMethSrcMethod */,
   9 /* Property _node */,
-  68 /* Color of MMMethSrcMethod */,
-  69 /* Property init */,
+  69 /* Color of MMMethSrcMethod */,
+  70 /* Property init */,
   3163 /* Id of MMSrcTypeProperty */,
   4 /* Color of MMSrcTypeProperty */,
   10 /* Property _node */,
-  64 /* Color of MMSrcTypeProperty */,
-  65 /* Property init */,
+  65 /* Color of MMSrcTypeProperty */,
+  66 /* Property init */,
+  3631 /* Id of MMImplicitInit */,
+  6 /* Color of MMImplicitInit */,
+  11 /* Property _unassigned_attributes */,
+  12 /* Property _super_inits */,
+  72 /* Color of MMImplicitInit */,
+  73 /* Property unassigned_attributes */,
+  74 /* Property super_inits */,
+  75 /* Property init */,
   15 /* Id of Variable */,
   2 /* Color of Variable */,
   1 /* Property _name */,
@@ -271,58 +2408,59 @@ const int SFT_syntax_base[118] = {
   2 /* Property _local_class */,
   3 /* Property _local_property */,
   4 /* Property _tc */,
-  42 /* Color of AbsSyntaxVisitor */,
-  43 /* Property type_bool */,
-  44 /* Property type_int */,
-  45 /* Property type_float */,
-  46 /* Property type_char */,
-  47 /* Property type_string */,
-  48 /* Property type_collection */,
-  49 /* Property type_array */,
-  50 /* Property type_discrete */,
-  51 /* Property type_range */,
-  52 /* Property type_none */,
-  53 /* Property module */,
-  54 /* Property module= */,
-  55 /* Property local_class */,
-  56 /* Property local_class= */,
-  57 /* Property local_property */,
-  58 /* Property local_property= */,
-  59 /* Property tc */,
-  60 /* Property error */,
-  61 /* Property warning */,
-  62 /* Property check_conform */,
-  63 /* Property init */,
+  43 /* Color of AbsSyntaxVisitor */,
+  44 /* Property type_bool */,
+  45 /* Property type_int */,
+  46 /* Property type_float */,
+  47 /* Property type_char */,
+  48 /* Property type_string */,
+  49 /* Property type_collection */,
+  50 /* Property type_array */,
+  51 /* Property type_discrete */,
+  52 /* Property type_range */,
+  53 /* Property type_none */,
+  54 /* Property module */,
+  55 /* Property module= */,
+  56 /* Property local_class */,
+  57 /* Property local_class= */,
+  58 /* Property local_property */,
+  59 /* Property local_property= */,
+  60 /* Property tc */,
+  61 /* Property error */,
+  62 /* Property warning */,
+  63 /* Property locate */,
+  64 /* Property check_conform */,
+  65 /* Property init */,
   46 /* Property accept_abs_syntax_visitor */,
   2 /* Property _symbol */,
-  61 /* Property to_symbol */,
-  72 /* Property local_class */,
-  77 /* Property prop */,
-  78 /* Property readmethod */,
-  79 /* Property writemethod */,
-  79 /* Property method */,
-  77 /* Property prop */,
-  71 /* Property position */,
-  72 /* Property variable */,
-  68 /* Property get_local_class */,
-  69 /* Property get_stype */,
-  70 /* Property get_unchecked_stype */,
-  71 /* Property check_conform */,
+  62 /* Property to_symbol */,
+  73 /* Property local_class */,
+  78 /* Property prop */,
+  79 /* Property readmethod */,
+  80 /* Property writemethod */,
+  80 /* Property method */,
+  78 /* Property prop */,
+  72 /* Property position */,
+  73 /* Property variable */,
+  69 /* Property get_local_class */,
+  70 /* Property get_stype */,
+  71 /* Property get_unchecked_stype */,
+  72 /* Property check_conform */,
   5 /* Property _stype_cache */,
   6 /* Property _stype_cached */,
-  70 /* Property stype */,
+  71 /* Property stype */,
   6 /* Property _variable */,
-  77 /* Property variable */,
-  78 /* Property variable= */,
+  78 /* Property variable */,
+  79 /* Property variable= */,
+  6 /* Property _variable */,
+  78 /* Property variable */,
+  79 /* Property variable= */,
   6 /* Property _variable */,
   77 /* Property variable */,
   78 /* Property variable= */,
-  6 /* Property _variable */,
-  76 /* Property variable */,
-  77 /* Property variable= */,
 };
 const char *LOCATE_parser = "./parser//parser.nit";
-const int SFT_parser[2326] = {
+const int SFT_parser[2327] = {
   35 /* Id of State */,
   2 /* Color of State */,
   1 /* Property _state */,
@@ -339,2319 +2477,2320 @@ const int SFT_parser[2326] = {
   4 /* Property _stack */,
   5 /* Property _stack_pos */,
   6 /* Property _reduce_table */,
-  1210 /* Color of Parser */,
-  1211 /* Property init */,
-  1212 /* Property go_to */,
-  1213 /* Property push */,
-  1214 /* Property state */,
-  1215 /* Property pop */,
-  1216 /* Property parse */,
-  1217 /* Property build_reduce_table */,
+  1211 /* Color of Parser */,
+  1212 /* Property init */,
+  1213 /* Property go_to */,
+  1214 /* Property push */,
+  1215 /* Property state */,
+  1216 /* Property pop */,
+  1217 /* Property parse */,
+  1218 /* Property build_reduce_table */,
   207 /* Id of SearchTokensVisitor */,
   3 /* Color of SearchTokensVisitor */,
   1 /* Property _untokenned_nodes */,
   2 /* Property _last_token */,
-  42 /* Color of SearchTokensVisitor */,
-  43 /* Property init */,
+  43 /* Color of SearchTokensVisitor */,
+  44 /* Property init */,
   39 /* Id of ReduceAction */,
   2 /* Color of ReduceAction */,
   40 /* Color of ReduceAction */,
   41 /* Property action */,
+  42 /* Property init */,
   2503 /* Id of ReduceAction0 */,
   3 /* Color of ReduceAction0 */,
-  42 /* Color of ReduceAction0 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction0 */,
+  44 /* Property init */,
   2499 /* Id of ReduceAction1 */,
   3 /* Color of ReduceAction1 */,
-  42 /* Color of ReduceAction1 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction1 */,
+  44 /* Property init */,
   2055 /* Id of ReduceAction2 */,
   3 /* Color of ReduceAction2 */,
-  42 /* Color of ReduceAction2 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction2 */,
+  44 /* Property init */,
   1611 /* Id of ReduceAction3 */,
   3 /* Color of ReduceAction3 */,
-  42 /* Color of ReduceAction3 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction3 */,
+  44 /* Property init */,
   1167 /* Id of ReduceAction4 */,
   3 /* Color of ReduceAction4 */,
-  42 /* Color of ReduceAction4 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction4 */,
+  44 /* Property init */,
   723 /* Id of ReduceAction5 */,
   3 /* Color of ReduceAction5 */,
-  42 /* Color of ReduceAction5 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction5 */,
+  44 /* Property init */,
   387 /* Id of ReduceAction6 */,
   3 /* Color of ReduceAction6 */,
-  42 /* Color of ReduceAction6 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction6 */,
+  44 /* Property init */,
   343 /* Id of ReduceAction7 */,
   3 /* Color of ReduceAction7 */,
-  42 /* Color of ReduceAction7 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction7 */,
+  44 /* Property init */,
   299 /* Id of ReduceAction8 */,
   3 /* Color of ReduceAction8 */,
-  42 /* Color of ReduceAction8 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction8 */,
+  44 /* Property init */,
   255 /* Id of ReduceAction9 */,
   3 /* Color of ReduceAction9 */,
-  42 /* Color of ReduceAction9 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction9 */,
+  44 /* Property init */,
   2495 /* Id of ReduceAction10 */,
   3 /* Color of ReduceAction10 */,
-  42 /* Color of ReduceAction10 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction10 */,
+  44 /* Property init */,
   2451 /* Id of ReduceAction11 */,
   3 /* Color of ReduceAction11 */,
-  42 /* Color of ReduceAction11 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction11 */,
+  44 /* Property init */,
   2407 /* Id of ReduceAction12 */,
   3 /* Color of ReduceAction12 */,
-  42 /* Color of ReduceAction12 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction12 */,
+  44 /* Property init */,
   2363 /* Id of ReduceAction13 */,
   3 /* Color of ReduceAction13 */,
-  42 /* Color of ReduceAction13 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction13 */,
+  44 /* Property init */,
   2319 /* Id of ReduceAction14 */,
   3 /* Color of ReduceAction14 */,
-  42 /* Color of ReduceAction14 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction14 */,
+  44 /* Property init */,
   2275 /* Id of ReduceAction15 */,
   3 /* Color of ReduceAction15 */,
-  42 /* Color of ReduceAction15 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction15 */,
+  44 /* Property init */,
   2231 /* Id of ReduceAction16 */,
   3 /* Color of ReduceAction16 */,
-  42 /* Color of ReduceAction16 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction16 */,
+  44 /* Property init */,
   2187 /* Id of ReduceAction17 */,
   3 /* Color of ReduceAction17 */,
-  42 /* Color of ReduceAction17 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction17 */,
+  44 /* Property init */,
   2143 /* Id of ReduceAction18 */,
   3 /* Color of ReduceAction18 */,
-  42 /* Color of ReduceAction18 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction18 */,
+  44 /* Property init */,
   2099 /* Id of ReduceAction19 */,
   3 /* Color of ReduceAction19 */,
-  42 /* Color of ReduceAction19 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction19 */,
+  44 /* Property init */,
   2051 /* Id of ReduceAction20 */,
   3 /* Color of ReduceAction20 */,
-  42 /* Color of ReduceAction20 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction20 */,
+  44 /* Property init */,
   2007 /* Id of ReduceAction21 */,
   3 /* Color of ReduceAction21 */,
-  42 /* Color of ReduceAction21 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction21 */,
+  44 /* Property init */,
   1963 /* Id of ReduceAction22 */,
   3 /* Color of ReduceAction22 */,
-  42 /* Color of ReduceAction22 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction22 */,
+  44 /* Property init */,
   1919 /* Id of ReduceAction23 */,
   3 /* Color of ReduceAction23 */,
-  42 /* Color of ReduceAction23 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction23 */,
+  44 /* Property init */,
   1875 /* Id of ReduceAction24 */,
   3 /* Color of ReduceAction24 */,
-  42 /* Color of ReduceAction24 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction24 */,
+  44 /* Property init */,
   1831 /* Id of ReduceAction25 */,
   3 /* Color of ReduceAction25 */,
-  42 /* Color of ReduceAction25 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction25 */,
+  44 /* Property init */,
   1787 /* Id of ReduceAction26 */,
   3 /* Color of ReduceAction26 */,
-  42 /* Color of ReduceAction26 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction26 */,
+  44 /* Property init */,
   1743 /* Id of ReduceAction27 */,
   3 /* Color of ReduceAction27 */,
-  42 /* Color of ReduceAction27 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction27 */,
+  44 /* Property init */,
   1699 /* Id of ReduceAction28 */,
   3 /* Color of ReduceAction28 */,
-  42 /* Color of ReduceAction28 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction28 */,
+  44 /* Property init */,
   1655 /* Id of ReduceAction29 */,
   3 /* Color of ReduceAction29 */,
-  42 /* Color of ReduceAction29 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction29 */,
+  44 /* Property init */,
   1607 /* Id of ReduceAction30 */,
   3 /* Color of ReduceAction30 */,
-  42 /* Color of ReduceAction30 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction30 */,
+  44 /* Property init */,
   1563 /* Id of ReduceAction31 */,
   3 /* Color of ReduceAction31 */,
-  42 /* Color of ReduceAction31 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction31 */,
+  44 /* Property init */,
   1519 /* Id of ReduceAction32 */,
   3 /* Color of ReduceAction32 */,
-  42 /* Color of ReduceAction32 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction32 */,
+  44 /* Property init */,
   1475 /* Id of ReduceAction33 */,
   3 /* Color of ReduceAction33 */,
-  42 /* Color of ReduceAction33 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction33 */,
+  44 /* Property init */,
   1431 /* Id of ReduceAction34 */,
   3 /* Color of ReduceAction34 */,
-  42 /* Color of ReduceAction34 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction34 */,
+  44 /* Property init */,
   1387 /* Id of ReduceAction35 */,
   3 /* Color of ReduceAction35 */,
-  42 /* Color of ReduceAction35 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction35 */,
+  44 /* Property init */,
   1343 /* Id of ReduceAction36 */,
   3 /* Color of ReduceAction36 */,
-  42 /* Color of ReduceAction36 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction36 */,
+  44 /* Property init */,
   1299 /* Id of ReduceAction37 */,
   3 /* Color of ReduceAction37 */,
-  42 /* Color of ReduceAction37 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction37 */,
+  44 /* Property init */,
   1255 /* Id of ReduceAction38 */,
   3 /* Color of ReduceAction38 */,
-  42 /* Color of ReduceAction38 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction38 */,
+  44 /* Property init */,
   1211 /* Id of ReduceAction39 */,
   3 /* Color of ReduceAction39 */,
-  42 /* Color of ReduceAction39 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction39 */,
+  44 /* Property init */,
   1163 /* Id of ReduceAction40 */,
   3 /* Color of ReduceAction40 */,
-  42 /* Color of ReduceAction40 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction40 */,
+  44 /* Property init */,
   1119 /* Id of ReduceAction41 */,
   3 /* Color of ReduceAction41 */,
-  42 /* Color of ReduceAction41 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction41 */,
+  44 /* Property init */,
   1075 /* Id of ReduceAction42 */,
   3 /* Color of ReduceAction42 */,
-  42 /* Color of ReduceAction42 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction42 */,
+  44 /* Property init */,
   1031 /* Id of ReduceAction43 */,
   3 /* Color of ReduceAction43 */,
-  42 /* Color of ReduceAction43 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction43 */,
+  44 /* Property init */,
   987 /* Id of ReduceAction44 */,
   3 /* Color of ReduceAction44 */,
-  42 /* Color of ReduceAction44 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction44 */,
+  44 /* Property init */,
   943 /* Id of ReduceAction45 */,
   3 /* Color of ReduceAction45 */,
-  42 /* Color of ReduceAction45 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction45 */,
+  44 /* Property init */,
   899 /* Id of ReduceAction46 */,
   3 /* Color of ReduceAction46 */,
-  42 /* Color of ReduceAction46 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction46 */,
+  44 /* Property init */,
   855 /* Id of ReduceAction47 */,
   3 /* Color of ReduceAction47 */,
-  42 /* Color of ReduceAction47 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction47 */,
+  44 /* Property init */,
   811 /* Id of ReduceAction48 */,
   3 /* Color of ReduceAction48 */,
-  42 /* Color of ReduceAction48 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction48 */,
+  44 /* Property init */,
   767 /* Id of ReduceAction49 */,
   3 /* Color of ReduceAction49 */,
-  42 /* Color of ReduceAction49 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction49 */,
+  44 /* Property init */,
   719 /* Id of ReduceAction50 */,
   3 /* Color of ReduceAction50 */,
-  42 /* Color of ReduceAction50 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction50 */,
+  44 /* Property init */,
   675 /* Id of ReduceAction51 */,
   3 /* Color of ReduceAction51 */,
-  42 /* Color of ReduceAction51 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction51 */,
+  44 /* Property init */,
   631 /* Id of ReduceAction52 */,
   3 /* Color of ReduceAction52 */,
-  42 /* Color of ReduceAction52 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction52 */,
+  44 /* Property init */,
   587 /* Id of ReduceAction53 */,
   3 /* Color of ReduceAction53 */,
-  42 /* Color of ReduceAction53 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction53 */,
+  44 /* Property init */,
   543 /* Id of ReduceAction54 */,
   3 /* Color of ReduceAction54 */,
-  42 /* Color of ReduceAction54 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction54 */,
+  44 /* Property init */,
   499 /* Id of ReduceAction55 */,
   3 /* Color of ReduceAction55 */,
-  42 /* Color of ReduceAction55 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction55 */,
+  44 /* Property init */,
   455 /* Id of ReduceAction56 */,
   3 /* Color of ReduceAction56 */,
-  42 /* Color of ReduceAction56 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction56 */,
+  44 /* Property init */,
   411 /* Id of ReduceAction57 */,
   3 /* Color of ReduceAction57 */,
-  42 /* Color of ReduceAction57 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction57 */,
+  44 /* Property init */,
   395 /* Id of ReduceAction58 */,
   3 /* Color of ReduceAction58 */,
-  42 /* Color of ReduceAction58 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction58 */,
+  44 /* Property init */,
   391 /* Id of ReduceAction59 */,
   3 /* Color of ReduceAction59 */,
-  42 /* Color of ReduceAction59 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction59 */,
+  44 /* Property init */,
   383 /* Id of ReduceAction60 */,
   3 /* Color of ReduceAction60 */,
-  42 /* Color of ReduceAction60 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction60 */,
+  44 /* Property init */,
   379 /* Id of ReduceAction61 */,
   3 /* Color of ReduceAction61 */,
-  42 /* Color of ReduceAction61 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction61 */,
+  44 /* Property init */,
   375 /* Id of ReduceAction62 */,
   3 /* Color of ReduceAction62 */,
-  42 /* Color of ReduceAction62 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction62 */,
+  44 /* Property init */,
   371 /* Id of ReduceAction63 */,
   3 /* Color of ReduceAction63 */,
-  42 /* Color of ReduceAction63 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction63 */,
+  44 /* Property init */,
   367 /* Id of ReduceAction64 */,
   3 /* Color of ReduceAction64 */,
-  42 /* Color of ReduceAction64 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction64 */,
+  44 /* Property init */,
   363 /* Id of ReduceAction65 */,
   3 /* Color of ReduceAction65 */,
-  42 /* Color of ReduceAction65 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction65 */,
+  44 /* Property init */,
   359 /* Id of ReduceAction66 */,
   3 /* Color of ReduceAction66 */,
-  42 /* Color of ReduceAction66 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction66 */,
+  44 /* Property init */,
   355 /* Id of ReduceAction67 */,
   3 /* Color of ReduceAction67 */,
-  42 /* Color of ReduceAction67 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction67 */,
+  44 /* Property init */,
   351 /* Id of ReduceAction68 */,
   3 /* Color of ReduceAction68 */,
-  42 /* Color of ReduceAction68 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction68 */,
+  44 /* Property init */,
   347 /* Id of ReduceAction69 */,
   3 /* Color of ReduceAction69 */,
-  42 /* Color of ReduceAction69 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction69 */,
+  44 /* Property init */,
   339 /* Id of ReduceAction70 */,
   3 /* Color of ReduceAction70 */,
-  42 /* Color of ReduceAction70 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction70 */,
+  44 /* Property init */,
   335 /* Id of ReduceAction71 */,
   3 /* Color of ReduceAction71 */,
-  42 /* Color of ReduceAction71 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction71 */,
+  44 /* Property init */,
   331 /* Id of ReduceAction72 */,
   3 /* Color of ReduceAction72 */,
-  42 /* Color of ReduceAction72 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction72 */,
+  44 /* Property init */,
   327 /* Id of ReduceAction73 */,
   3 /* Color of ReduceAction73 */,
-  42 /* Color of ReduceAction73 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction73 */,
+  44 /* Property init */,
   323 /* Id of ReduceAction74 */,
   3 /* Color of ReduceAction74 */,
-  42 /* Color of ReduceAction74 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction74 */,
+  44 /* Property init */,
   319 /* Id of ReduceAction75 */,
   3 /* Color of ReduceAction75 */,
-  42 /* Color of ReduceAction75 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction75 */,
+  44 /* Property init */,
   315 /* Id of ReduceAction76 */,
   3 /* Color of ReduceAction76 */,
-  42 /* Color of ReduceAction76 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction76 */,
+  44 /* Property init */,
   311 /* Id of ReduceAction77 */,
   3 /* Color of ReduceAction77 */,
-  42 /* Color of ReduceAction77 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction77 */,
+  44 /* Property init */,
   307 /* Id of ReduceAction78 */,
   3 /* Color of ReduceAction78 */,
-  42 /* Color of ReduceAction78 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction78 */,
+  44 /* Property init */,
   303 /* Id of ReduceAction79 */,
   3 /* Color of ReduceAction79 */,
-  42 /* Color of ReduceAction79 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction79 */,
+  44 /* Property init */,
   295 /* Id of ReduceAction80 */,
   3 /* Color of ReduceAction80 */,
-  42 /* Color of ReduceAction80 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction80 */,
+  44 /* Property init */,
   291 /* Id of ReduceAction81 */,
   3 /* Color of ReduceAction81 */,
-  42 /* Color of ReduceAction81 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction81 */,
+  44 /* Property init */,
   287 /* Id of ReduceAction82 */,
   3 /* Color of ReduceAction82 */,
-  42 /* Color of ReduceAction82 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction82 */,
+  44 /* Property init */,
   283 /* Id of ReduceAction83 */,
   3 /* Color of ReduceAction83 */,
-  42 /* Color of ReduceAction83 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction83 */,
+  44 /* Property init */,
   279 /* Id of ReduceAction84 */,
   3 /* Color of ReduceAction84 */,
-  42 /* Color of ReduceAction84 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction84 */,
+  44 /* Property init */,
   275 /* Id of ReduceAction85 */,
   3 /* Color of ReduceAction85 */,
-  42 /* Color of ReduceAction85 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction85 */,
+  44 /* Property init */,
   271 /* Id of ReduceAction86 */,
   3 /* Color of ReduceAction86 */,
-  42 /* Color of ReduceAction86 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction86 */,
+  44 /* Property init */,
   267 /* Id of ReduceAction87 */,
   3 /* Color of ReduceAction87 */,
-  42 /* Color of ReduceAction87 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction87 */,
+  44 /* Property init */,
   263 /* Id of ReduceAction88 */,
   3 /* Color of ReduceAction88 */,
-  42 /* Color of ReduceAction88 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction88 */,
+  44 /* Property init */,
   259 /* Id of ReduceAction89 */,
   3 /* Color of ReduceAction89 */,
-  42 /* Color of ReduceAction89 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction89 */,
+  44 /* Property init */,
   251 /* Id of ReduceAction90 */,
   3 /* Color of ReduceAction90 */,
-  42 /* Color of ReduceAction90 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction90 */,
+  44 /* Property init */,
   247 /* Id of ReduceAction91 */,
   3 /* Color of ReduceAction91 */,
-  42 /* Color of ReduceAction91 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction91 */,
+  44 /* Property init */,
   243 /* Id of ReduceAction92 */,
   3 /* Color of ReduceAction92 */,
-  42 /* Color of ReduceAction92 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction92 */,
+  44 /* Property init */,
   239 /* Id of ReduceAction93 */,
   3 /* Color of ReduceAction93 */,
-  42 /* Color of ReduceAction93 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction93 */,
+  44 /* Property init */,
   235 /* Id of ReduceAction94 */,
   3 /* Color of ReduceAction94 */,
-  42 /* Color of ReduceAction94 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction94 */,
+  44 /* Property init */,
   231 /* Id of ReduceAction95 */,
   3 /* Color of ReduceAction95 */,
-  42 /* Color of ReduceAction95 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction95 */,
+  44 /* Property init */,
   227 /* Id of ReduceAction96 */,
   3 /* Color of ReduceAction96 */,
-  42 /* Color of ReduceAction96 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction96 */,
+  44 /* Property init */,
   223 /* Id of ReduceAction97 */,
   3 /* Color of ReduceAction97 */,
-  42 /* Color of ReduceAction97 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction97 */,
+  44 /* Property init */,
   219 /* Id of ReduceAction98 */,
   3 /* Color of ReduceAction98 */,
-  42 /* Color of ReduceAction98 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction98 */,
+  44 /* Property init */,
   215 /* Id of ReduceAction99 */,
   3 /* Color of ReduceAction99 */,
-  42 /* Color of ReduceAction99 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction99 */,
+  44 /* Property init */,
   2491 /* Id of ReduceAction100 */,
   3 /* Color of ReduceAction100 */,
-  42 /* Color of ReduceAction100 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction100 */,
+  44 /* Property init */,
   2487 /* Id of ReduceAction101 */,
   3 /* Color of ReduceAction101 */,
-  42 /* Color of ReduceAction101 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction101 */,
+  44 /* Property init */,
   2483 /* Id of ReduceAction102 */,
   3 /* Color of ReduceAction102 */,
-  42 /* Color of ReduceAction102 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction102 */,
+  44 /* Property init */,
   2479 /* Id of ReduceAction103 */,
   3 /* Color of ReduceAction103 */,
-  42 /* Color of ReduceAction103 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction103 */,
+  44 /* Property init */,
   2475 /* Id of ReduceAction104 */,
   3 /* Color of ReduceAction104 */,
-  42 /* Color of ReduceAction104 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction104 */,
+  44 /* Property init */,
   2471 /* Id of ReduceAction105 */,
   3 /* Color of ReduceAction105 */,
-  42 /* Color of ReduceAction105 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction105 */,
+  44 /* Property init */,
   2467 /* Id of ReduceAction106 */,
   3 /* Color of ReduceAction106 */,
-  42 /* Color of ReduceAction106 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction106 */,
+  44 /* Property init */,
   2463 /* Id of ReduceAction107 */,
   3 /* Color of ReduceAction107 */,
-  42 /* Color of ReduceAction107 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction107 */,
+  44 /* Property init */,
   2459 /* Id of ReduceAction108 */,
   3 /* Color of ReduceAction108 */,
-  42 /* Color of ReduceAction108 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction108 */,
+  44 /* Property init */,
   2455 /* Id of ReduceAction109 */,
   3 /* Color of ReduceAction109 */,
-  42 /* Color of ReduceAction109 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction109 */,
+  44 /* Property init */,
   2447 /* Id of ReduceAction110 */,
   3 /* Color of ReduceAction110 */,
-  42 /* Color of ReduceAction110 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction110 */,
+  44 /* Property init */,
   2443 /* Id of ReduceAction111 */,
   3 /* Color of ReduceAction111 */,
-  42 /* Color of ReduceAction111 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction111 */,
+  44 /* Property init */,
   2439 /* Id of ReduceAction112 */,
   3 /* Color of ReduceAction112 */,
-  42 /* Color of ReduceAction112 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction112 */,
+  44 /* Property init */,
   2435 /* Id of ReduceAction113 */,
   3 /* Color of ReduceAction113 */,
-  42 /* Color of ReduceAction113 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction113 */,
+  44 /* Property init */,
   2431 /* Id of ReduceAction114 */,
   3 /* Color of ReduceAction114 */,
-  42 /* Color of ReduceAction114 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction114 */,
+  44 /* Property init */,
   2427 /* Id of ReduceAction115 */,
   3 /* Color of ReduceAction115 */,
-  42 /* Color of ReduceAction115 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction115 */,
+  44 /* Property init */,
   2423 /* Id of ReduceAction116 */,
   3 /* Color of ReduceAction116 */,
-  42 /* Color of ReduceAction116 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction116 */,
+  44 /* Property init */,
   2419 /* Id of ReduceAction117 */,
   3 /* Color of ReduceAction117 */,
-  42 /* Color of ReduceAction117 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction117 */,
+  44 /* Property init */,
   2415 /* Id of ReduceAction118 */,
   3 /* Color of ReduceAction118 */,
-  42 /* Color of ReduceAction118 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction118 */,
+  44 /* Property init */,
   2411 /* Id of ReduceAction119 */,
   3 /* Color of ReduceAction119 */,
-  42 /* Color of ReduceAction119 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction119 */,
+  44 /* Property init */,
   2403 /* Id of ReduceAction120 */,
   3 /* Color of ReduceAction120 */,
-  42 /* Color of ReduceAction120 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction120 */,
+  44 /* Property init */,
   2399 /* Id of ReduceAction121 */,
   3 /* Color of ReduceAction121 */,
-  42 /* Color of ReduceAction121 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction121 */,
+  44 /* Property init */,
   2395 /* Id of ReduceAction122 */,
   3 /* Color of ReduceAction122 */,
-  42 /* Color of ReduceAction122 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction122 */,
+  44 /* Property init */,
   2391 /* Id of ReduceAction123 */,
   3 /* Color of ReduceAction123 */,
-  42 /* Color of ReduceAction123 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction123 */,
+  44 /* Property init */,
   2387 /* Id of ReduceAction124 */,
   3 /* Color of ReduceAction124 */,
-  42 /* Color of ReduceAction124 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction124 */,
+  44 /* Property init */,
   2383 /* Id of ReduceAction125 */,
   3 /* Color of ReduceAction125 */,
-  42 /* Color of ReduceAction125 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction125 */,
+  44 /* Property init */,
   2379 /* Id of ReduceAction126 */,
   3 /* Color of ReduceAction126 */,
-  42 /* Color of ReduceAction126 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction126 */,
+  44 /* Property init */,
   2375 /* Id of ReduceAction127 */,
   3 /* Color of ReduceAction127 */,
-  42 /* Color of ReduceAction127 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction127 */,
+  44 /* Property init */,
   2371 /* Id of ReduceAction128 */,
   3 /* Color of ReduceAction128 */,
-  42 /* Color of ReduceAction128 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction128 */,
+  44 /* Property init */,
   2367 /* Id of ReduceAction129 */,
   3 /* Color of ReduceAction129 */,
-  42 /* Color of ReduceAction129 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction129 */,
+  44 /* Property init */,
   2359 /* Id of ReduceAction130 */,
   3 /* Color of ReduceAction130 */,
-  42 /* Color of ReduceAction130 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction130 */,
+  44 /* Property init */,
   2355 /* Id of ReduceAction131 */,
   3 /* Color of ReduceAction131 */,
-  42 /* Color of ReduceAction131 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction131 */,
+  44 /* Property init */,
   2351 /* Id of ReduceAction132 */,
   3 /* Color of ReduceAction132 */,
-  42 /* Color of ReduceAction132 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction132 */,
+  44 /* Property init */,
   2347 /* Id of ReduceAction133 */,
   3 /* Color of ReduceAction133 */,
-  42 /* Color of ReduceAction133 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction133 */,
+  44 /* Property init */,
   2343 /* Id of ReduceAction134 */,
   3 /* Color of ReduceAction134 */,
-  42 /* Color of ReduceAction134 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction134 */,
+  44 /* Property init */,
   2339 /* Id of ReduceAction135 */,
   3 /* Color of ReduceAction135 */,
-  42 /* Color of ReduceAction135 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction135 */,
+  44 /* Property init */,
   2335 /* Id of ReduceAction136 */,
   3 /* Color of ReduceAction136 */,
-  42 /* Color of ReduceAction136 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction136 */,
+  44 /* Property init */,
   2331 /* Id of ReduceAction137 */,
   3 /* Color of ReduceAction137 */,
-  42 /* Color of ReduceAction137 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction137 */,
+  44 /* Property init */,
   2327 /* Id of ReduceAction138 */,
   3 /* Color of ReduceAction138 */,
-  42 /* Color of ReduceAction138 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction138 */,
+  44 /* Property init */,
   2323 /* Id of ReduceAction139 */,
   3 /* Color of ReduceAction139 */,
-  42 /* Color of ReduceAction139 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction139 */,
+  44 /* Property init */,
   2315 /* Id of ReduceAction140 */,
   3 /* Color of ReduceAction140 */,
-  42 /* Color of ReduceAction140 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction140 */,
+  44 /* Property init */,
   2311 /* Id of ReduceAction141 */,
   3 /* Color of ReduceAction141 */,
-  42 /* Color of ReduceAction141 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction141 */,
+  44 /* Property init */,
   2307 /* Id of ReduceAction142 */,
   3 /* Color of ReduceAction142 */,
-  42 /* Color of ReduceAction142 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction142 */,
+  44 /* Property init */,
   2303 /* Id of ReduceAction143 */,
   3 /* Color of ReduceAction143 */,
-  42 /* Color of ReduceAction143 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction143 */,
+  44 /* Property init */,
   2299 /* Id of ReduceAction144 */,
   3 /* Color of ReduceAction144 */,
-  42 /* Color of ReduceAction144 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction144 */,
+  44 /* Property init */,
   2295 /* Id of ReduceAction145 */,
   3 /* Color of ReduceAction145 */,
-  42 /* Color of ReduceAction145 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction145 */,
+  44 /* Property init */,
   2291 /* Id of ReduceAction146 */,
   3 /* Color of ReduceAction146 */,
-  42 /* Color of ReduceAction146 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction146 */,
+  44 /* Property init */,
   2287 /* Id of ReduceAction147 */,
   3 /* Color of ReduceAction147 */,
-  42 /* Color of ReduceAction147 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction147 */,
+  44 /* Property init */,
   2283 /* Id of ReduceAction148 */,
   3 /* Color of ReduceAction148 */,
-  42 /* Color of ReduceAction148 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction148 */,
+  44 /* Property init */,
   2279 /* Id of ReduceAction149 */,
   3 /* Color of ReduceAction149 */,
-  42 /* Color of ReduceAction149 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction149 */,
+  44 /* Property init */,
   2271 /* Id of ReduceAction150 */,
   3 /* Color of ReduceAction150 */,
-  42 /* Color of ReduceAction150 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction150 */,
+  44 /* Property init */,
   2267 /* Id of ReduceAction151 */,
   3 /* Color of ReduceAction151 */,
-  42 /* Color of ReduceAction151 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction151 */,
+  44 /* Property init */,
   2263 /* Id of ReduceAction152 */,
   3 /* Color of ReduceAction152 */,
-  42 /* Color of ReduceAction152 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction152 */,
+  44 /* Property init */,
   2259 /* Id of ReduceAction153 */,
   3 /* Color of ReduceAction153 */,
-  42 /* Color of ReduceAction153 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction153 */,
+  44 /* Property init */,
   2255 /* Id of ReduceAction154 */,
   3 /* Color of ReduceAction154 */,
-  42 /* Color of ReduceAction154 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction154 */,
+  44 /* Property init */,
   2251 /* Id of ReduceAction155 */,
   3 /* Color of ReduceAction155 */,
-  42 /* Color of ReduceAction155 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction155 */,
+  44 /* Property init */,
   2247 /* Id of ReduceAction156 */,
   3 /* Color of ReduceAction156 */,
-  42 /* Color of ReduceAction156 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction156 */,
+  44 /* Property init */,
   2243 /* Id of ReduceAction157 */,
   3 /* Color of ReduceAction157 */,
-  42 /* Color of ReduceAction157 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction157 */,
+  44 /* Property init */,
   2239 /* Id of ReduceAction158 */,
   3 /* Color of ReduceAction158 */,
-  42 /* Color of ReduceAction158 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction158 */,
+  44 /* Property init */,
   2235 /* Id of ReduceAction159 */,
   3 /* Color of ReduceAction159 */,
-  42 /* Color of ReduceAction159 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction159 */,
+  44 /* Property init */,
   2227 /* Id of ReduceAction160 */,
   3 /* Color of ReduceAction160 */,
-  42 /* Color of ReduceAction160 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction160 */,
+  44 /* Property init */,
   2223 /* Id of ReduceAction161 */,
   3 /* Color of ReduceAction161 */,
-  42 /* Color of ReduceAction161 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction161 */,
+  44 /* Property init */,
   2219 /* Id of ReduceAction162 */,
   3 /* Color of ReduceAction162 */,
-  42 /* Color of ReduceAction162 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction162 */,
+  44 /* Property init */,
   2215 /* Id of ReduceAction163 */,
   3 /* Color of ReduceAction163 */,
-  42 /* Color of ReduceAction163 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction163 */,
+  44 /* Property init */,
   2211 /* Id of ReduceAction164 */,
   3 /* Color of ReduceAction164 */,
-  42 /* Color of ReduceAction164 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction164 */,
+  44 /* Property init */,
   2207 /* Id of ReduceAction165 */,
   3 /* Color of ReduceAction165 */,
-  42 /* Color of ReduceAction165 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction165 */,
+  44 /* Property init */,
   2203 /* Id of ReduceAction166 */,
   3 /* Color of ReduceAction166 */,
-  42 /* Color of ReduceAction166 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction166 */,
+  44 /* Property init */,
   2199 /* Id of ReduceAction167 */,
   3 /* Color of ReduceAction167 */,
-  42 /* Color of ReduceAction167 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction167 */,
+  44 /* Property init */,
   2195 /* Id of ReduceAction168 */,
   3 /* Color of ReduceAction168 */,
-  42 /* Color of ReduceAction168 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction168 */,
+  44 /* Property init */,
   2191 /* Id of ReduceAction169 */,
   3 /* Color of ReduceAction169 */,
-  42 /* Color of ReduceAction169 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction169 */,
+  44 /* Property init */,
   2183 /* Id of ReduceAction170 */,
   3 /* Color of ReduceAction170 */,
-  42 /* Color of ReduceAction170 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction170 */,
+  44 /* Property init */,
   2179 /* Id of ReduceAction171 */,
   3 /* Color of ReduceAction171 */,
-  42 /* Color of ReduceAction171 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction171 */,
+  44 /* Property init */,
   2175 /* Id of ReduceAction172 */,
   3 /* Color of ReduceAction172 */,
-  42 /* Color of ReduceAction172 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction172 */,
+  44 /* Property init */,
   2171 /* Id of ReduceAction173 */,
   3 /* Color of ReduceAction173 */,
-  42 /* Color of ReduceAction173 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction173 */,
+  44 /* Property init */,
   2167 /* Id of ReduceAction174 */,
   3 /* Color of ReduceAction174 */,
-  42 /* Color of ReduceAction174 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction174 */,
+  44 /* Property init */,
   2163 /* Id of ReduceAction175 */,
   3 /* Color of ReduceAction175 */,
-  42 /* Color of ReduceAction175 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction175 */,
+  44 /* Property init */,
   2159 /* Id of ReduceAction176 */,
   3 /* Color of ReduceAction176 */,
-  42 /* Color of ReduceAction176 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction176 */,
+  44 /* Property init */,
   2155 /* Id of ReduceAction177 */,
   3 /* Color of ReduceAction177 */,
-  42 /* Color of ReduceAction177 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction177 */,
+  44 /* Property init */,
   2151 /* Id of ReduceAction178 */,
   3 /* Color of ReduceAction178 */,
-  42 /* Color of ReduceAction178 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction178 */,
+  44 /* Property init */,
   2147 /* Id of ReduceAction179 */,
   3 /* Color of ReduceAction179 */,
-  42 /* Color of ReduceAction179 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction179 */,
+  44 /* Property init */,
   2139 /* Id of ReduceAction180 */,
   3 /* Color of ReduceAction180 */,
-  42 /* Color of ReduceAction180 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction180 */,
+  44 /* Property init */,
   2135 /* Id of ReduceAction181 */,
   3 /* Color of ReduceAction181 */,
-  42 /* Color of ReduceAction181 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction181 */,
+  44 /* Property init */,
   2131 /* Id of ReduceAction182 */,
   3 /* Color of ReduceAction182 */,
-  42 /* Color of ReduceAction182 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction182 */,
+  44 /* Property init */,
   2127 /* Id of ReduceAction183 */,
   3 /* Color of ReduceAction183 */,
-  42 /* Color of ReduceAction183 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction183 */,
+  44 /* Property init */,
   2123 /* Id of ReduceAction184 */,
   3 /* Color of ReduceAction184 */,
-  42 /* Color of ReduceAction184 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction184 */,
+  44 /* Property init */,
   2119 /* Id of ReduceAction185 */,
   3 /* Color of ReduceAction185 */,
-  42 /* Color of ReduceAction185 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction185 */,
+  44 /* Property init */,
   2115 /* Id of ReduceAction186 */,
   3 /* Color of ReduceAction186 */,
-  42 /* Color of ReduceAction186 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction186 */,
+  44 /* Property init */,
   2111 /* Id of ReduceAction187 */,
   3 /* Color of ReduceAction187 */,
-  42 /* Color of ReduceAction187 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction187 */,
+  44 /* Property init */,
   2107 /* Id of ReduceAction188 */,
   3 /* Color of ReduceAction188 */,
-  42 /* Color of ReduceAction188 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction188 */,
+  44 /* Property init */,
   2103 /* Id of ReduceAction189 */,
   3 /* Color of ReduceAction189 */,
-  42 /* Color of ReduceAction189 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction189 */,
+  44 /* Property init */,
   2095 /* Id of ReduceAction190 */,
   3 /* Color of ReduceAction190 */,
-  42 /* Color of ReduceAction190 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction190 */,
+  44 /* Property init */,
   2091 /* Id of ReduceAction191 */,
   3 /* Color of ReduceAction191 */,
-  42 /* Color of ReduceAction191 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction191 */,
+  44 /* Property init */,
   2087 /* Id of ReduceAction192 */,
   3 /* Color of ReduceAction192 */,
-  42 /* Color of ReduceAction192 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction192 */,
+  44 /* Property init */,
   2083 /* Id of ReduceAction193 */,
   3 /* Color of ReduceAction193 */,
-  42 /* Color of ReduceAction193 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction193 */,
+  44 /* Property init */,
   2079 /* Id of ReduceAction194 */,
   3 /* Color of ReduceAction194 */,
-  42 /* Color of ReduceAction194 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction194 */,
+  44 /* Property init */,
   2075 /* Id of ReduceAction195 */,
   3 /* Color of ReduceAction195 */,
-  42 /* Color of ReduceAction195 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction195 */,
+  44 /* Property init */,
   2071 /* Id of ReduceAction196 */,
   3 /* Color of ReduceAction196 */,
-  42 /* Color of ReduceAction196 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction196 */,
+  44 /* Property init */,
   2067 /* Id of ReduceAction197 */,
   3 /* Color of ReduceAction197 */,
-  42 /* Color of ReduceAction197 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction197 */,
+  44 /* Property init */,
   2063 /* Id of ReduceAction198 */,
   3 /* Color of ReduceAction198 */,
-  42 /* Color of ReduceAction198 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction198 */,
+  44 /* Property init */,
   2059 /* Id of ReduceAction199 */,
   3 /* Color of ReduceAction199 */,
-  42 /* Color of ReduceAction199 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction199 */,
+  44 /* Property init */,
   2047 /* Id of ReduceAction200 */,
   3 /* Color of ReduceAction200 */,
-  42 /* Color of ReduceAction200 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction200 */,
+  44 /* Property init */,
   2043 /* Id of ReduceAction201 */,
   3 /* Color of ReduceAction201 */,
-  42 /* Color of ReduceAction201 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction201 */,
+  44 /* Property init */,
   2039 /* Id of ReduceAction202 */,
   3 /* Color of ReduceAction202 */,
-  42 /* Color of ReduceAction202 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction202 */,
+  44 /* Property init */,
   2035 /* Id of ReduceAction203 */,
   3 /* Color of ReduceAction203 */,
-  42 /* Color of ReduceAction203 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction203 */,
+  44 /* Property init */,
   2031 /* Id of ReduceAction204 */,
   3 /* Color of ReduceAction204 */,
-  42 /* Color of ReduceAction204 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction204 */,
+  44 /* Property init */,
   2027 /* Id of ReduceAction205 */,
   3 /* Color of ReduceAction205 */,
-  42 /* Color of ReduceAction205 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction205 */,
+  44 /* Property init */,
   2023 /* Id of ReduceAction206 */,
   3 /* Color of ReduceAction206 */,
-  42 /* Color of ReduceAction206 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction206 */,
+  44 /* Property init */,
   2019 /* Id of ReduceAction207 */,
   3 /* Color of ReduceAction207 */,
-  42 /* Color of ReduceAction207 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction207 */,
+  44 /* Property init */,
   2015 /* Id of ReduceAction208 */,
   3 /* Color of ReduceAction208 */,
-  42 /* Color of ReduceAction208 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction208 */,
+  44 /* Property init */,
   2011 /* Id of ReduceAction209 */,
   3 /* Color of ReduceAction209 */,
-  42 /* Color of ReduceAction209 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction209 */,
+  44 /* Property init */,
   2003 /* Id of ReduceAction210 */,
   3 /* Color of ReduceAction210 */,
-  42 /* Color of ReduceAction210 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction210 */,
+  44 /* Property init */,
   1999 /* Id of ReduceAction211 */,
   3 /* Color of ReduceAction211 */,
-  42 /* Color of ReduceAction211 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction211 */,
+  44 /* Property init */,
   1995 /* Id of ReduceAction212 */,
   3 /* Color of ReduceAction212 */,
-  42 /* Color of ReduceAction212 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction212 */,
+  44 /* Property init */,
   1991 /* Id of ReduceAction213 */,
   3 /* Color of ReduceAction213 */,
-  42 /* Color of ReduceAction213 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction213 */,
+  44 /* Property init */,
   1987 /* Id of ReduceAction214 */,
   3 /* Color of ReduceAction214 */,
-  42 /* Color of ReduceAction214 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction214 */,
+  44 /* Property init */,
   1983 /* Id of ReduceAction215 */,
   3 /* Color of ReduceAction215 */,
-  42 /* Color of ReduceAction215 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction215 */,
+  44 /* Property init */,
   1979 /* Id of ReduceAction216 */,
   3 /* Color of ReduceAction216 */,
-  42 /* Color of ReduceAction216 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction216 */,
+  44 /* Property init */,
   1975 /* Id of ReduceAction217 */,
   3 /* Color of ReduceAction217 */,
-  42 /* Color of ReduceAction217 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction217 */,
+  44 /* Property init */,
   1971 /* Id of ReduceAction218 */,
   3 /* Color of ReduceAction218 */,
-  42 /* Color of ReduceAction218 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction218 */,
+  44 /* Property init */,
   1967 /* Id of ReduceAction219 */,
   3 /* Color of ReduceAction219 */,
-  42 /* Color of ReduceAction219 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction219 */,
+  44 /* Property init */,
   1959 /* Id of ReduceAction220 */,
   3 /* Color of ReduceAction220 */,
-  42 /* Color of ReduceAction220 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction220 */,
+  44 /* Property init */,
   1955 /* Id of ReduceAction221 */,
   3 /* Color of ReduceAction221 */,
-  42 /* Color of ReduceAction221 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction221 */,
+  44 /* Property init */,
   1951 /* Id of ReduceAction222 */,
   3 /* Color of ReduceAction222 */,
-  42 /* Color of ReduceAction222 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction222 */,
+  44 /* Property init */,
   1947 /* Id of ReduceAction223 */,
   3 /* Color of ReduceAction223 */,
-  42 /* Color of ReduceAction223 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction223 */,
+  44 /* Property init */,
   1943 /* Id of ReduceAction224 */,
   3 /* Color of ReduceAction224 */,
-  42 /* Color of ReduceAction224 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction224 */,
+  44 /* Property init */,
   1939 /* Id of ReduceAction225 */,
   3 /* Color of ReduceAction225 */,
-  42 /* Color of ReduceAction225 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction225 */,
+  44 /* Property init */,
   1935 /* Id of ReduceAction226 */,
   3 /* Color of ReduceAction226 */,
-  42 /* Color of ReduceAction226 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction226 */,
+  44 /* Property init */,
   1931 /* Id of ReduceAction227 */,
   3 /* Color of ReduceAction227 */,
-  42 /* Color of ReduceAction227 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction227 */,
+  44 /* Property init */,
   1927 /* Id of ReduceAction228 */,
   3 /* Color of ReduceAction228 */,
-  42 /* Color of ReduceAction228 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction228 */,
+  44 /* Property init */,
   1923 /* Id of ReduceAction229 */,
   3 /* Color of ReduceAction229 */,
-  42 /* Color of ReduceAction229 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction229 */,
+  44 /* Property init */,
   1915 /* Id of ReduceAction230 */,
   3 /* Color of ReduceAction230 */,
-  42 /* Color of ReduceAction230 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction230 */,
+  44 /* Property init */,
   1911 /* Id of ReduceAction231 */,
   3 /* Color of ReduceAction231 */,
-  42 /* Color of ReduceAction231 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction231 */,
+  44 /* Property init */,
   1907 /* Id of ReduceAction232 */,
   3 /* Color of ReduceAction232 */,
-  42 /* Color of ReduceAction232 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction232 */,
+  44 /* Property init */,
   1903 /* Id of ReduceAction233 */,
   3 /* Color of ReduceAction233 */,
-  42 /* Color of ReduceAction233 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction233 */,
+  44 /* Property init */,
   1899 /* Id of ReduceAction234 */,
   3 /* Color of ReduceAction234 */,
-  42 /* Color of ReduceAction234 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction234 */,
+  44 /* Property init */,
   1895 /* Id of ReduceAction235 */,
   3 /* Color of ReduceAction235 */,
-  42 /* Color of ReduceAction235 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction235 */,
+  44 /* Property init */,
   1891 /* Id of ReduceAction236 */,
   3 /* Color of ReduceAction236 */,
-  42 /* Color of ReduceAction236 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction236 */,
+  44 /* Property init */,
   1887 /* Id of ReduceAction237 */,
   3 /* Color of ReduceAction237 */,
-  42 /* Color of ReduceAction237 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction237 */,
+  44 /* Property init */,
   1883 /* Id of ReduceAction238 */,
   3 /* Color of ReduceAction238 */,
-  42 /* Color of ReduceAction238 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction238 */,
+  44 /* Property init */,
   1879 /* Id of ReduceAction239 */,
   3 /* Color of ReduceAction239 */,
-  42 /* Color of ReduceAction239 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction239 */,
+  44 /* Property init */,
   1871 /* Id of ReduceAction240 */,
   3 /* Color of ReduceAction240 */,
-  42 /* Color of ReduceAction240 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction240 */,
+  44 /* Property init */,
   1867 /* Id of ReduceAction241 */,
   3 /* Color of ReduceAction241 */,
-  42 /* Color of ReduceAction241 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction241 */,
+  44 /* Property init */,
   1863 /* Id of ReduceAction242 */,
   3 /* Color of ReduceAction242 */,
-  42 /* Color of ReduceAction242 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction242 */,
+  44 /* Property init */,
   1859 /* Id of ReduceAction243 */,
   3 /* Color of ReduceAction243 */,
-  42 /* Color of ReduceAction243 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction243 */,
+  44 /* Property init */,
   1855 /* Id of ReduceAction244 */,
   3 /* Color of ReduceAction244 */,
-  42 /* Color of ReduceAction244 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction244 */,
+  44 /* Property init */,
   1851 /* Id of ReduceAction245 */,
   3 /* Color of ReduceAction245 */,
-  42 /* Color of ReduceAction245 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction245 */,
+  44 /* Property init */,
   1847 /* Id of ReduceAction246 */,
   3 /* Color of ReduceAction246 */,
-  42 /* Color of ReduceAction246 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction246 */,
+  44 /* Property init */,
   1843 /* Id of ReduceAction247 */,
   3 /* Color of ReduceAction247 */,
-  42 /* Color of ReduceAction247 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction247 */,
+  44 /* Property init */,
   1839 /* Id of ReduceAction248 */,
   3 /* Color of ReduceAction248 */,
-  42 /* Color of ReduceAction248 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction248 */,
+  44 /* Property init */,
   1835 /* Id of ReduceAction249 */,
   3 /* Color of ReduceAction249 */,
-  42 /* Color of ReduceAction249 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction249 */,
+  44 /* Property init */,
   1827 /* Id of ReduceAction250 */,
   3 /* Color of ReduceAction250 */,
-  42 /* Color of ReduceAction250 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction250 */,
+  44 /* Property init */,
   1823 /* Id of ReduceAction251 */,
   3 /* Color of ReduceAction251 */,
-  42 /* Color of ReduceAction251 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction251 */,
+  44 /* Property init */,
   1819 /* Id of ReduceAction252 */,
   3 /* Color of ReduceAction252 */,
-  42 /* Color of ReduceAction252 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction252 */,
+  44 /* Property init */,
   1815 /* Id of ReduceAction253 */,
   3 /* Color of ReduceAction253 */,
-  42 /* Color of ReduceAction253 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction253 */,
+  44 /* Property init */,
   1811 /* Id of ReduceAction254 */,
   3 /* Color of ReduceAction254 */,
-  42 /* Color of ReduceAction254 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction254 */,
+  44 /* Property init */,
   1807 /* Id of ReduceAction255 */,
   3 /* Color of ReduceAction255 */,
-  42 /* Color of ReduceAction255 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction255 */,
+  44 /* Property init */,
   1803 /* Id of ReduceAction256 */,
   3 /* Color of ReduceAction256 */,
-  42 /* Color of ReduceAction256 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction256 */,
+  44 /* Property init */,
   1799 /* Id of ReduceAction257 */,
   3 /* Color of ReduceAction257 */,
-  42 /* Color of ReduceAction257 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction257 */,
+  44 /* Property init */,
   1795 /* Id of ReduceAction258 */,
   3 /* Color of ReduceAction258 */,
-  42 /* Color of ReduceAction258 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction258 */,
+  44 /* Property init */,
   1791 /* Id of ReduceAction259 */,
   3 /* Color of ReduceAction259 */,
-  42 /* Color of ReduceAction259 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction259 */,
+  44 /* Property init */,
   1783 /* Id of ReduceAction260 */,
   3 /* Color of ReduceAction260 */,
-  42 /* Color of ReduceAction260 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction260 */,
+  44 /* Property init */,
   1779 /* Id of ReduceAction261 */,
   3 /* Color of ReduceAction261 */,
-  42 /* Color of ReduceAction261 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction261 */,
+  44 /* Property init */,
   1775 /* Id of ReduceAction262 */,
   3 /* Color of ReduceAction262 */,
-  42 /* Color of ReduceAction262 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction262 */,
+  44 /* Property init */,
   1771 /* Id of ReduceAction263 */,
   3 /* Color of ReduceAction263 */,
-  42 /* Color of ReduceAction263 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction263 */,
+  44 /* Property init */,
   1767 /* Id of ReduceAction264 */,
   3 /* Color of ReduceAction264 */,
-  42 /* Color of ReduceAction264 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction264 */,
+  44 /* Property init */,
   1763 /* Id of ReduceAction265 */,
   3 /* Color of ReduceAction265 */,
-  42 /* Color of ReduceAction265 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction265 */,
+  44 /* Property init */,
   1759 /* Id of ReduceAction266 */,
   3 /* Color of ReduceAction266 */,
-  42 /* Color of ReduceAction266 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction266 */,
+  44 /* Property init */,
   1755 /* Id of ReduceAction267 */,
   3 /* Color of ReduceAction267 */,
-  42 /* Color of ReduceAction267 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction267 */,
+  44 /* Property init */,
   1751 /* Id of ReduceAction268 */,
   3 /* Color of ReduceAction268 */,
-  42 /* Color of ReduceAction268 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction268 */,
+  44 /* Property init */,
   1747 /* Id of ReduceAction269 */,
   3 /* Color of ReduceAction269 */,
-  42 /* Color of ReduceAction269 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction269 */,
+  44 /* Property init */,
   1739 /* Id of ReduceAction270 */,
   3 /* Color of ReduceAction270 */,
-  42 /* Color of ReduceAction270 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction270 */,
+  44 /* Property init */,
   1735 /* Id of ReduceAction271 */,
   3 /* Color of ReduceAction271 */,
-  42 /* Color of ReduceAction271 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction271 */,
+  44 /* Property init */,
   1731 /* Id of ReduceAction272 */,
   3 /* Color of ReduceAction272 */,
-  42 /* Color of ReduceAction272 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction272 */,
+  44 /* Property init */,
   1727 /* Id of ReduceAction273 */,
   3 /* Color of ReduceAction273 */,
-  42 /* Color of ReduceAction273 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction273 */,
+  44 /* Property init */,
   1723 /* Id of ReduceAction274 */,
   3 /* Color of ReduceAction274 */,
-  42 /* Color of ReduceAction274 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction274 */,
+  44 /* Property init */,
   1719 /* Id of ReduceAction275 */,
   3 /* Color of ReduceAction275 */,
-  42 /* Color of ReduceAction275 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction275 */,
+  44 /* Property init */,
   1715 /* Id of ReduceAction276 */,
   3 /* Color of ReduceAction276 */,
-  42 /* Color of ReduceAction276 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction276 */,
+  44 /* Property init */,
   1711 /* Id of ReduceAction277 */,
   3 /* Color of ReduceAction277 */,
-  42 /* Color of ReduceAction277 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction277 */,
+  44 /* Property init */,
   1707 /* Id of ReduceAction278 */,
   3 /* Color of ReduceAction278 */,
-  42 /* Color of ReduceAction278 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction278 */,
+  44 /* Property init */,
   1703 /* Id of ReduceAction279 */,
   3 /* Color of ReduceAction279 */,
-  42 /* Color of ReduceAction279 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction279 */,
+  44 /* Property init */,
   1695 /* Id of ReduceAction280 */,
   3 /* Color of ReduceAction280 */,
-  42 /* Color of ReduceAction280 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction280 */,
+  44 /* Property init */,
   1691 /* Id of ReduceAction281 */,
   3 /* Color of ReduceAction281 */,
-  42 /* Color of ReduceAction281 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction281 */,
+  44 /* Property init */,
   1687 /* Id of ReduceAction282 */,
   3 /* Color of ReduceAction282 */,
-  42 /* Color of ReduceAction282 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction282 */,
+  44 /* Property init */,
   1683 /* Id of ReduceAction283 */,
   3 /* Color of ReduceAction283 */,
-  42 /* Color of ReduceAction283 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction283 */,
+  44 /* Property init */,
   1679 /* Id of ReduceAction284 */,
   3 /* Color of ReduceAction284 */,
-  42 /* Color of ReduceAction284 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction284 */,
+  44 /* Property init */,
   1675 /* Id of ReduceAction285 */,
   3 /* Color of ReduceAction285 */,
-  42 /* Color of ReduceAction285 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction285 */,
+  44 /* Property init */,
   1671 /* Id of ReduceAction286 */,
   3 /* Color of ReduceAction286 */,
-  42 /* Color of ReduceAction286 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction286 */,
+  44 /* Property init */,
   1667 /* Id of ReduceAction287 */,
   3 /* Color of ReduceAction287 */,
-  42 /* Color of ReduceAction287 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction287 */,
+  44 /* Property init */,
   1663 /* Id of ReduceAction288 */,
   3 /* Color of ReduceAction288 */,
-  42 /* Color of ReduceAction288 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction288 */,
+  44 /* Property init */,
   1659 /* Id of ReduceAction289 */,
   3 /* Color of ReduceAction289 */,
-  42 /* Color of ReduceAction289 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction289 */,
+  44 /* Property init */,
   1651 /* Id of ReduceAction290 */,
   3 /* Color of ReduceAction290 */,
-  42 /* Color of ReduceAction290 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction290 */,
+  44 /* Property init */,
   1647 /* Id of ReduceAction291 */,
   3 /* Color of ReduceAction291 */,
-  42 /* Color of ReduceAction291 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction291 */,
+  44 /* Property init */,
   1643 /* Id of ReduceAction292 */,
   3 /* Color of ReduceAction292 */,
-  42 /* Color of ReduceAction292 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction292 */,
+  44 /* Property init */,
   1639 /* Id of ReduceAction293 */,
   3 /* Color of ReduceAction293 */,
-  42 /* Color of ReduceAction293 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction293 */,
+  44 /* Property init */,
   1635 /* Id of ReduceAction294 */,
   3 /* Color of ReduceAction294 */,
-  42 /* Color of ReduceAction294 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction294 */,
+  44 /* Property init */,
   1631 /* Id of ReduceAction295 */,
   3 /* Color of ReduceAction295 */,
-  42 /* Color of ReduceAction295 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction295 */,
+  44 /* Property init */,
   1627 /* Id of ReduceAction296 */,
   3 /* Color of ReduceAction296 */,
-  42 /* Color of ReduceAction296 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction296 */,
+  44 /* Property init */,
   1623 /* Id of ReduceAction297 */,
   3 /* Color of ReduceAction297 */,
-  42 /* Color of ReduceAction297 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction297 */,
+  44 /* Property init */,
   1619 /* Id of ReduceAction298 */,
   3 /* Color of ReduceAction298 */,
-  42 /* Color of ReduceAction298 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction298 */,
+  44 /* Property init */,
   1615 /* Id of ReduceAction299 */,
   3 /* Color of ReduceAction299 */,
-  42 /* Color of ReduceAction299 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction299 */,
+  44 /* Property init */,
   1603 /* Id of ReduceAction300 */,
   3 /* Color of ReduceAction300 */,
-  42 /* Color of ReduceAction300 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction300 */,
+  44 /* Property init */,
   1599 /* Id of ReduceAction301 */,
   3 /* Color of ReduceAction301 */,
-  42 /* Color of ReduceAction301 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction301 */,
+  44 /* Property init */,
   1595 /* Id of ReduceAction302 */,
   3 /* Color of ReduceAction302 */,
-  42 /* Color of ReduceAction302 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction302 */,
+  44 /* Property init */,
   1591 /* Id of ReduceAction303 */,
   3 /* Color of ReduceAction303 */,
-  42 /* Color of ReduceAction303 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction303 */,
+  44 /* Property init */,
   1587 /* Id of ReduceAction304 */,
   3 /* Color of ReduceAction304 */,
-  42 /* Color of ReduceAction304 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction304 */,
+  44 /* Property init */,
   1583 /* Id of ReduceAction305 */,
   3 /* Color of ReduceAction305 */,
-  42 /* Color of ReduceAction305 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction305 */,
+  44 /* Property init */,
   1579 /* Id of ReduceAction306 */,
   3 /* Color of ReduceAction306 */,
-  42 /* Color of ReduceAction306 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction306 */,
+  44 /* Property init */,
   1575 /* Id of ReduceAction307 */,
   3 /* Color of ReduceAction307 */,
-  42 /* Color of ReduceAction307 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction307 */,
+  44 /* Property init */,
   1571 /* Id of ReduceAction308 */,
   3 /* Color of ReduceAction308 */,
-  42 /* Color of ReduceAction308 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction308 */,
+  44 /* Property init */,
   1567 /* Id of ReduceAction309 */,
   3 /* Color of ReduceAction309 */,
-  42 /* Color of ReduceAction309 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction309 */,
+  44 /* Property init */,
   1559 /* Id of ReduceAction310 */,
   3 /* Color of ReduceAction310 */,
-  42 /* Color of ReduceAction310 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction310 */,
+  44 /* Property init */,
   1555 /* Id of ReduceAction311 */,
   3 /* Color of ReduceAction311 */,
-  42 /* Color of ReduceAction311 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction311 */,
+  44 /* Property init */,
   1551 /* Id of ReduceAction312 */,
   3 /* Color of ReduceAction312 */,
-  42 /* Color of ReduceAction312 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction312 */,
+  44 /* Property init */,
   1547 /* Id of ReduceAction313 */,
   3 /* Color of ReduceAction313 */,
-  42 /* Color of ReduceAction313 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction313 */,
+  44 /* Property init */,
   1543 /* Id of ReduceAction314 */,
   3 /* Color of ReduceAction314 */,
-  42 /* Color of ReduceAction314 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction314 */,
+  44 /* Property init */,
   1539 /* Id of ReduceAction315 */,
   3 /* Color of ReduceAction315 */,
-  42 /* Color of ReduceAction315 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction315 */,
+  44 /* Property init */,
   1535 /* Id of ReduceAction316 */,
   3 /* Color of ReduceAction316 */,
-  42 /* Color of ReduceAction316 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction316 */,
+  44 /* Property init */,
   1531 /* Id of ReduceAction317 */,
   3 /* Color of ReduceAction317 */,
-  42 /* Color of ReduceAction317 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction317 */,
+  44 /* Property init */,
   1527 /* Id of ReduceAction318 */,
   3 /* Color of ReduceAction318 */,
-  42 /* Color of ReduceAction318 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction318 */,
+  44 /* Property init */,
   1523 /* Id of ReduceAction319 */,
   3 /* Color of ReduceAction319 */,
-  42 /* Color of ReduceAction319 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction319 */,
+  44 /* Property init */,
   1515 /* Id of ReduceAction320 */,
   3 /* Color of ReduceAction320 */,
-  42 /* Color of ReduceAction320 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction320 */,
+  44 /* Property init */,
   1511 /* Id of ReduceAction321 */,
   3 /* Color of ReduceAction321 */,
-  42 /* Color of ReduceAction321 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction321 */,
+  44 /* Property init */,
   1507 /* Id of ReduceAction322 */,
   3 /* Color of ReduceAction322 */,
-  42 /* Color of ReduceAction322 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction322 */,
+  44 /* Property init */,
   1503 /* Id of ReduceAction323 */,
   3 /* Color of ReduceAction323 */,
-  42 /* Color of ReduceAction323 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction323 */,
+  44 /* Property init */,
   1499 /* Id of ReduceAction324 */,
   3 /* Color of ReduceAction324 */,
-  42 /* Color of ReduceAction324 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction324 */,
+  44 /* Property init */,
   1495 /* Id of ReduceAction325 */,
   3 /* Color of ReduceAction325 */,
-  42 /* Color of ReduceAction325 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction325 */,
+  44 /* Property init */,
   1491 /* Id of ReduceAction326 */,
   3 /* Color of ReduceAction326 */,
-  42 /* Color of ReduceAction326 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction326 */,
+  44 /* Property init */,
   1487 /* Id of ReduceAction327 */,
   3 /* Color of ReduceAction327 */,
-  42 /* Color of ReduceAction327 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction327 */,
+  44 /* Property init */,
   1483 /* Id of ReduceAction328 */,
   3 /* Color of ReduceAction328 */,
-  42 /* Color of ReduceAction328 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction328 */,
+  44 /* Property init */,
   1479 /* Id of ReduceAction329 */,
   3 /* Color of ReduceAction329 */,
-  42 /* Color of ReduceAction329 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction329 */,
+  44 /* Property init */,
   1471 /* Id of ReduceAction330 */,
   3 /* Color of ReduceAction330 */,
-  42 /* Color of ReduceAction330 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction330 */,
+  44 /* Property init */,
   1467 /* Id of ReduceAction331 */,
   3 /* Color of ReduceAction331 */,
-  42 /* Color of ReduceAction331 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction331 */,
+  44 /* Property init */,
   1463 /* Id of ReduceAction332 */,
   3 /* Color of ReduceAction332 */,
-  42 /* Color of ReduceAction332 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction332 */,
+  44 /* Property init */,
   1459 /* Id of ReduceAction333 */,
   3 /* Color of ReduceAction333 */,
-  42 /* Color of ReduceAction333 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction333 */,
+  44 /* Property init */,
   1455 /* Id of ReduceAction334 */,
   3 /* Color of ReduceAction334 */,
-  42 /* Color of ReduceAction334 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction334 */,
+  44 /* Property init */,
   1451 /* Id of ReduceAction335 */,
   3 /* Color of ReduceAction335 */,
-  42 /* Color of ReduceAction335 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction335 */,
+  44 /* Property init */,
   1447 /* Id of ReduceAction336 */,
   3 /* Color of ReduceAction336 */,
-  42 /* Color of ReduceAction336 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction336 */,
+  44 /* Property init */,
   1443 /* Id of ReduceAction337 */,
   3 /* Color of ReduceAction337 */,
-  42 /* Color of ReduceAction337 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction337 */,
+  44 /* Property init */,
   1439 /* Id of ReduceAction338 */,
   3 /* Color of ReduceAction338 */,
-  42 /* Color of ReduceAction338 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction338 */,
+  44 /* Property init */,
   1435 /* Id of ReduceAction339 */,
   3 /* Color of ReduceAction339 */,
-  42 /* Color of ReduceAction339 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction339 */,
+  44 /* Property init */,
   1427 /* Id of ReduceAction340 */,
   3 /* Color of ReduceAction340 */,
-  42 /* Color of ReduceAction340 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction340 */,
+  44 /* Property init */,
   1423 /* Id of ReduceAction341 */,
   3 /* Color of ReduceAction341 */,
-  42 /* Color of ReduceAction341 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction341 */,
+  44 /* Property init */,
   1419 /* Id of ReduceAction342 */,
   3 /* Color of ReduceAction342 */,
-  42 /* Color of ReduceAction342 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction342 */,
+  44 /* Property init */,
   1415 /* Id of ReduceAction343 */,
   3 /* Color of ReduceAction343 */,
-  42 /* Color of ReduceAction343 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction343 */,
+  44 /* Property init */,
   1411 /* Id of ReduceAction344 */,
   3 /* Color of ReduceAction344 */,
-  42 /* Color of ReduceAction344 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction344 */,
+  44 /* Property init */,
   1407 /* Id of ReduceAction345 */,
   3 /* Color of ReduceAction345 */,
-  42 /* Color of ReduceAction345 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction345 */,
+  44 /* Property init */,
   1403 /* Id of ReduceAction346 */,
   3 /* Color of ReduceAction346 */,
-  42 /* Color of ReduceAction346 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction346 */,
+  44 /* Property init */,
   1399 /* Id of ReduceAction347 */,
   3 /* Color of ReduceAction347 */,
-  42 /* Color of ReduceAction347 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction347 */,
+  44 /* Property init */,
   1395 /* Id of ReduceAction348 */,
   3 /* Color of ReduceAction348 */,
-  42 /* Color of ReduceAction348 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction348 */,
+  44 /* Property init */,
   1391 /* Id of ReduceAction349 */,
   3 /* Color of ReduceAction349 */,
-  42 /* Color of ReduceAction349 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction349 */,
+  44 /* Property init */,
   1383 /* Id of ReduceAction350 */,
   3 /* Color of ReduceAction350 */,
-  42 /* Color of ReduceAction350 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction350 */,
+  44 /* Property init */,
   1379 /* Id of ReduceAction351 */,
   3 /* Color of ReduceAction351 */,
-  42 /* Color of ReduceAction351 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction351 */,
+  44 /* Property init */,
   1375 /* Id of ReduceAction352 */,
   3 /* Color of ReduceAction352 */,
-  42 /* Color of ReduceAction352 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction352 */,
+  44 /* Property init */,
   1371 /* Id of ReduceAction353 */,
   3 /* Color of ReduceAction353 */,
-  42 /* Color of ReduceAction353 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction353 */,
+  44 /* Property init */,
   1367 /* Id of ReduceAction354 */,
   3 /* Color of ReduceAction354 */,
-  42 /* Color of ReduceAction354 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction354 */,
+  44 /* Property init */,
   1363 /* Id of ReduceAction355 */,
   3 /* Color of ReduceAction355 */,
-  42 /* Color of ReduceAction355 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction355 */,
+  44 /* Property init */,
   1359 /* Id of ReduceAction356 */,
   3 /* Color of ReduceAction356 */,
-  42 /* Color of ReduceAction356 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction356 */,
+  44 /* Property init */,
   1355 /* Id of ReduceAction357 */,
   3 /* Color of ReduceAction357 */,
-  42 /* Color of ReduceAction357 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction357 */,
+  44 /* Property init */,
   1351 /* Id of ReduceAction358 */,
   3 /* Color of ReduceAction358 */,
-  42 /* Color of ReduceAction358 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction358 */,
+  44 /* Property init */,
   1347 /* Id of ReduceAction359 */,
   3 /* Color of ReduceAction359 */,
-  42 /* Color of ReduceAction359 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction359 */,
+  44 /* Property init */,
   1339 /* Id of ReduceAction360 */,
   3 /* Color of ReduceAction360 */,
-  42 /* Color of ReduceAction360 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction360 */,
+  44 /* Property init */,
   1335 /* Id of ReduceAction361 */,
   3 /* Color of ReduceAction361 */,
-  42 /* Color of ReduceAction361 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction361 */,
+  44 /* Property init */,
   1331 /* Id of ReduceAction362 */,
   3 /* Color of ReduceAction362 */,
-  42 /* Color of ReduceAction362 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction362 */,
+  44 /* Property init */,
   1327 /* Id of ReduceAction363 */,
   3 /* Color of ReduceAction363 */,
-  42 /* Color of ReduceAction363 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction363 */,
+  44 /* Property init */,
   1323 /* Id of ReduceAction364 */,
   3 /* Color of ReduceAction364 */,
-  42 /* Color of ReduceAction364 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction364 */,
+  44 /* Property init */,
   1319 /* Id of ReduceAction365 */,
   3 /* Color of ReduceAction365 */,
-  42 /* Color of ReduceAction365 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction365 */,
+  44 /* Property init */,
   1315 /* Id of ReduceAction366 */,
   3 /* Color of ReduceAction366 */,
-  42 /* Color of ReduceAction366 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction366 */,
+  44 /* Property init */,
   1311 /* Id of ReduceAction367 */,
   3 /* Color of ReduceAction367 */,
-  42 /* Color of ReduceAction367 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction367 */,
+  44 /* Property init */,
   1307 /* Id of ReduceAction368 */,
   3 /* Color of ReduceAction368 */,
-  42 /* Color of ReduceAction368 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction368 */,
+  44 /* Property init */,
   1303 /* Id of ReduceAction369 */,
   3 /* Color of ReduceAction369 */,
-  42 /* Color of ReduceAction369 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction369 */,
+  44 /* Property init */,
   1295 /* Id of ReduceAction370 */,
   3 /* Color of ReduceAction370 */,
-  42 /* Color of ReduceAction370 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction370 */,
+  44 /* Property init */,
   1291 /* Id of ReduceAction371 */,
   3 /* Color of ReduceAction371 */,
-  42 /* Color of ReduceAction371 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction371 */,
+  44 /* Property init */,
   1287 /* Id of ReduceAction372 */,
   3 /* Color of ReduceAction372 */,
-  42 /* Color of ReduceAction372 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction372 */,
+  44 /* Property init */,
   1283 /* Id of ReduceAction373 */,
   3 /* Color of ReduceAction373 */,
-  42 /* Color of ReduceAction373 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction373 */,
+  44 /* Property init */,
   1279 /* Id of ReduceAction374 */,
   3 /* Color of ReduceAction374 */,
-  42 /* Color of ReduceAction374 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction374 */,
+  44 /* Property init */,
   1275 /* Id of ReduceAction375 */,
   3 /* Color of ReduceAction375 */,
-  42 /* Color of ReduceAction375 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction375 */,
+  44 /* Property init */,
   1271 /* Id of ReduceAction376 */,
   3 /* Color of ReduceAction376 */,
-  42 /* Color of ReduceAction376 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction376 */,
+  44 /* Property init */,
   1267 /* Id of ReduceAction377 */,
   3 /* Color of ReduceAction377 */,
-  42 /* Color of ReduceAction377 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction377 */,
+  44 /* Property init */,
   1263 /* Id of ReduceAction378 */,
   3 /* Color of ReduceAction378 */,
-  42 /* Color of ReduceAction378 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction378 */,
+  44 /* Property init */,
   1259 /* Id of ReduceAction379 */,
   3 /* Color of ReduceAction379 */,
-  42 /* Color of ReduceAction379 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction379 */,
+  44 /* Property init */,
   1251 /* Id of ReduceAction380 */,
   3 /* Color of ReduceAction380 */,
-  42 /* Color of ReduceAction380 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction380 */,
+  44 /* Property init */,
   1247 /* Id of ReduceAction381 */,
   3 /* Color of ReduceAction381 */,
-  42 /* Color of ReduceAction381 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction381 */,
+  44 /* Property init */,
   1243 /* Id of ReduceAction382 */,
   3 /* Color of ReduceAction382 */,
-  42 /* Color of ReduceAction382 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction382 */,
+  44 /* Property init */,
   1239 /* Id of ReduceAction383 */,
   3 /* Color of ReduceAction383 */,
-  42 /* Color of ReduceAction383 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction383 */,
+  44 /* Property init */,
   1235 /* Id of ReduceAction384 */,
   3 /* Color of ReduceAction384 */,
-  42 /* Color of ReduceAction384 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction384 */,
+  44 /* Property init */,
   1231 /* Id of ReduceAction385 */,
   3 /* Color of ReduceAction385 */,
-  42 /* Color of ReduceAction385 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction385 */,
+  44 /* Property init */,
   1227 /* Id of ReduceAction386 */,
   3 /* Color of ReduceAction386 */,
-  42 /* Color of ReduceAction386 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction386 */,
+  44 /* Property init */,
   1223 /* Id of ReduceAction387 */,
   3 /* Color of ReduceAction387 */,
-  42 /* Color of ReduceAction387 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction387 */,
+  44 /* Property init */,
   1219 /* Id of ReduceAction388 */,
   3 /* Color of ReduceAction388 */,
-  42 /* Color of ReduceAction388 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction388 */,
+  44 /* Property init */,
   1215 /* Id of ReduceAction389 */,
   3 /* Color of ReduceAction389 */,
-  42 /* Color of ReduceAction389 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction389 */,
+  44 /* Property init */,
   1207 /* Id of ReduceAction390 */,
   3 /* Color of ReduceAction390 */,
-  42 /* Color of ReduceAction390 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction390 */,
+  44 /* Property init */,
   1203 /* Id of ReduceAction391 */,
   3 /* Color of ReduceAction391 */,
-  42 /* Color of ReduceAction391 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction391 */,
+  44 /* Property init */,
   1199 /* Id of ReduceAction392 */,
   3 /* Color of ReduceAction392 */,
-  42 /* Color of ReduceAction392 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction392 */,
+  44 /* Property init */,
   1195 /* Id of ReduceAction393 */,
   3 /* Color of ReduceAction393 */,
-  42 /* Color of ReduceAction393 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction393 */,
+  44 /* Property init */,
   1191 /* Id of ReduceAction394 */,
   3 /* Color of ReduceAction394 */,
-  42 /* Color of ReduceAction394 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction394 */,
+  44 /* Property init */,
   1187 /* Id of ReduceAction395 */,
   3 /* Color of ReduceAction395 */,
-  42 /* Color of ReduceAction395 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction395 */,
+  44 /* Property init */,
   1183 /* Id of ReduceAction396 */,
   3 /* Color of ReduceAction396 */,
-  42 /* Color of ReduceAction396 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction396 */,
+  44 /* Property init */,
   1179 /* Id of ReduceAction397 */,
   3 /* Color of ReduceAction397 */,
-  42 /* Color of ReduceAction397 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction397 */,
+  44 /* Property init */,
   1175 /* Id of ReduceAction398 */,
   3 /* Color of ReduceAction398 */,
-  42 /* Color of ReduceAction398 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction398 */,
+  44 /* Property init */,
   1171 /* Id of ReduceAction399 */,
   3 /* Color of ReduceAction399 */,
-  42 /* Color of ReduceAction399 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction399 */,
+  44 /* Property init */,
   1159 /* Id of ReduceAction400 */,
   3 /* Color of ReduceAction400 */,
-  42 /* Color of ReduceAction400 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction400 */,
+  44 /* Property init */,
   1155 /* Id of ReduceAction401 */,
   3 /* Color of ReduceAction401 */,
-  42 /* Color of ReduceAction401 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction401 */,
+  44 /* Property init */,
   1151 /* Id of ReduceAction402 */,
   3 /* Color of ReduceAction402 */,
-  42 /* Color of ReduceAction402 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction402 */,
+  44 /* Property init */,
   1147 /* Id of ReduceAction403 */,
   3 /* Color of ReduceAction403 */,
-  42 /* Color of ReduceAction403 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction403 */,
+  44 /* Property init */,
   1143 /* Id of ReduceAction404 */,
   3 /* Color of ReduceAction404 */,
-  42 /* Color of ReduceAction404 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction404 */,
+  44 /* Property init */,
   1139 /* Id of ReduceAction405 */,
   3 /* Color of ReduceAction405 */,
-  42 /* Color of ReduceAction405 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction405 */,
+  44 /* Property init */,
   1135 /* Id of ReduceAction406 */,
   3 /* Color of ReduceAction406 */,
-  42 /* Color of ReduceAction406 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction406 */,
+  44 /* Property init */,
   1131 /* Id of ReduceAction407 */,
   3 /* Color of ReduceAction407 */,
-  42 /* Color of ReduceAction407 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction407 */,
+  44 /* Property init */,
   1127 /* Id of ReduceAction408 */,
   3 /* Color of ReduceAction408 */,
-  42 /* Color of ReduceAction408 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction408 */,
+  44 /* Property init */,
   1123 /* Id of ReduceAction409 */,
   3 /* Color of ReduceAction409 */,
-  42 /* Color of ReduceAction409 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction409 */,
+  44 /* Property init */,
   1115 /* Id of ReduceAction410 */,
   3 /* Color of ReduceAction410 */,
-  42 /* Color of ReduceAction410 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction410 */,
+  44 /* Property init */,
   1111 /* Id of ReduceAction411 */,
   3 /* Color of ReduceAction411 */,
-  42 /* Color of ReduceAction411 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction411 */,
+  44 /* Property init */,
   1107 /* Id of ReduceAction412 */,
   3 /* Color of ReduceAction412 */,
-  42 /* Color of ReduceAction412 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction412 */,
+  44 /* Property init */,
   1103 /* Id of ReduceAction413 */,
   3 /* Color of ReduceAction413 */,
-  42 /* Color of ReduceAction413 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction413 */,
+  44 /* Property init */,
   1099 /* Id of ReduceAction414 */,
   3 /* Color of ReduceAction414 */,
-  42 /* Color of ReduceAction414 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction414 */,
+  44 /* Property init */,
   1095 /* Id of ReduceAction415 */,
   3 /* Color of ReduceAction415 */,
-  42 /* Color of ReduceAction415 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction415 */,
+  44 /* Property init */,
   1091 /* Id of ReduceAction416 */,
   3 /* Color of ReduceAction416 */,
-  42 /* Color of ReduceAction416 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction416 */,
+  44 /* Property init */,
   1087 /* Id of ReduceAction417 */,
   3 /* Color of ReduceAction417 */,
-  42 /* Color of ReduceAction417 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction417 */,
+  44 /* Property init */,
   1083 /* Id of ReduceAction418 */,
   3 /* Color of ReduceAction418 */,
-  42 /* Color of ReduceAction418 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction418 */,
+  44 /* Property init */,
   1079 /* Id of ReduceAction419 */,
   3 /* Color of ReduceAction419 */,
-  42 /* Color of ReduceAction419 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction419 */,
+  44 /* Property init */,
   1071 /* Id of ReduceAction420 */,
   3 /* Color of ReduceAction420 */,
-  42 /* Color of ReduceAction420 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction420 */,
+  44 /* Property init */,
   1067 /* Id of ReduceAction421 */,
   3 /* Color of ReduceAction421 */,
-  42 /* Color of ReduceAction421 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction421 */,
+  44 /* Property init */,
   1063 /* Id of ReduceAction422 */,
   3 /* Color of ReduceAction422 */,
-  42 /* Color of ReduceAction422 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction422 */,
+  44 /* Property init */,
   1059 /* Id of ReduceAction423 */,
   3 /* Color of ReduceAction423 */,
-  42 /* Color of ReduceAction423 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction423 */,
+  44 /* Property init */,
   1055 /* Id of ReduceAction424 */,
   3 /* Color of ReduceAction424 */,
-  42 /* Color of ReduceAction424 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction424 */,
+  44 /* Property init */,
   1051 /* Id of ReduceAction425 */,
   3 /* Color of ReduceAction425 */,
-  42 /* Color of ReduceAction425 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction425 */,
+  44 /* Property init */,
   1047 /* Id of ReduceAction426 */,
   3 /* Color of ReduceAction426 */,
-  42 /* Color of ReduceAction426 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction426 */,
+  44 /* Property init */,
   1043 /* Id of ReduceAction427 */,
   3 /* Color of ReduceAction427 */,
-  42 /* Color of ReduceAction427 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction427 */,
+  44 /* Property init */,
   1039 /* Id of ReduceAction428 */,
   3 /* Color of ReduceAction428 */,
-  42 /* Color of ReduceAction428 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction428 */,
+  44 /* Property init */,
   1035 /* Id of ReduceAction429 */,
   3 /* Color of ReduceAction429 */,
-  42 /* Color of ReduceAction429 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction429 */,
+  44 /* Property init */,
   1027 /* Id of ReduceAction430 */,
   3 /* Color of ReduceAction430 */,
-  42 /* Color of ReduceAction430 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction430 */,
+  44 /* Property init */,
   1023 /* Id of ReduceAction431 */,
   3 /* Color of ReduceAction431 */,
-  42 /* Color of ReduceAction431 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction431 */,
+  44 /* Property init */,
   1019 /* Id of ReduceAction432 */,
   3 /* Color of ReduceAction432 */,
-  42 /* Color of ReduceAction432 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction432 */,
+  44 /* Property init */,
   1015 /* Id of ReduceAction433 */,
   3 /* Color of ReduceAction433 */,
-  42 /* Color of ReduceAction433 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction433 */,
+  44 /* Property init */,
   1011 /* Id of ReduceAction434 */,
   3 /* Color of ReduceAction434 */,
-  42 /* Color of ReduceAction434 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction434 */,
+  44 /* Property init */,
   1007 /* Id of ReduceAction435 */,
   3 /* Color of ReduceAction435 */,
-  42 /* Color of ReduceAction435 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction435 */,
+  44 /* Property init */,
   1003 /* Id of ReduceAction436 */,
   3 /* Color of ReduceAction436 */,
-  42 /* Color of ReduceAction436 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction436 */,
+  44 /* Property init */,
   999 /* Id of ReduceAction437 */,
   3 /* Color of ReduceAction437 */,
-  42 /* Color of ReduceAction437 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction437 */,
+  44 /* Property init */,
   995 /* Id of ReduceAction438 */,
   3 /* Color of ReduceAction438 */,
-  42 /* Color of ReduceAction438 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction438 */,
+  44 /* Property init */,
   991 /* Id of ReduceAction439 */,
   3 /* Color of ReduceAction439 */,
-  42 /* Color of ReduceAction439 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction439 */,
+  44 /* Property init */,
   983 /* Id of ReduceAction440 */,
   3 /* Color of ReduceAction440 */,
-  42 /* Color of ReduceAction440 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction440 */,
+  44 /* Property init */,
   979 /* Id of ReduceAction441 */,
   3 /* Color of ReduceAction441 */,
-  42 /* Color of ReduceAction441 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction441 */,
+  44 /* Property init */,
   975 /* Id of ReduceAction442 */,
   3 /* Color of ReduceAction442 */,
-  42 /* Color of ReduceAction442 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction442 */,
+  44 /* Property init */,
   971 /* Id of ReduceAction443 */,
   3 /* Color of ReduceAction443 */,
-  42 /* Color of ReduceAction443 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction443 */,
+  44 /* Property init */,
   967 /* Id of ReduceAction444 */,
   3 /* Color of ReduceAction444 */,
-  42 /* Color of ReduceAction444 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction444 */,
+  44 /* Property init */,
   963 /* Id of ReduceAction445 */,
   3 /* Color of ReduceAction445 */,
-  42 /* Color of ReduceAction445 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction445 */,
+  44 /* Property init */,
   959 /* Id of ReduceAction446 */,
   3 /* Color of ReduceAction446 */,
-  42 /* Color of ReduceAction446 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction446 */,
+  44 /* Property init */,
   955 /* Id of ReduceAction447 */,
   3 /* Color of ReduceAction447 */,
-  42 /* Color of ReduceAction447 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction447 */,
+  44 /* Property init */,
   951 /* Id of ReduceAction448 */,
   3 /* Color of ReduceAction448 */,
-  42 /* Color of ReduceAction448 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction448 */,
+  44 /* Property init */,
   947 /* Id of ReduceAction449 */,
   3 /* Color of ReduceAction449 */,
-  42 /* Color of ReduceAction449 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction449 */,
+  44 /* Property init */,
   939 /* Id of ReduceAction450 */,
   3 /* Color of ReduceAction450 */,
-  42 /* Color of ReduceAction450 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction450 */,
+  44 /* Property init */,
   935 /* Id of ReduceAction451 */,
   3 /* Color of ReduceAction451 */,
-  42 /* Color of ReduceAction451 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction451 */,
+  44 /* Property init */,
   931 /* Id of ReduceAction452 */,
   3 /* Color of ReduceAction452 */,
-  42 /* Color of ReduceAction452 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction452 */,
+  44 /* Property init */,
   927 /* Id of ReduceAction453 */,
   3 /* Color of ReduceAction453 */,
-  42 /* Color of ReduceAction453 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction453 */,
+  44 /* Property init */,
   923 /* Id of ReduceAction454 */,
   3 /* Color of ReduceAction454 */,
-  42 /* Color of ReduceAction454 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction454 */,
+  44 /* Property init */,
   919 /* Id of ReduceAction455 */,
   3 /* Color of ReduceAction455 */,
-  42 /* Color of ReduceAction455 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction455 */,
+  44 /* Property init */,
   915 /* Id of ReduceAction456 */,
   3 /* Color of ReduceAction456 */,
-  42 /* Color of ReduceAction456 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction456 */,
+  44 /* Property init */,
   911 /* Id of ReduceAction457 */,
   3 /* Color of ReduceAction457 */,
-  42 /* Color of ReduceAction457 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction457 */,
+  44 /* Property init */,
   907 /* Id of ReduceAction458 */,
   3 /* Color of ReduceAction458 */,
-  42 /* Color of ReduceAction458 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction458 */,
+  44 /* Property init */,
   903 /* Id of ReduceAction459 */,
   3 /* Color of ReduceAction459 */,
-  42 /* Color of ReduceAction459 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction459 */,
+  44 /* Property init */,
   895 /* Id of ReduceAction460 */,
   3 /* Color of ReduceAction460 */,
-  42 /* Color of ReduceAction460 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction460 */,
+  44 /* Property init */,
   891 /* Id of ReduceAction461 */,
   3 /* Color of ReduceAction461 */,
-  42 /* Color of ReduceAction461 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction461 */,
+  44 /* Property init */,
   887 /* Id of ReduceAction462 */,
   3 /* Color of ReduceAction462 */,
-  42 /* Color of ReduceAction462 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction462 */,
+  44 /* Property init */,
   883 /* Id of ReduceAction463 */,
   3 /* Color of ReduceAction463 */,
-  42 /* Color of ReduceAction463 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction463 */,
+  44 /* Property init */,
   879 /* Id of ReduceAction464 */,
   3 /* Color of ReduceAction464 */,
-  42 /* Color of ReduceAction464 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction464 */,
+  44 /* Property init */,
   875 /* Id of ReduceAction465 */,
   3 /* Color of ReduceAction465 */,
-  42 /* Color of ReduceAction465 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction465 */,
+  44 /* Property init */,
   871 /* Id of ReduceAction466 */,
   3 /* Color of ReduceAction466 */,
-  42 /* Color of ReduceAction466 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction466 */,
+  44 /* Property init */,
   867 /* Id of ReduceAction467 */,
   3 /* Color of ReduceAction467 */,
-  42 /* Color of ReduceAction467 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction467 */,
+  44 /* Property init */,
   863 /* Id of ReduceAction468 */,
   3 /* Color of ReduceAction468 */,
-  42 /* Color of ReduceAction468 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction468 */,
+  44 /* Property init */,
   859 /* Id of ReduceAction469 */,
   3 /* Color of ReduceAction469 */,
-  42 /* Color of ReduceAction469 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction469 */,
+  44 /* Property init */,
   851 /* Id of ReduceAction470 */,
   3 /* Color of ReduceAction470 */,
-  42 /* Color of ReduceAction470 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction470 */,
+  44 /* Property init */,
   847 /* Id of ReduceAction471 */,
   3 /* Color of ReduceAction471 */,
-  42 /* Color of ReduceAction471 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction471 */,
+  44 /* Property init */,
   843 /* Id of ReduceAction472 */,
   3 /* Color of ReduceAction472 */,
-  42 /* Color of ReduceAction472 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction472 */,
+  44 /* Property init */,
   839 /* Id of ReduceAction473 */,
   3 /* Color of ReduceAction473 */,
-  42 /* Color of ReduceAction473 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction473 */,
+  44 /* Property init */,
   835 /* Id of ReduceAction474 */,
   3 /* Color of ReduceAction474 */,
-  42 /* Color of ReduceAction474 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction474 */,
+  44 /* Property init */,
   831 /* Id of ReduceAction475 */,
   3 /* Color of ReduceAction475 */,
-  42 /* Color of ReduceAction475 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction475 */,
+  44 /* Property init */,
   827 /* Id of ReduceAction476 */,
   3 /* Color of ReduceAction476 */,
-  42 /* Color of ReduceAction476 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction476 */,
+  44 /* Property init */,
   823 /* Id of ReduceAction477 */,
   3 /* Color of ReduceAction477 */,
-  42 /* Color of ReduceAction477 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction477 */,
+  44 /* Property init */,
   819 /* Id of ReduceAction478 */,
   3 /* Color of ReduceAction478 */,
-  42 /* Color of ReduceAction478 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction478 */,
+  44 /* Property init */,
   815 /* Id of ReduceAction479 */,
   3 /* Color of ReduceAction479 */,
-  42 /* Color of ReduceAction479 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction479 */,
+  44 /* Property init */,
   807 /* Id of ReduceAction480 */,
   3 /* Color of ReduceAction480 */,
-  42 /* Color of ReduceAction480 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction480 */,
+  44 /* Property init */,
   803 /* Id of ReduceAction481 */,
   3 /* Color of ReduceAction481 */,
-  42 /* Color of ReduceAction481 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction481 */,
+  44 /* Property init */,
   799 /* Id of ReduceAction482 */,
   3 /* Color of ReduceAction482 */,
-  42 /* Color of ReduceAction482 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction482 */,
+  44 /* Property init */,
   795 /* Id of ReduceAction483 */,
   3 /* Color of ReduceAction483 */,
-  42 /* Color of ReduceAction483 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction483 */,
+  44 /* Property init */,
   791 /* Id of ReduceAction484 */,
   3 /* Color of ReduceAction484 */,
-  42 /* Color of ReduceAction484 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction484 */,
+  44 /* Property init */,
   787 /* Id of ReduceAction485 */,
   3 /* Color of ReduceAction485 */,
-  42 /* Color of ReduceAction485 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction485 */,
+  44 /* Property init */,
   783 /* Id of ReduceAction486 */,
   3 /* Color of ReduceAction486 */,
-  42 /* Color of ReduceAction486 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction486 */,
+  44 /* Property init */,
   779 /* Id of ReduceAction487 */,
   3 /* Color of ReduceAction487 */,
-  42 /* Color of ReduceAction487 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction487 */,
+  44 /* Property init */,
   775 /* Id of ReduceAction488 */,
   3 /* Color of ReduceAction488 */,
-  42 /* Color of ReduceAction488 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction488 */,
+  44 /* Property init */,
   771 /* Id of ReduceAction489 */,
   3 /* Color of ReduceAction489 */,
-  42 /* Color of ReduceAction489 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction489 */,
+  44 /* Property init */,
   763 /* Id of ReduceAction490 */,
   3 /* Color of ReduceAction490 */,
-  42 /* Color of ReduceAction490 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction490 */,
+  44 /* Property init */,
   759 /* Id of ReduceAction491 */,
   3 /* Color of ReduceAction491 */,
-  42 /* Color of ReduceAction491 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction491 */,
+  44 /* Property init */,
   755 /* Id of ReduceAction492 */,
   3 /* Color of ReduceAction492 */,
-  42 /* Color of ReduceAction492 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction492 */,
+  44 /* Property init */,
   751 /* Id of ReduceAction493 */,
   3 /* Color of ReduceAction493 */,
-  42 /* Color of ReduceAction493 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction493 */,
+  44 /* Property init */,
   747 /* Id of ReduceAction494 */,
   3 /* Color of ReduceAction494 */,
-  42 /* Color of ReduceAction494 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction494 */,
+  44 /* Property init */,
   743 /* Id of ReduceAction495 */,
   3 /* Color of ReduceAction495 */,
-  42 /* Color of ReduceAction495 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction495 */,
+  44 /* Property init */,
   739 /* Id of ReduceAction496 */,
   3 /* Color of ReduceAction496 */,
-  42 /* Color of ReduceAction496 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction496 */,
+  44 /* Property init */,
   735 /* Id of ReduceAction497 */,
   3 /* Color of ReduceAction497 */,
-  42 /* Color of ReduceAction497 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction497 */,
+  44 /* Property init */,
   731 /* Id of ReduceAction498 */,
   3 /* Color of ReduceAction498 */,
-  42 /* Color of ReduceAction498 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction498 */,
+  44 /* Property init */,
   727 /* Id of ReduceAction499 */,
   3 /* Color of ReduceAction499 */,
-  42 /* Color of ReduceAction499 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction499 */,
+  44 /* Property init */,
   715 /* Id of ReduceAction500 */,
   3 /* Color of ReduceAction500 */,
-  42 /* Color of ReduceAction500 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction500 */,
+  44 /* Property init */,
   711 /* Id of ReduceAction501 */,
   3 /* Color of ReduceAction501 */,
-  42 /* Color of ReduceAction501 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction501 */,
+  44 /* Property init */,
   707 /* Id of ReduceAction502 */,
   3 /* Color of ReduceAction502 */,
-  42 /* Color of ReduceAction502 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction502 */,
+  44 /* Property init */,
   703 /* Id of ReduceAction503 */,
   3 /* Color of ReduceAction503 */,
-  42 /* Color of ReduceAction503 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction503 */,
+  44 /* Property init */,
   699 /* Id of ReduceAction504 */,
   3 /* Color of ReduceAction504 */,
-  42 /* Color of ReduceAction504 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction504 */,
+  44 /* Property init */,
   695 /* Id of ReduceAction505 */,
   3 /* Color of ReduceAction505 */,
-  42 /* Color of ReduceAction505 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction505 */,
+  44 /* Property init */,
   691 /* Id of ReduceAction506 */,
   3 /* Color of ReduceAction506 */,
-  42 /* Color of ReduceAction506 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction506 */,
+  44 /* Property init */,
   687 /* Id of ReduceAction507 */,
   3 /* Color of ReduceAction507 */,
-  42 /* Color of ReduceAction507 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction507 */,
+  44 /* Property init */,
   683 /* Id of ReduceAction508 */,
   3 /* Color of ReduceAction508 */,
-  42 /* Color of ReduceAction508 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction508 */,
+  44 /* Property init */,
   679 /* Id of ReduceAction509 */,
   3 /* Color of ReduceAction509 */,
-  42 /* Color of ReduceAction509 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction509 */,
+  44 /* Property init */,
   671 /* Id of ReduceAction510 */,
   3 /* Color of ReduceAction510 */,
-  42 /* Color of ReduceAction510 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction510 */,
+  44 /* Property init */,
   667 /* Id of ReduceAction511 */,
   3 /* Color of ReduceAction511 */,
-  42 /* Color of ReduceAction511 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction511 */,
+  44 /* Property init */,
   663 /* Id of ReduceAction512 */,
   3 /* Color of ReduceAction512 */,
-  42 /* Color of ReduceAction512 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction512 */,
+  44 /* Property init */,
   659 /* Id of ReduceAction513 */,
   3 /* Color of ReduceAction513 */,
-  42 /* Color of ReduceAction513 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction513 */,
+  44 /* Property init */,
   655 /* Id of ReduceAction514 */,
   3 /* Color of ReduceAction514 */,
-  42 /* Color of ReduceAction514 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction514 */,
+  44 /* Property init */,
   651 /* Id of ReduceAction515 */,
   3 /* Color of ReduceAction515 */,
-  42 /* Color of ReduceAction515 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction515 */,
+  44 /* Property init */,
   647 /* Id of ReduceAction516 */,
   3 /* Color of ReduceAction516 */,
-  42 /* Color of ReduceAction516 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction516 */,
+  44 /* Property init */,
   643 /* Id of ReduceAction517 */,
   3 /* Color of ReduceAction517 */,
-  42 /* Color of ReduceAction517 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction517 */,
+  44 /* Property init */,
   639 /* Id of ReduceAction518 */,
   3 /* Color of ReduceAction518 */,
-  42 /* Color of ReduceAction518 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction518 */,
+  44 /* Property init */,
   635 /* Id of ReduceAction519 */,
   3 /* Color of ReduceAction519 */,
-  42 /* Color of ReduceAction519 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction519 */,
+  44 /* Property init */,
   627 /* Id of ReduceAction520 */,
   3 /* Color of ReduceAction520 */,
-  42 /* Color of ReduceAction520 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction520 */,
+  44 /* Property init */,
   623 /* Id of ReduceAction521 */,
   3 /* Color of ReduceAction521 */,
-  42 /* Color of ReduceAction521 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction521 */,
+  44 /* Property init */,
   619 /* Id of ReduceAction522 */,
   3 /* Color of ReduceAction522 */,
-  42 /* Color of ReduceAction522 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction522 */,
+  44 /* Property init */,
   615 /* Id of ReduceAction523 */,
   3 /* Color of ReduceAction523 */,
-  42 /* Color of ReduceAction523 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction523 */,
+  44 /* Property init */,
   611 /* Id of ReduceAction524 */,
   3 /* Color of ReduceAction524 */,
-  42 /* Color of ReduceAction524 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction524 */,
+  44 /* Property init */,
   607 /* Id of ReduceAction525 */,
   3 /* Color of ReduceAction525 */,
-  42 /* Color of ReduceAction525 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction525 */,
+  44 /* Property init */,
   603 /* Id of ReduceAction526 */,
   3 /* Color of ReduceAction526 */,
-  42 /* Color of ReduceAction526 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction526 */,
+  44 /* Property init */,
   599 /* Id of ReduceAction527 */,
   3 /* Color of ReduceAction527 */,
-  42 /* Color of ReduceAction527 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction527 */,
+  44 /* Property init */,
   595 /* Id of ReduceAction528 */,
   3 /* Color of ReduceAction528 */,
-  42 /* Color of ReduceAction528 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction528 */,
+  44 /* Property init */,
   591 /* Id of ReduceAction529 */,
   3 /* Color of ReduceAction529 */,
-  42 /* Color of ReduceAction529 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction529 */,
+  44 /* Property init */,
   583 /* Id of ReduceAction530 */,
   3 /* Color of ReduceAction530 */,
-  42 /* Color of ReduceAction530 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction530 */,
+  44 /* Property init */,
   579 /* Id of ReduceAction531 */,
   3 /* Color of ReduceAction531 */,
-  42 /* Color of ReduceAction531 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction531 */,
+  44 /* Property init */,
   575 /* Id of ReduceAction532 */,
   3 /* Color of ReduceAction532 */,
-  42 /* Color of ReduceAction532 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction532 */,
+  44 /* Property init */,
   571 /* Id of ReduceAction533 */,
   3 /* Color of ReduceAction533 */,
-  42 /* Color of ReduceAction533 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction533 */,
+  44 /* Property init */,
   567 /* Id of ReduceAction534 */,
   3 /* Color of ReduceAction534 */,
-  42 /* Color of ReduceAction534 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction534 */,
+  44 /* Property init */,
   563 /* Id of ReduceAction535 */,
   3 /* Color of ReduceAction535 */,
-  42 /* Color of ReduceAction535 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction535 */,
+  44 /* Property init */,
   559 /* Id of ReduceAction536 */,
   3 /* Color of ReduceAction536 */,
-  42 /* Color of ReduceAction536 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction536 */,
+  44 /* Property init */,
   555 /* Id of ReduceAction537 */,
   3 /* Color of ReduceAction537 */,
-  42 /* Color of ReduceAction537 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction537 */,
+  44 /* Property init */,
   551 /* Id of ReduceAction538 */,
   3 /* Color of ReduceAction538 */,
-  42 /* Color of ReduceAction538 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction538 */,
+  44 /* Property init */,
   547 /* Id of ReduceAction539 */,
   3 /* Color of ReduceAction539 */,
-  42 /* Color of ReduceAction539 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction539 */,
+  44 /* Property init */,
   539 /* Id of ReduceAction540 */,
   3 /* Color of ReduceAction540 */,
-  42 /* Color of ReduceAction540 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction540 */,
+  44 /* Property init */,
   535 /* Id of ReduceAction541 */,
   3 /* Color of ReduceAction541 */,
-  42 /* Color of ReduceAction541 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction541 */,
+  44 /* Property init */,
   531 /* Id of ReduceAction542 */,
   3 /* Color of ReduceAction542 */,
-  42 /* Color of ReduceAction542 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction542 */,
+  44 /* Property init */,
   527 /* Id of ReduceAction543 */,
   3 /* Color of ReduceAction543 */,
-  42 /* Color of ReduceAction543 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction543 */,
+  44 /* Property init */,
   523 /* Id of ReduceAction544 */,
   3 /* Color of ReduceAction544 */,
-  42 /* Color of ReduceAction544 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction544 */,
+  44 /* Property init */,
   519 /* Id of ReduceAction545 */,
   3 /* Color of ReduceAction545 */,
-  42 /* Color of ReduceAction545 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction545 */,
+  44 /* Property init */,
   515 /* Id of ReduceAction546 */,
   3 /* Color of ReduceAction546 */,
-  42 /* Color of ReduceAction546 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction546 */,
+  44 /* Property init */,
   511 /* Id of ReduceAction547 */,
   3 /* Color of ReduceAction547 */,
-  42 /* Color of ReduceAction547 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction547 */,
+  44 /* Property init */,
   507 /* Id of ReduceAction548 */,
   3 /* Color of ReduceAction548 */,
-  42 /* Color of ReduceAction548 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction548 */,
+  44 /* Property init */,
   503 /* Id of ReduceAction549 */,
   3 /* Color of ReduceAction549 */,
-  42 /* Color of ReduceAction549 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction549 */,
+  44 /* Property init */,
   495 /* Id of ReduceAction550 */,
   3 /* Color of ReduceAction550 */,
-  42 /* Color of ReduceAction550 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction550 */,
+  44 /* Property init */,
   491 /* Id of ReduceAction551 */,
   3 /* Color of ReduceAction551 */,
-  42 /* Color of ReduceAction551 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction551 */,
+  44 /* Property init */,
   487 /* Id of ReduceAction552 */,
   3 /* Color of ReduceAction552 */,
-  42 /* Color of ReduceAction552 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction552 */,
+  44 /* Property init */,
   483 /* Id of ReduceAction553 */,
   3 /* Color of ReduceAction553 */,
-  42 /* Color of ReduceAction553 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction553 */,
+  44 /* Property init */,
   479 /* Id of ReduceAction554 */,
   3 /* Color of ReduceAction554 */,
-  42 /* Color of ReduceAction554 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction554 */,
+  44 /* Property init */,
   475 /* Id of ReduceAction555 */,
   3 /* Color of ReduceAction555 */,
-  42 /* Color of ReduceAction555 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction555 */,
+  44 /* Property init */,
   471 /* Id of ReduceAction556 */,
   3 /* Color of ReduceAction556 */,
-  42 /* Color of ReduceAction556 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction556 */,
+  44 /* Property init */,
   467 /* Id of ReduceAction557 */,
   3 /* Color of ReduceAction557 */,
-  42 /* Color of ReduceAction557 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction557 */,
+  44 /* Property init */,
   463 /* Id of ReduceAction558 */,
   3 /* Color of ReduceAction558 */,
-  42 /* Color of ReduceAction558 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction558 */,
+  44 /* Property init */,
   459 /* Id of ReduceAction559 */,
   3 /* Color of ReduceAction559 */,
-  42 /* Color of ReduceAction559 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction559 */,
+  44 /* Property init */,
   451 /* Id of ReduceAction560 */,
   3 /* Color of ReduceAction560 */,
-  42 /* Color of ReduceAction560 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction560 */,
+  44 /* Property init */,
   447 /* Id of ReduceAction561 */,
   3 /* Color of ReduceAction561 */,
-  42 /* Color of ReduceAction561 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction561 */,
+  44 /* Property init */,
   443 /* Id of ReduceAction562 */,
   3 /* Color of ReduceAction562 */,
-  42 /* Color of ReduceAction562 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction562 */,
+  44 /* Property init */,
   439 /* Id of ReduceAction563 */,
   3 /* Color of ReduceAction563 */,
-  42 /* Color of ReduceAction563 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction563 */,
+  44 /* Property init */,
   435 /* Id of ReduceAction564 */,
   3 /* Color of ReduceAction564 */,
-  42 /* Color of ReduceAction564 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction564 */,
+  44 /* Property init */,
   431 /* Id of ReduceAction565 */,
   3 /* Color of ReduceAction565 */,
-  42 /* Color of ReduceAction565 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction565 */,
+  44 /* Property init */,
   427 /* Id of ReduceAction566 */,
   3 /* Color of ReduceAction566 */,
-  42 /* Color of ReduceAction566 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction566 */,
+  44 /* Property init */,
   423 /* Id of ReduceAction567 */,
   3 /* Color of ReduceAction567 */,
-  42 /* Color of ReduceAction567 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction567 */,
+  44 /* Property init */,
   419 /* Id of ReduceAction568 */,
   3 /* Color of ReduceAction568 */,
-  42 /* Color of ReduceAction568 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction568 */,
+  44 /* Property init */,
   415 /* Id of ReduceAction569 */,
   3 /* Color of ReduceAction569 */,
-  42 /* Color of ReduceAction569 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction569 */,
+  44 /* Property init */,
   407 /* Id of ReduceAction570 */,
   3 /* Color of ReduceAction570 */,
-  42 /* Color of ReduceAction570 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction570 */,
+  44 /* Property init */,
   403 /* Id of ReduceAction571 */,
   3 /* Color of ReduceAction571 */,
-  42 /* Color of ReduceAction571 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction571 */,
+  44 /* Property init */,
   399 /* Id of ReduceAction572 */,
   3 /* Color of ReduceAction572 */,
-  42 /* Color of ReduceAction572 */,
-  43 /* Property init */,
+  43 /* Color of ReduceAction572 */,
+  44 /* Property init */,
 };
 const char *LOCATE_parser_prod = "./parser//parser_prod.nit";
-const int SFT_parser_prod[261] = {
+const int SFT_parser_prod[262] = {
   1 /* Property _parent */,
   47 /* Property parent */,
   48 /* Property parent= */,
@@ -2665,254 +4804,255 @@ const int SFT_parser_prod[261] = {
   56 /* Property printl */,
   2 /* Property _first_token */,
   3 /* Property _last_token */,
-  61 /* Property first_token */,
-  62 /* Property first_token= */,
-  63 /* Property last_token */,
-  64 /* Property last_token= */,
-  65 /* Property replace_with */,
+  62 /* Property first_token */,
+  63 /* Property first_token= */,
+  64 /* Property last_token */,
+  65 /* Property last_token= */,
+  66 /* Property replace_with */,
   7 /* Id of Visitor */,
   2 /* Color of Visitor */,
   40 /* Color of Visitor */,
   41 /* Property visit */,
-  69 /* Property empty_init */,
-  70 /* Property init_amodule */,
-  68 /* Property empty_init */,
-  69 /* Property init_apackagedecl */,
-  70 /* Property empty_init */,
-  71 /* Property init_aimport */,
+  42 /* Property init */,
   70 /* Property empty_init */,
-  71 /* Property init_anoimport */,
-  69 /* Property empty_init */,
-  70 /* Property init_apublicvisibility */,
+  71 /* Property init_amodule */,
   69 /* Property empty_init */,
-  70 /* Property init_aprivatevisibility */,
-  69 /* Property empty_init */,
-  70 /* Property init_aprotectedvisibility */,
-  69 /* Property empty_init */,
-  70 /* Property init_aintrudevisibility */,
-  76 /* Property empty_init */,
-  77 /* Property init_aclassdef */,
-  75 /* Property empty_init */,
-  76 /* Property init_atopclassdef */,
-  75 /* Property empty_init */,
-  76 /* Property init_amainclassdef */,
-  71 /* Property empty_init */,
-  72 /* Property init_aconcreteclasskind */,
+  70 /* Property init_apackagedecl */,
   71 /* Property empty_init */,
-  72 /* Property init_aabstractclasskind */,
+  72 /* Property init_aimport */,
   71 /* Property empty_init */,
-  72 /* Property init_ainterfaceclasskind */,
-  71 /* Property empty_init */,
-  72 /* Property init_auniversalclasskind */,
-  70 /* Property empty_init */,
-  71 /* Property init_aformaldef */,
-  72 /* Property empty_init */,
-  73 /* Property init_asuperclass */,
-  80 /* Property empty_init */,
-  81 /* Property init_aattrpropdef */,
-  80 /* Property empty_init */,
-  81 /* Property init_amethpropdef */,
-  93 /* Property empty_init */,
-  94 /* Property init_adeferredmethpropdef */,
-  93 /* Property empty_init */,
-  94 /* Property init_ainternmethpropdef */,
-  93 /* Property empty_init */,
-  94 /* Property init_aexternmethpropdef */,
-  94 /* Property empty_init */,
-  95 /* Property init_aconcretemethpropdef */,
-  104 /* Property empty_init */,
-  105 /* Property init_aconcreteinitpropdef */,
-  101 /* Property empty_init */,
-  102 /* Property init_amainmethpropdef */,
-  78 /* Property empty_init */,
-  79 /* Property init_atypepropdef */,
-  70 /* Property empty_init */,
-  71 /* Property init_areadable */,
-  70 /* Property empty_init */,
-  71 /* Property init_awriteable */,
-  70 /* Property empty_init */,
-  71 /* Property init_aidmethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_aplusmethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_aminusmethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_astarmethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_aslashmethid */,
+  72 /* Property init_anoimport */,
   70 /* Property empty_init */,
-  71 /* Property init_apercentmethid */,
+  71 /* Property init_apublicvisibility */,
   70 /* Property empty_init */,
-  71 /* Property init_aeqmethid */,
+  71 /* Property init_aprivatevisibility */,
   70 /* Property empty_init */,
-  71 /* Property init_anemethid */,
+  71 /* Property init_aprotectedvisibility */,
   70 /* Property empty_init */,
-  71 /* Property init_alemethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_agemethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_altmethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_agtmethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_abramethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_astarshipmethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_aassignmethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_abraassignmethid */,
-  70 /* Property empty_init */,
-  71 /* Property init_asignature */,
-  79 /* Property empty_init */,
-  80 /* Property init_aparam */,
-  74 /* Property empty_init */,
-  75 /* Property init_atype */,
-  76 /* Property empty_init */,
-  77 /* Property init_ablockexpr */,
-  79 /* Property empty_init */,
-  80 /* Property init_avardeclexpr */,
-  77 /* Property empty_init */,
-  78 /* Property init_areturnexpr */,
-  79 /* Property empty_init */,
-  80 /* Property init_abreakexpr */,
+  71 /* Property init_aintrudevisibility */,
   77 /* Property empty_init */,
-  78 /* Property init_aabortexpr */,
-  79 /* Property empty_init */,
-  80 /* Property init_acontinueexpr */,
+  78 /* Property init_aclassdef */,
   76 /* Property empty_init */,
-  77 /* Property init_adoexpr */,
+  77 /* Property init_atopclassdef */,
   76 /* Property empty_init */,
-  77 /* Property init_aifexpr */,
-  76 /* Property empty_init */,
-  77 /* Property init_aifexprexpr */,
-  79 /* Property empty_init */,
-  80 /* Property init_awhileexpr */,
-  79 /* Property empty_init */,
-  80 /* Property init_aforexpr */,
+  77 /* Property init_amainclassdef */,
+  72 /* Property empty_init */,
+  73 /* Property init_aconcreteclasskind */,
+  72 /* Property empty_init */,
+  73 /* Property init_aabstractclasskind */,
+  72 /* Property empty_init */,
+  73 /* Property init_ainterfaceclasskind */,
+  72 /* Property empty_init */,
+  73 /* Property init_auniversalclasskind */,
+  71 /* Property empty_init */,
+  72 /* Property init_aformaldef */,
+  73 /* Property empty_init */,
+  74 /* Property init_asuperclass */,
+  81 /* Property empty_init */,
+  82 /* Property init_aattrpropdef */,
+  81 /* Property empty_init */,
+  82 /* Property init_amethpropdef */,
+  94 /* Property empty_init */,
+  95 /* Property init_adeferredmethpropdef */,
+  94 /* Property empty_init */,
+  95 /* Property init_ainternmethpropdef */,
+  94 /* Property empty_init */,
+  95 /* Property init_aexternmethpropdef */,
+  95 /* Property empty_init */,
+  96 /* Property init_aconcretemethpropdef */,
+  105 /* Property empty_init */,
+  106 /* Property init_aconcreteinitpropdef */,
+  102 /* Property empty_init */,
+  103 /* Property init_amainmethpropdef */,
   79 /* Property empty_init */,
-  80 /* Property init_aforvardeclexpr */,
-  76 /* Property empty_init */,
-  77 /* Property init_aassertexpr */,
+  80 /* Property init_atypepropdef */,
+  71 /* Property empty_init */,
+  72 /* Property init_areadable */,
+  71 /* Property empty_init */,
+  72 /* Property init_awriteable */,
+  71 /* Property empty_init */,
+  72 /* Property init_aidmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_aplusmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_aminusmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_astarmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_aslashmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_apercentmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_aeqmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_anemethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_alemethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_agemethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_altmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_agtmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_abramethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_astarshipmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_aassignmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_abraassignmethid */,
+  71 /* Property empty_init */,
+  72 /* Property init_asignature */,
   80 /* Property empty_init */,
-  81 /* Property init_aonceexpr */,
-  97 /* Property empty_init */,
-  98 /* Property init_asendexpr */,
-  102 /* Property empty_init */,
-  103 /* Property init_abinopexpr */,
+  81 /* Property init_aparam */,
+  75 /* Property empty_init */,
+  76 /* Property init_atype */,
   77 /* Property empty_init */,
-  78 /* Property init_aorexpr */,
+  78 /* Property init_ablockexpr */,
+  80 /* Property empty_init */,
+  81 /* Property init_avardeclexpr */,
+  78 /* Property empty_init */,
+  79 /* Property init_areturnexpr */,
+  80 /* Property empty_init */,
+  81 /* Property init_abreakexpr */,
+  78 /* Property empty_init */,
+  79 /* Property init_aabortexpr */,
+  80 /* Property empty_init */,
+  81 /* Property init_acontinueexpr */,
   77 /* Property empty_init */,
-  78 /* Property init_aandexpr */,
+  78 /* Property init_adoexpr */,
   77 /* Property empty_init */,
-  78 /* Property init_anotexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_aeqexpr */,
+  78 /* Property init_aifexpr */,
   77 /* Property empty_init */,
-  78 /* Property init_aeeexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_aneexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_altexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_aleexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_agtexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_ageexpr */,
+  78 /* Property init_aifexprexpr */,
+  80 /* Property empty_init */,
+  81 /* Property init_awhileexpr */,
+  80 /* Property empty_init */,
+  81 /* Property init_aforexpr */,
+  80 /* Property empty_init */,
+  81 /* Property init_aforvardeclexpr */,
   77 /* Property empty_init */,
-  78 /* Property init_aisaexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_aplusexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_aminusexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_astarshipexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_astarexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_aslashexpr */,
-  107 /* Property empty_init */,
-  108 /* Property init_apercentexpr */,
-  102 /* Property empty_init */,
-  103 /* Property init_auminusexpr */,
-  94 /* Property empty_init */,
-  95 /* Property init_anewexpr */,
-  96 /* Property empty_init */,
-  97 /* Property init_aattrexpr */,
-  76 /* Property empty_init */,
-  77 /* Property init_aattrassignexpr */,
-  76 /* Property empty_init */,
-  77 /* Property init_aattrreassignexpr */,
-  109 /* Property empty_init */,
-  110 /* Property init_acallexpr */,
+  78 /* Property init_aassertexpr */,
+  81 /* Property empty_init */,
+  82 /* Property init_aonceexpr */,
+  98 /* Property empty_init */,
+  99 /* Property init_asendexpr */,
+  103 /* Property empty_init */,
+  104 /* Property init_abinopexpr */,
+  78 /* Property empty_init */,
+  79 /* Property init_aorexpr */,
   78 /* Property empty_init */,
-  79 /* Property init_acallassignexpr */,
-  109 /* Property empty_init */,
-  110 /* Property init_acallreassignexpr */,
+  79 /* Property init_aandexpr */,
+  78 /* Property empty_init */,
+  79 /* Property init_anotexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_aeqexpr */,
+  78 /* Property empty_init */,
+  79 /* Property init_aeeexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_aneexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_altexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_aleexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_agtexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_ageexpr */,
+  78 /* Property empty_init */,
+  79 /* Property init_aisaexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_aplusexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_aminusexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_astarshipexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_astarexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_aslashexpr */,
+  108 /* Property empty_init */,
+  109 /* Property init_apercentexpr */,
+  103 /* Property empty_init */,
+  104 /* Property init_auminusexpr */,
   95 /* Property empty_init */,
-  96 /* Property init_asuperexpr */,
-  102 /* Property empty_init */,
-  103 /* Property init_ainitexpr */,
-  105 /* Property empty_init */,
-  106 /* Property init_abraexpr */,
+  96 /* Property init_anewexpr */,
+  97 /* Property empty_init */,
+  98 /* Property init_aattrexpr */,
+  77 /* Property empty_init */,
+  78 /* Property init_aattrassignexpr */,
+  77 /* Property empty_init */,
+  78 /* Property init_aattrreassignexpr */,
+  110 /* Property empty_init */,
+  111 /* Property init_acallexpr */,
+  79 /* Property empty_init */,
+  80 /* Property init_acallassignexpr */,
+  110 /* Property empty_init */,
+  111 /* Property init_acallreassignexpr */,
+  96 /* Property empty_init */,
+  97 /* Property init_asuperexpr */,
+  103 /* Property empty_init */,
+  104 /* Property init_ainitexpr */,
+  106 /* Property empty_init */,
+  107 /* Property init_abraexpr */,
+  79 /* Property empty_init */,
+  80 /* Property init_abraassignexpr */,
+  106 /* Property empty_init */,
+  107 /* Property init_abrareassignexpr */,
+  83 /* Property empty_init */,
+  84 /* Property init_avarexpr */,
+  88 /* Property empty_init */,
+  89 /* Property init_avarassignexpr */,
+  90 /* Property empty_init */,
+  91 /* Property init_avarreassignexpr */,
   78 /* Property empty_init */,
-  79 /* Property init_abraassignexpr */,
-  105 /* Property empty_init */,
-  106 /* Property init_abrareassignexpr */,
+  79 /* Property init_arangeexpr */,
+  85 /* Property empty_init */,
+  86 /* Property init_acrangeexpr */,
+  85 /* Property empty_init */,
+  86 /* Property init_aorangeexpr */,
+  78 /* Property empty_init */,
+  79 /* Property init_aarrayexpr */,
+  77 /* Property empty_init */,
+  78 /* Property init_aselfexpr */,
   82 /* Property empty_init */,
-  83 /* Property init_avarexpr */,
-  87 /* Property empty_init */,
-  88 /* Property init_avarassignexpr */,
-  89 /* Property empty_init */,
-  90 /* Property init_avarreassignexpr */,
+  83 /* Property init_aimplicitselfexpr */,
+  78 /* Property empty_init */,
+  79 /* Property init_atrueexpr */,
+  78 /* Property empty_init */,
+  79 /* Property init_afalseexpr */,
   77 /* Property empty_init */,
-  78 /* Property init_arangeexpr */,
-  84 /* Property empty_init */,
-  85 /* Property init_acrangeexpr */,
-  84 /* Property empty_init */,
-  85 /* Property init_aorangeexpr */,
+  78 /* Property init_anullexpr */,
   77 /* Property empty_init */,
-  78 /* Property init_aarrayexpr */,
-  76 /* Property empty_init */,
-  77 /* Property init_aselfexpr */,
-  81 /* Property empty_init */,
-  82 /* Property init_aimplicitselfexpr */,
+  78 /* Property init_aintexpr */,
   77 /* Property empty_init */,
-  78 /* Property init_atrueexpr */,
+  78 /* Property init_afloatexpr */,
   77 /* Property empty_init */,
-  78 /* Property init_afalseexpr */,
-  76 /* Property empty_init */,
-  77 /* Property init_anullexpr */,
-  76 /* Property empty_init */,
-  77 /* Property init_aintexpr */,
-  76 /* Property empty_init */,
-  77 /* Property init_afloatexpr */,
-  76 /* Property empty_init */,
-  77 /* Property init_acharexpr */,
-  79 /* Property empty_init */,
-  80 /* Property init_astringexpr */,
-  79 /* Property empty_init */,
-  80 /* Property init_astartstringexpr */,
-  79 /* Property empty_init */,
-  80 /* Property init_amidstringexpr */,
-  79 /* Property empty_init */,
-  80 /* Property init_aendstringexpr */,
-  76 /* Property empty_init */,
-  77 /* Property init_asuperstringexpr */,
-  79 /* Property empty_init */,
-  80 /* Property init_aparexpr */,
-  76 /* Property empty_init */,
-  77 /* Property init_aascastexpr */,
+  78 /* Property init_acharexpr */,
+  80 /* Property empty_init */,
+  81 /* Property init_astringexpr */,
+  80 /* Property empty_init */,
+  81 /* Property init_astartstringexpr */,
+  80 /* Property empty_init */,
+  81 /* Property init_amidstringexpr */,
+  80 /* Property empty_init */,
+  81 /* Property init_aendstringexpr */,
+  77 /* Property empty_init */,
+  78 /* Property init_asuperstringexpr */,
+  80 /* Property empty_init */,
+  81 /* Property init_aparexpr */,
+  77 /* Property empty_init */,
+  78 /* Property init_aascastexpr */,
+  70 /* Property empty_init */,
+  71 /* Property init_aplusassignop */,
+  70 /* Property empty_init */,
+  71 /* Property init_aminusassignop */,
   69 /* Property empty_init */,
-  70 /* Property init_aplusassignop */,
+  70 /* Property init_aqualified */,
   69 /* Property empty_init */,
-  70 /* Property init_aminusassignop */,
-  68 /* Property empty_init */,
-  69 /* Property init_aqualified */,
-  68 /* Property empty_init */,
-  69 /* Property init_adoc */,
-  67 /* Property init */,
+  70 /* Property init_adoc */,
+  68 /* Property init */,
 };
 const char *LOCATE_lexer = "./parser//lexer.nit";
 const int SFT_lexer[125] = {
@@ -2920,100 +5060,100 @@ const int SFT_lexer[125] = {
   4 /* Property _filename */,
   5 /* Property _line */,
   6 /* Property _pos */,
-  62 /* Property text */,
-  63 /* Property text= */,
-  64 /* Property filename */,
-  65 /* Property line */,
-  66 /* Property pos */,
-  67 /* Property parser_index */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
-  69 /* Property init */,
+  63 /* Property text */,
+  64 /* Property text= */,
+  65 /* Property filename */,
+  66 /* Property line */,
+  67 /* Property pos */,
+  68 /* Property parser_index */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init_tk */,
+  70 /* Property init */,
   7 /* Property _message */,
-  71 /* Property message */,
-  72 /* Property message= */,
-  73 /* Property init_error */,
+  73 /* Property message */,
+  74 /* Property message= */,
+  75 /* Property init_error */,
   127 /* Id of Lexer */,
   2 /* Color of Lexer */,
   1 /* Property _token */,
@@ -3043,406 +5183,409 @@ const int SFT_lexer[125] = {
   51 /* Property build_accept_table */,
 };
 const char *LOCATE_parser_nodes = "./parser//parser_nodes.nit";
-const int SFT_parser_nodes[1257] = {
+const int SFT_parser_nodes[1260] = {
   63 /* Id of PNode */,
   2 /* Color of PNode */,
   57 /* Color of PNode */,
+  58 /* Property init */,
   183 /* Id of Token */,
   3 /* Color of Token */,
-  68 /* Color of Token */,
+  69 /* Color of Token */,
   2511 /* Id of Prod */,
   3 /* Color of Prod */,
-  66 /* Color of Prod */,
+  67 /* Color of Prod */,
   2975 /* Id of TEol */,
   4 /* Color of TEol */,
-  70 /* Color of TEol */,
+  71 /* Color of TEol */,
   2999 /* Id of TComment */,
   4 /* Color of TComment */,
-  70 /* Color of TComment */,
+  71 /* Color of TComment */,
   2831 /* Id of TKwpackage */,
   4 /* Color of TKwpackage */,
-  70 /* Color of TKwpackage */,
+  71 /* Color of TKwpackage */,
   2887 /* Id of TKwimport */,
   4 /* Color of TKwimport */,
-  70 /* Color of TKwimport */,
+  71 /* Color of TKwimport */,
   2923 /* Id of TKwclass */,
   4 /* Color of TKwclass */,
-  70 /* Color of TKwclass */,
+  71 /* Color of TKwclass */,
   2947 /* Id of TKwabstract */,
   4 /* Color of TKwabstract */,
-  70 /* Color of TKwabstract */,
+  71 /* Color of TKwabstract */,
   2875 /* Id of TKwinterface */,
   4 /* Color of TKwinterface */,
-  70 /* Color of TKwinterface */,
+  71 /* Color of TKwinterface */,
   2783 /* Id of TKwuniversal */,
   4 /* Color of TKwuniversal */,
-  70 /* Color of TKwuniversal */,
+  71 /* Color of TKwuniversal */,
   2803 /* Id of TKwspecial */,
   4 /* Color of TKwspecial */,
-  70 /* Color of TKwspecial */,
+  71 /* Color of TKwspecial */,
   2907 /* Id of TKwend */,
   4 /* Color of TKwend */,
-  70 /* Color of TKwend */,
+  71 /* Color of TKwend */,
   2855 /* Id of TKwmeth */,
   4 /* Color of TKwmeth */,
-  70 /* Color of TKwmeth */,
+  71 /* Color of TKwmeth */,
   2787 /* Id of TKwtype */,
   4 /* Color of TKwtype */,
-  70 /* Color of TKwtype */,
+  71 /* Color of TKwtype */,
   2931 /* Id of TKwattr */,
   4 /* Color of TKwattr */,
-  70 /* Color of TKwattr */,
+  71 /* Color of TKwattr */,
   2879 /* Id of TKwinit */,
   4 /* Color of TKwinit */,
-  70 /* Color of TKwinit */,
+  71 /* Color of TKwinit */,
   2815 /* Id of TKwredef */,
   4 /* Color of TKwredef */,
-  70 /* Color of TKwredef */,
+  71 /* Color of TKwredef */,
   2863 /* Id of TKwis */,
   4 /* Color of TKwis */,
-  70 /* Color of TKwis */,
+  71 /* Color of TKwis */,
   2915 /* Id of TKwdo */,
   4 /* Color of TKwdo */,
-  70 /* Color of TKwdo */,
+  71 /* Color of TKwdo */,
   2819 /* Id of TKwreadable */,
   4 /* Color of TKwreadable */,
-  70 /* Color of TKwreadable */,
+  71 /* Color of TKwreadable */,
   2771 /* Id of TKwwritable */,
   4 /* Color of TKwwritable */,
-  70 /* Color of TKwwritable */,
+  71 /* Color of TKwwritable */,
   2779 /* Id of TKwvar */,
   4 /* Color of TKwvar */,
-  70 /* Color of TKwvar */,
+  71 /* Color of TKwvar */,
   2871 /* Id of TKwintern */,
   4 /* Color of TKwintern */,
-  70 /* Color of TKwintern */,
+  71 /* Color of TKwintern */,
   2903 /* Id of TKwextern */,
   4 /* Color of TKwextern */,
-  70 /* Color of TKwextern */,
+  71 /* Color of TKwextern */,
   2823 /* Id of TKwprotected */,
   4 /* Color of TKwprotected */,
-  70 /* Color of TKwprotected */,
+  71 /* Color of TKwprotected */,
   2827 /* Id of TKwprivate */,
   4 /* Color of TKwprivate */,
-  70 /* Color of TKwprivate */,
+  71 /* Color of TKwprivate */,
   2867 /* Id of TKwintrude */,
   4 /* Color of TKwintrude */,
-  70 /* Color of TKwintrude */,
+  71 /* Color of TKwintrude */,
   2891 /* Id of TKwif */,
   4 /* Color of TKwif */,
-  70 /* Color of TKwif */,
+  71 /* Color of TKwif */,
   2795 /* Id of TKwthen */,
   4 /* Color of TKwthen */,
-  70 /* Color of TKwthen */,
+  71 /* Color of TKwthen */,
   2911 /* Id of TKwelse */,
   4 /* Color of TKwelse */,
-  70 /* Color of TKwelse */,
+  71 /* Color of TKwelse */,
   2775 /* Id of TKwwhile */,
   4 /* Color of TKwwhile */,
-  70 /* Color of TKwwhile */,
+  71 /* Color of TKwwhile */,
   2895 /* Id of TKwfor */,
   4 /* Color of TKwfor */,
-  70 /* Color of TKwfor */,
+  71 /* Color of TKwfor */,
   2883 /* Id of TKwin */,
   4 /* Color of TKwin */,
-  70 /* Color of TKwin */,
+  71 /* Color of TKwin */,
   2943 /* Id of TKwand */,
   4 /* Color of TKwand */,
-  70 /* Color of TKwand */,
+  71 /* Color of TKwand */,
   2835 /* Id of TKwor */,
   4 /* Color of TKwor */,
-  70 /* Color of TKwor */,
+  71 /* Color of TKwor */,
   2847 /* Id of TKwnot */,
   4 /* Color of TKwnot */,
-  70 /* Color of TKwnot */,
+  71 /* Color of TKwnot */,
   2811 /* Id of TKwreturn */,
   4 /* Color of TKwreturn */,
-  70 /* Color of TKwreturn */,
+  71 /* Color of TKwreturn */,
   2919 /* Id of TKwcontinue */,
   4 /* Color of TKwcontinue */,
-  70 /* Color of TKwcontinue */,
+  71 /* Color of TKwcontinue */,
   2927 /* Id of TKwbreak */,
   4 /* Color of TKwbreak */,
-  70 /* Color of TKwbreak */,
+  71 /* Color of TKwbreak */,
   2951 /* Id of TKwabort */,
   4 /* Color of TKwabort */,
-  70 /* Color of TKwabort */,
+  71 /* Color of TKwabort */,
   2935 /* Id of TKwassert */,
   4 /* Color of TKwassert */,
-  70 /* Color of TKwassert */,
+  71 /* Color of TKwassert */,
   2851 /* Id of TKwnew */,
   4 /* Color of TKwnew */,
-  70 /* Color of TKwnew */,
+  71 /* Color of TKwnew */,
   2859 /* Id of TKwisa */,
   4 /* Color of TKwisa */,
-  70 /* Color of TKwisa */,
+  71 /* Color of TKwisa */,
   2839 /* Id of TKwonce */,
   4 /* Color of TKwonce */,
-  70 /* Color of TKwonce */,
+  71 /* Color of TKwonce */,
   2799 /* Id of TKwsuper */,
   4 /* Color of TKwsuper */,
-  70 /* Color of TKwsuper */,
+  71 /* Color of TKwsuper */,
   2807 /* Id of TKwself */,
   4 /* Color of TKwself */,
-  70 /* Color of TKwself */,
+  71 /* Color of TKwself */,
   2791 /* Id of TKwtrue */,
   4 /* Color of TKwtrue */,
-  70 /* Color of TKwtrue */,
+  71 /* Color of TKwtrue */,
   2899 /* Id of TKwfalse */,
   4 /* Color of TKwfalse */,
-  70 /* Color of TKwfalse */,
+  71 /* Color of TKwfalse */,
   2843 /* Id of TKwnull */,
   4 /* Color of TKwnull */,
-  70 /* Color of TKwnull */,
+  71 /* Color of TKwnull */,
   2939 /* Id of TKwas */,
   4 /* Color of TKwas */,
-  70 /* Color of TKwas */,
+  71 /* Color of TKwas */,
   2735 /* Id of TOpar */,
   4 /* Color of TOpar */,
-  70 /* Color of TOpar */,
+  71 /* Color of TOpar */,
   2995 /* Id of TCpar */,
   4 /* Color of TCpar */,
-  70 /* Color of TCpar */,
+  71 /* Color of TCpar */,
   2739 /* Id of TObra */,
   4 /* Color of TObra */,
-  70 /* Color of TObra */,
+  71 /* Color of TObra */,
   3019 /* Id of TCbra */,
   4 /* Color of TCbra */,
-  70 /* Color of TCbra */,
+  71 /* Color of TCbra */,
   3003 /* Id of TComma */,
   4 /* Color of TComma */,
-  70 /* Color of TComma */,
+  71 /* Color of TComma */,
   3007 /* Id of TColumn */,
   4 /* Color of TColumn */,
-  70 /* Color of TColumn */,
+  71 /* Color of TColumn */,
   2719 /* Id of TQuad */,
   4 /* Color of TQuad */,
-  70 /* Color of TQuad */,
+  71 /* Color of TQuad */,
   3027 /* Id of TAssign */,
   4 /* Color of TAssign */,
-  70 /* Color of TAssign */,
+  71 /* Color of TAssign */,
   2723 /* Id of TPluseq */,
   4 /* Color of TPluseq */,
-  70 /* Color of TPluseq */,
+  71 /* Color of TPluseq */,
   2751 /* Id of TMinuseq */,
   4 /* Color of TMinuseq */,
-  70 /* Color of TMinuseq */,
+  71 /* Color of TMinuseq */,
   2983 /* Id of TDotdotdot */,
   4 /* Color of TDotdotdot */,
-  70 /* Color of TDotdotdot */,
+  71 /* Color of TDotdotdot */,
   2987 /* Id of TDotdot */,
   4 /* Color of TDotdot */,
-  70 /* Color of TDotdot */,
+  71 /* Color of TDotdot */,
   2991 /* Id of TDot */,
   4 /* Color of TDot */,
-  70 /* Color of TDot */,
+  71 /* Color of TDot */,
   2727 /* Id of TPlus */,
   4 /* Color of TPlus */,
-  70 /* Color of TPlus */,
+  71 /* Color of TPlus */,
   2755 /* Id of TMinus */,
   4 /* Color of TMinus */,
-  70 /* Color of TMinus */,
+  71 /* Color of TMinus */,
   2711 /* Id of TStar */,
   4 /* Color of TStar */,
-  70 /* Color of TStar */,
+  71 /* Color of TStar */,
   2715 /* Id of TSlash */,
   4 /* Color of TSlash */,
-  70 /* Color of TSlash */,
+  71 /* Color of TSlash */,
   2731 /* Id of TPercent */,
   4 /* Color of TPercent */,
-  70 /* Color of TPercent */,
+  71 /* Color of TPercent */,
   2971 /* Id of TEq */,
   4 /* Color of TEq */,
-  70 /* Color of TEq */,
+  71 /* Color of TEq */,
   2747 /* Id of TNe */,
   4 /* Color of TNe */,
-  70 /* Color of TNe */,
+  71 /* Color of TNe */,
   2763 /* Id of TLt */,
   4 /* Color of TLt */,
-  70 /* Color of TLt */,
+  71 /* Color of TLt */,
   2767 /* Id of TLe */,
   4 /* Color of TLe */,
-  70 /* Color of TLe */,
+  71 /* Color of TLe */,
   2959 /* Id of TGt */,
   4 /* Color of TGt */,
-  70 /* Color of TGt */,
+  71 /* Color of TGt */,
   2963 /* Id of TGe */,
   4 /* Color of TGe */,
-  70 /* Color of TGe */,
+  71 /* Color of TGe */,
   2707 /* Id of TStarship */,
   4 /* Color of TStarship */,
-  70 /* Color of TStarship */,
+  71 /* Color of TStarship */,
   3011 /* Id of TClassid */,
   4 /* Color of TClassid */,
-  70 /* Color of TClassid */,
+  71 /* Color of TClassid */,
   2955 /* Id of TId */,
   4 /* Color of TId */,
-  70 /* Color of TId */,
+  71 /* Color of TId */,
   3023 /* Id of TAttrid */,
   4 /* Color of TAttrid */,
-  70 /* Color of TAttrid */,
+  71 /* Color of TAttrid */,
   2743 /* Id of TNumber */,
   4 /* Color of TNumber */,
-  70 /* Color of TNumber */,
+  71 /* Color of TNumber */,
   2967 /* Id of TFloat */,
   4 /* Color of TFloat */,
-  70 /* Color of TFloat */,
+  71 /* Color of TFloat */,
   3015 /* Id of TChar */,
   4 /* Color of TChar */,
-  70 /* Color of TChar */,
+  71 /* Color of TChar */,
   2699 /* Id of TString */,
   4 /* Color of TString */,
-  70 /* Color of TString */,
+  71 /* Color of TString */,
   2703 /* Id of TStartString */,
   4 /* Color of TStartString */,
-  70 /* Color of TStartString */,
+  71 /* Color of TStartString */,
   2759 /* Id of TMidString */,
   4 /* Color of TMidString */,
-  70 /* Color of TMidString */,
+  71 /* Color of TMidString */,
   2979 /* Id of TEndString */,
   4 /* Color of TEndString */,
-  70 /* Color of TEndString */,
+  71 /* Color of TEndString */,
   3207 /* Id of EOF */,
   4 /* Color of EOF */,
-  70 /* Color of EOF */,
+  71 /* Color of EOF */,
+  72 /* Property noinit */,
   3279 /* Id of PError */,
   5 /* Color of PError */,
-  74 /* Color of PError */,
+  76 /* Color of PError */,
+  77 /* Property noinit */,
   3079 /* Id of PModule */,
   4 /* Color of PModule */,
-  67 /* Color of PModule */,
+  68 /* Color of PModule */,
   3075 /* Id of PPackagedecl */,
   4 /* Color of PPackagedecl */,
-  67 /* Color of PPackagedecl */,
+  68 /* Color of PPackagedecl */,
   3087 /* Id of PImport */,
   4 /* Color of PImport */,
-  69 /* Color of PImport */,
+  70 /* Color of PImport */,
   3047 /* Id of PVisibility */,
   4 /* Color of PVisibility */,
-  68 /* Color of PVisibility */,
+  69 /* Color of PVisibility */,
   3107 /* Id of PClassdef */,
   4 /* Color of PClassdef */,
-  73 /* Color of PClassdef */,
+  74 /* Color of PClassdef */,
   3103 /* Id of PClasskind */,
   4 /* Color of PClasskind */,
-  70 /* Color of PClasskind */,
+  71 /* Color of PClasskind */,
   3091 /* Id of PFormaldef */,
   4 /* Color of PFormaldef */,
-  67 /* Color of PFormaldef */,
+  68 /* Color of PFormaldef */,
   3055 /* Id of PSuperclass */,
   4 /* Color of PSuperclass */,
-  67 /* Color of PSuperclass */,
+  68 /* Color of PSuperclass */,
   3067 /* Id of PPropdef */,
   4 /* Color of PPropdef */,
   4 /* Property _n_doc */,
-  71 /* Color of PPropdef */,
-  72 /* Property n_doc */,
-  73 /* Property n_doc= */,
+  72 /* Color of PPropdef */,
+  73 /* Property n_doc */,
+  74 /* Property n_doc= */,
   3115 /* Id of PAble */,
   4 /* Color of PAble */,
   4 /* Property _n_kwredef */,
-  67 /* Color of PAble */,
-  68 /* Property n_kwredef */,
-  69 /* Property n_kwredef= */,
+  68 /* Color of PAble */,
+  69 /* Property n_kwredef */,
+  70 /* Property n_kwredef= */,
   3083 /* Id of PMethid */,
   4 /* Color of PMethid */,
-  69 /* Color of PMethid */,
+  70 /* Color of PMethid */,
   3059 /* Id of PSignature */,
   4 /* Color of PSignature */,
-  68 /* Color of PSignature */,
+  69 /* Color of PSignature */,
   3071 /* Id of PParam */,
   4 /* Color of PParam */,
   7 /* Property _n_id */,
   8 /* Property _n_type */,
-  73 /* Color of PParam */,
-  74 /* Property n_id */,
-  75 /* Property n_id= */,
-  76 /* Property n_type */,
-  77 /* Property n_type= */,
+  74 /* Color of PParam */,
+  75 /* Property n_id */,
+  76 /* Property n_id= */,
+  77 /* Property n_type */,
+  78 /* Property n_type= */,
   3051 /* Id of PType */,
   4 /* Color of PType */,
-  72 /* Color of PType */,
+  73 /* Color of PType */,
   3095 /* Id of PExpr */,
   4 /* Color of PExpr */,
-  71 /* Color of PExpr */,
+  72 /* Color of PExpr */,
   3111 /* Id of PAssignOp */,
   4 /* Color of PAssignOp */,
-  68 /* Color of PAssignOp */,
+  69 /* Color of PAssignOp */,
   3063 /* Id of PQualified */,
   4 /* Color of PQualified */,
-  67 /* Color of PQualified */,
+  68 /* Color of PQualified */,
   3099 /* Id of PDoc */,
   4 /* Color of PDoc */,
-  67 /* Color of PDoc */,
+  68 /* Color of PDoc */,
   3455 /* Id of AModule */,
   5 /* Color of AModule */,
   4 /* Property _n_packagedecl */,
   5 /* Property _n_imports */,
   6 /* Property _n_classdefs */,
-  71 /* Color of AModule */,
-  72 /* Property n_packagedecl */,
-  73 /* Property n_packagedecl= */,
-  74 /* Property n_imports */,
-  75 /* Property n_imports= */,
-  76 /* Property n_classdefs */,
-  77 /* Property n_classdefs= */,
+  72 /* Color of AModule */,
+  73 /* Property n_packagedecl */,
+  74 /* Property n_packagedecl= */,
+  75 /* Property n_imports */,
+  76 /* Property n_imports= */,
+  77 /* Property n_classdefs */,
+  78 /* Property n_classdefs= */,
   3439 /* Id of APackagedecl */,
   5 /* Color of APackagedecl */,
   4 /* Property _n_doc */,
   5 /* Property _n_kwpackage */,
   6 /* Property _n_id */,
-  70 /* Color of APackagedecl */,
-  71 /* Property n_doc */,
-  72 /* Property n_doc= */,
-  73 /* Property n_kwpackage */,
-  74 /* Property n_kwpackage= */,
-  75 /* Property n_id */,
-  76 /* Property n_id= */,
+  71 /* Color of APackagedecl */,
+  72 /* Property n_doc */,
+  73 /* Property n_doc= */,
+  74 /* Property n_kwpackage */,
+  75 /* Property n_kwpackage= */,
+  76 /* Property n_id */,
+  77 /* Property n_id= */,
   3495 /* Id of AImport */,
   5 /* Color of AImport */,
   4 /* Property _n_visibility */,
   5 /* Property _n_kwimport */,
   6 /* Property _n_id */,
-  72 /* Color of AImport */,
-  73 /* Property n_visibility */,
-  74 /* Property n_visibility= */,
-  75 /* Property n_kwimport */,
-  76 /* Property n_kwimport= */,
-  77 /* Property n_id */,
-  78 /* Property n_id= */,
+  73 /* Color of AImport */,
+  74 /* Property n_visibility */,
+  75 /* Property n_visibility= */,
+  76 /* Property n_kwimport */,
+  77 /* Property n_kwimport= */,
+  78 /* Property n_id */,
+  79 /* Property n_id= */,
   3447 /* Id of ANoImport */,
   5 /* Color of ANoImport */,
   4 /* Property _n_visibility */,
   5 /* Property _n_kwimport */,
   6 /* Property _n_kwend */,
-  72 /* Color of ANoImport */,
-  73 /* Property n_visibility */,
-  74 /* Property n_visibility= */,
-  75 /* Property n_kwimport */,
-  76 /* Property n_kwimport= */,
-  77 /* Property n_kwend */,
-  78 /* Property n_kwend= */,
+  73 /* Color of ANoImport */,
+  74 /* Property n_visibility */,
+  75 /* Property n_visibility= */,
+  76 /* Property n_kwimport */,
+  77 /* Property n_kwimport= */,
+  78 /* Property n_kwend */,
+  79 /* Property n_kwend= */,
   3407 /* Id of APublicVisibility */,
   5 /* Color of APublicVisibility */,
-  71 /* Color of APublicVisibility */,
+  72 /* Color of APublicVisibility */,
   3419 /* Id of APrivateVisibility */,
   5 /* Color of APrivateVisibility */,
   4 /* Property _n_kwprivate */,
-  71 /* Color of APrivateVisibility */,
-  72 /* Property n_kwprivate */,
-  73 /* Property n_kwprivate= */,
+  72 /* Color of APrivateVisibility */,
+  73 /* Property n_kwprivate */,
+  74 /* Property n_kwprivate= */,
   3415 /* Id of AProtectedVisibility */,
   5 /* Color of AProtectedVisibility */,
   4 /* Property _n_kwprotected */,
-  71 /* Color of AProtectedVisibility */,
-  72 /* Property n_kwprotected */,
-  73 /* Property n_kwprotected= */,
+  72 /* Color of AProtectedVisibility */,
+  73 /* Property n_kwprotected */,
+  74 /* Property n_kwprotected= */,
   3483 /* Id of AIntrudeVisibility */,
   5 /* Color of AIntrudeVisibility */,
   4 /* Property _n_kwintrude */,
-  71 /* Color of AIntrudeVisibility */,
-  72 /* Property n_kwintrude */,
-  73 /* Property n_kwintrude= */,
+  72 /* Color of AIntrudeVisibility */,
+  73 /* Property n_kwintrude */,
+  74 /* Property n_kwintrude= */,
   3551 /* Id of AClassdef */,
   5 /* Color of AClassdef */,
   5 /* Property _n_doc */,
@@ -3453,80 +5596,80 @@ const int SFT_parser_nodes[1257] = {
   10 /* Property _n_formaldefs */,
   11 /* Property _n_superclasses */,
   12 /* Property _n_propdefs */,
-  78 /* Color of AClassdef */,
-  79 /* Property n_doc */,
-  80 /* Property n_doc= */,
-  81 /* Property n_kwredef */,
-  82 /* Property n_kwredef= */,
-  83 /* Property n_visibility */,
-  84 /* Property n_visibility= */,
-  85 /* Property n_classkind */,
-  86 /* Property n_classkind= */,
-  87 /* Property n_id */,
-  88 /* Property n_id= */,
-  89 /* Property n_formaldefs */,
-  90 /* Property n_formaldefs= */,
-  91 /* Property n_superclasses */,
-  92 /* Property n_superclasses= */,
-  93 /* Property n_propdefs */,
-  94 /* Property n_propdefs= */,
+  79 /* Color of AClassdef */,
+  80 /* Property n_doc */,
+  81 /* Property n_doc= */,
+  82 /* Property n_kwredef */,
+  83 /* Property n_kwredef= */,
+  84 /* Property n_visibility */,
+  85 /* Property n_visibility= */,
+  86 /* Property n_classkind */,
+  87 /* Property n_classkind= */,
+  88 /* Property n_id */,
+  89 /* Property n_id= */,
+  90 /* Property n_formaldefs */,
+  91 /* Property n_formaldefs= */,
+  92 /* Property n_superclasses */,
+  93 /* Property n_superclasses= */,
+  94 /* Property n_propdefs */,
+  95 /* Property n_propdefs= */,
   3351 /* Id of ATopClassdef */,
   5 /* Color of ATopClassdef */,
   5 /* Property _n_propdefs */,
-  77 /* Color of ATopClassdef */,
-  78 /* Property n_propdefs */,
-  79 /* Property n_propdefs= */,
+  78 /* Color of ATopClassdef */,
+  79 /* Property n_propdefs */,
+  80 /* Property n_propdefs= */,
   3471 /* Id of AMainClassdef */,
   5 /* Color of AMainClassdef */,
   5 /* Property _n_propdefs */,
-  77 /* Color of AMainClassdef */,
-  78 /* Property n_propdefs */,
-  79 /* Property n_propdefs= */,
+  78 /* Color of AMainClassdef */,
+  79 /* Property n_propdefs */,
+  80 /* Property n_propdefs= */,
   3547 /* Id of AConcreteClasskind */,
   5 /* Color of AConcreteClasskind */,
   4 /* Property _n_kwclass */,
-  73 /* Color of AConcreteClasskind */,
-  74 /* Property n_kwclass */,
-  75 /* Property n_kwclass= */,
+  74 /* Color of AConcreteClasskind */,
+  75 /* Property n_kwclass */,
+  76 /* Property n_kwclass= */,
   3607 /* Id of AAbstractClasskind */,
   5 /* Color of AAbstractClasskind */,
   4 /* Property _n_kwabstract */,
   5 /* Property _n_kwclass */,
-  73 /* Color of AAbstractClasskind */,
-  74 /* Property n_kwabstract */,
-  75 /* Property n_kwabstract= */,
-  76 /* Property n_kwclass */,
-  77 /* Property n_kwclass= */,
+  74 /* Color of AAbstractClasskind */,
+  75 /* Property n_kwabstract */,
+  76 /* Property n_kwabstract= */,
+  77 /* Property n_kwclass */,
+  78 /* Property n_kwclass= */,
   3487 /* Id of AInterfaceClasskind */,
   5 /* Color of AInterfaceClasskind */,
   4 /* Property _n_kwinterface */,
-  73 /* Color of AInterfaceClasskind */,
-  74 /* Property n_kwinterface */,
-  75 /* Property n_kwinterface= */,
+  74 /* Color of AInterfaceClasskind */,
+  75 /* Property n_kwinterface */,
+  76 /* Property n_kwinterface= */,
   3339 /* Id of AUniversalClasskind */,
   5 /* Color of AUniversalClasskind */,
   4 /* Property _n_kwuniversal */,
-  73 /* Color of AUniversalClasskind */,
-  74 /* Property n_kwuniversal */,
-  75 /* Property n_kwuniversal= */,
+  74 /* Color of AUniversalClasskind */,
+  75 /* Property n_kwuniversal */,
+  76 /* Property n_kwuniversal= */,
   3519 /* Id of AFormaldef */,
   5 /* Color of AFormaldef */,
   5 /* Property _n_id */,
   6 /* Property _n_type */,
-  72 /* Color of AFormaldef */,
-  73 /* Property n_id */,
-  74 /* Property n_id= */,
-  75 /* Property n_type */,
-  76 /* Property n_type= */,
+  73 /* Color of AFormaldef */,
+  74 /* Property n_id */,
+  75 /* Property n_id= */,
+  76 /* Property n_type */,
+  77 /* Property n_type= */,
   3359 /* Id of ASuperclass */,
   5 /* Color of ASuperclass */,
   5 /* Property _n_kwspecial */,
   6 /* Property _n_type */,
-  74 /* Color of ASuperclass */,
-  75 /* Property n_kwspecial */,
-  76 /* Property n_kwspecial= */,
-  77 /* Property n_type */,
-  78 /* Property n_type= */,
+  75 /* Color of ASuperclass */,
+  76 /* Property n_kwspecial */,
+  77 /* Property n_kwspecial= */,
+  78 /* Property n_type */,
+  79 /* Property n_type= */,
   3579 /* Id of AAttrPropdef */,
   5 /* Color of AAttrPropdef */,
   8 /* Property _n_kwredef */,
@@ -3537,77 +5680,77 @@ const int SFT_parser_nodes[1257] = {
   13 /* Property _n_readable */,
   14 /* Property _n_writable */,
   15 /* Property _n_expr */,
-  82 /* Color of AAttrPropdef */,
-  83 /* Property n_kwredef */,
-  84 /* Property n_kwredef= */,
-  85 /* Property n_visibility */,
-  86 /* Property n_visibility= */,
-  87 /* Property n_kwattr */,
-  88 /* Property n_kwattr= */,
-  89 /* Property n_id */,
-  90 /* Property n_id= */,
-  91 /* Property n_type */,
-  92 /* Property n_type= */,
-  93 /* Property n_readable */,
-  94 /* Property n_readable= */,
-  95 /* Property n_writable */,
-  96 /* Property n_writable= */,
-  97 /* Property n_expr */,
-  98 /* Property n_expr= */,
+  83 /* Color of AAttrPropdef */,
+  84 /* Property n_kwredef */,
+  85 /* Property n_kwredef= */,
+  86 /* Property n_visibility */,
+  87 /* Property n_visibility= */,
+  88 /* Property n_kwattr */,
+  89 /* Property n_kwattr= */,
+  90 /* Property n_id */,
+  91 /* Property n_id= */,
+  92 /* Property n_type */,
+  93 /* Property n_type= */,
+  94 /* Property n_readable */,
+  95 /* Property n_readable= */,
+  96 /* Property n_writable */,
+  97 /* Property n_writable= */,
+  98 /* Property n_expr */,
+  99 /* Property n_expr= */,
   3467 /* Id of AMethPropdef */,
   5 /* Color of AMethPropdef */,
   7 /* Property _n_kwredef */,
   8 /* Property _n_visibility */,
   9 /* Property _n_methid */,
   10 /* Property _n_signature */,
-  82 /* Color of AMethPropdef */,
-  83 /* Property n_kwredef */,
-  84 /* Property n_kwredef= */,
-  85 /* Property n_visibility */,
-  86 /* Property n_visibility= */,
-  87 /* Property n_methid */,
-  88 /* Property n_methid= */,
-  89 /* Property n_signature */,
-  90 /* Property n_signature= */,
-  3747 /* Id of ADeferredMethPropdef */,
+  83 /* Color of AMethPropdef */,
+  84 /* Property n_kwredef */,
+  85 /* Property n_kwredef= */,
+  86 /* Property n_visibility */,
+  87 /* Property n_visibility= */,
+  88 /* Property n_methid */,
+  89 /* Property n_methid= */,
+  90 /* Property n_signature */,
+  91 /* Property n_signature= */,
+  3751 /* Id of ADeferredMethPropdef */,
   6 /* Color of ADeferredMethPropdef */,
   11 /* Property _n_kwmeth */,
-  95 /* Color of ADeferredMethPropdef */,
-  96 /* Property n_kwmeth */,
-  97 /* Property n_kwmeth= */,
-  3719 /* Id of AInternMethPropdef */,
+  96 /* Color of ADeferredMethPropdef */,
+  97 /* Property n_kwmeth */,
+  98 /* Property n_kwmeth= */,
+  3723 /* Id of AInternMethPropdef */,
   6 /* Color of AInternMethPropdef */,
   11 /* Property _n_kwmeth */,
-  95 /* Color of AInternMethPropdef */,
-  96 /* Property n_kwmeth */,
-  97 /* Property n_kwmeth= */,
-  3735 /* Id of AExternMethPropdef */,
+  96 /* Color of AInternMethPropdef */,
+  97 /* Property n_kwmeth */,
+  98 /* Property n_kwmeth= */,
+  3739 /* Id of AExternMethPropdef */,
   6 /* Color of AExternMethPropdef */,
   11 /* Property _n_kwmeth */,
   12 /* Property _n_extern */,
-  95 /* Color of AExternMethPropdef */,
-  96 /* Property n_kwmeth */,
-  97 /* Property n_kwmeth= */,
-  98 /* Property n_extern */,
-  99 /* Property n_extern= */,
-  3759 /* Id of AConcreteMethPropdef */,
+  96 /* Color of AExternMethPropdef */,
+  97 /* Property n_kwmeth */,
+  98 /* Property n_kwmeth= */,
+  99 /* Property n_extern */,
+  100 /* Property n_extern= */,
+  3763 /* Id of AConcreteMethPropdef */,
   6 /* Color of AConcreteMethPropdef */,
   11 /* Property _n_kwmeth */,
   12 /* Property _n_block */,
-  96 /* Color of AConcreteMethPropdef */,
-  97 /* Property n_kwmeth */,
-  98 /* Property n_kwmeth= */,
-  99 /* Property n_block */,
-  100 /* Property n_block= */,
-  3803 /* Id of AConcreteInitPropdef */,
+  97 /* Color of AConcreteMethPropdef */,
+  98 /* Property n_kwmeth */,
+  99 /* Property n_kwmeth= */,
+  100 /* Property n_block */,
+  101 /* Property n_block= */,
+  3807 /* Id of AConcreteInitPropdef */,
   7 /* Color of AConcreteInitPropdef */,
   15 /* Property _n_kwinit */,
-  106 /* Color of AConcreteInitPropdef */,
-  107 /* Property n_kwinit */,
-  108 /* Property n_kwinit= */,
-  3799 /* Id of AMainMethPropdef */,
+  107 /* Color of AConcreteInitPropdef */,
+  108 /* Property n_kwinit */,
+  109 /* Property n_kwinit= */,
+  3803 /* Id of AMainMethPropdef */,
   7 /* Color of AMainMethPropdef */,
-  103 /* Color of AMainMethPropdef */,
+  104 /* Color of AMainMethPropdef */,
   3343 /* Id of ATypePropdef */,
   5 /* Color of ATypePropdef */,
   6 /* Property _n_kwredef */,
@@ -3615,167 +5758,167 @@ const int SFT_parser_nodes[1257] = {
   8 /* Property _n_kwtype */,
   9 /* Property _n_id */,
   10 /* Property _n_type */,
-  80 /* Color of ATypePropdef */,
-  81 /* Property n_kwredef */,
-  82 /* Property n_kwredef= */,
-  83 /* Property n_visibility */,
-  84 /* Property n_visibility= */,
-  85 /* Property n_kwtype */,
-  86 /* Property n_kwtype= */,
-  87 /* Property n_id */,
-  88 /* Property n_id= */,
-  89 /* Property n_type */,
-  90 /* Property n_type= */,
+  81 /* Color of ATypePropdef */,
+  82 /* Property n_kwredef */,
+  83 /* Property n_kwredef= */,
+  84 /* Property n_visibility */,
+  85 /* Property n_visibility= */,
+  86 /* Property n_kwtype */,
+  87 /* Property n_kwtype= */,
+  88 /* Property n_id */,
+  89 /* Property n_id= */,
+  90 /* Property n_type */,
+  91 /* Property n_type= */,
   3395 /* Id of AReadAble */,
   5 /* Color of AReadAble */,
   5 /* Property _n_kwreadable */,
-  72 /* Color of AReadAble */,
-  73 /* Property n_kwreadable */,
-  74 /* Property n_kwreadable= */,
+  73 /* Color of AReadAble */,
+  74 /* Property n_kwreadable */,
+  75 /* Property n_kwreadable= */,
   3327 /* Id of AWriteAble */,
   5 /* Color of AWriteAble */,
   5 /* Property _n_kwwritable */,
-  72 /* Color of AWriteAble */,
-  73 /* Property n_kwwritable */,
-  74 /* Property n_kwwritable= */,
+  73 /* Color of AWriteAble */,
+  74 /* Property n_kwwritable */,
+  75 /* Property n_kwwritable= */,
   3507 /* Id of AIdMethid */,
   5 /* Color of AIdMethid */,
   5 /* Property _n_id */,
-  72 /* Color of AIdMethid */,
-  73 /* Property n_id */,
-  74 /* Property n_id= */,
+  73 /* Color of AIdMethid */,
+  74 /* Property n_id */,
+  75 /* Property n_id= */,
   3423 /* Id of APlusMethid */,
   5 /* Color of APlusMethid */,
   5 /* Property _n_plus */,
-  72 /* Color of APlusMethid */,
-  73 /* Property n_plus */,
-  74 /* Property n_plus= */,
+  73 /* Color of APlusMethid */,
+  74 /* Property n_plus */,
+  75 /* Property n_plus= */,
   3459 /* Id of AMinusMethid */,
   5 /* Color of AMinusMethid */,
   5 /* Property _n_minus */,
-  72 /* Color of AMinusMethid */,
-  73 /* Property n_minus */,
-  74 /* Property n_minus= */,
+  73 /* Color of AMinusMethid */,
+  74 /* Property n_minus */,
+  75 /* Property n_minus= */,
   3371 /* Id of AStarMethid */,
   5 /* Color of AStarMethid */,
   5 /* Property _n_star */,
-  72 /* Color of AStarMethid */,
-  73 /* Property n_star */,
-  74 /* Property n_star= */,
+  73 /* Color of AStarMethid */,
+  74 /* Property n_star */,
+  75 /* Property n_star= */,
   3375 /* Id of ASlashMethid */,
   5 /* Color of ASlashMethid */,
   5 /* Property _n_slash */,
-  72 /* Color of ASlashMethid */,
-  73 /* Property n_slash */,
-  74 /* Property n_slash= */,
+  73 /* Color of ASlashMethid */,
+  74 /* Property n_slash */,
+  75 /* Property n_slash= */,
   3431 /* Id of APercentMethid */,
   5 /* Color of APercentMethid */,
   5 /* Property _n_percent */,
-  72 /* Color of APercentMethid */,
-  73 /* Property n_percent */,
-  74 /* Property n_percent= */,
+  73 /* Color of APercentMethid */,
+  74 /* Property n_percent */,
+  75 /* Property n_percent= */,
   3531 /* Id of AEqMethid */,
   5 /* Color of AEqMethid */,
   5 /* Property _n_eq */,
-  72 /* Color of AEqMethid */,
-  73 /* Property n_eq */,
-  74 /* Property n_eq= */,
+  73 /* Color of AEqMethid */,
+  74 /* Property n_eq */,
+  75 /* Property n_eq= */,
   3451 /* Id of ANeMethid */,
   5 /* Color of ANeMethid */,
   5 /* Property _n_ne */,
-  72 /* Color of ANeMethid */,
-  73 /* Property n_ne */,
-  74 /* Property n_ne= */,
+  73 /* Color of ANeMethid */,
+  74 /* Property n_ne */,
+  75 /* Property n_ne= */,
   3479 /* Id of ALeMethid */,
   5 /* Color of ALeMethid */,
   5 /* Property _n_le */,
-  72 /* Color of ALeMethid */,
-  73 /* Property n_le */,
-  74 /* Property n_le= */,
+  73 /* Color of ALeMethid */,
+  74 /* Property n_le */,
+  75 /* Property n_le= */,
   3515 /* Id of AGeMethid */,
   5 /* Color of AGeMethid */,
   5 /* Property _n_ge */,
-  72 /* Color of AGeMethid */,
-  73 /* Property n_ge */,
-  74 /* Property n_ge= */,
+  73 /* Color of AGeMethid */,
+  74 /* Property n_ge */,
+  75 /* Property n_ge= */,
   3475 /* Id of ALtMethid */,
   5 /* Color of ALtMethid */,
   5 /* Property _n_lt */,
-  72 /* Color of ALtMethid */,
-  73 /* Property n_lt */,
-  74 /* Property n_lt= */,
+  73 /* Color of ALtMethid */,
+  74 /* Property n_lt */,
+  75 /* Property n_lt= */,
   3511 /* Id of AGtMethid */,
   5 /* Color of AGtMethid */,
   5 /* Property _n_gt */,
-  72 /* Color of AGtMethid */,
-  73 /* Property n_gt */,
-  74 /* Property n_gt= */,
+  73 /* Color of AGtMethid */,
+  74 /* Property n_gt */,
+  75 /* Property n_gt= */,
   3563 /* Id of ABraMethid */,
   5 /* Color of ABraMethid */,
   5 /* Property _n_obra */,
   6 /* Property _n_cbra */,
-  72 /* Color of ABraMethid */,
-  73 /* Property n_obra */,
-  74 /* Property n_obra= */,
-  75 /* Property n_cbra */,
-  76 /* Property n_cbra= */,
+  73 /* Color of ABraMethid */,
+  74 /* Property n_obra */,
+  75 /* Property n_obra= */,
+  76 /* Property n_cbra */,
+  77 /* Property n_cbra= */,
   3367 /* Id of AStarshipMethid */,
   5 /* Color of AStarshipMethid */,
   5 /* Property _n_starship */,
-  72 /* Color of AStarshipMethid */,
-  73 /* Property n_starship */,
-  74 /* Property n_starship= */,
+  73 /* Color of AStarshipMethid */,
+  74 /* Property n_starship */,
+  75 /* Property n_starship= */,
   3587 /* Id of AAssignMethid */,
   5 /* Color of AAssignMethid */,
   5 /* Property _n_id */,
   6 /* Property _n_assign */,
-  72 /* Color of AAssignMethid */,
-  73 /* Property n_id */,
-  74 /* Property n_id= */,
-  75 /* Property n_assign */,
-  76 /* Property n_assign= */,
+  73 /* Color of AAssignMethid */,
+  74 /* Property n_id */,
+  75 /* Property n_id= */,
+  76 /* Property n_assign */,
+  77 /* Property n_assign= */,
   3559 /* Id of ABraassignMethid */,
   5 /* Color of ABraassignMethid */,
   5 /* Property _n_obra */,
   6 /* Property _n_cbra */,
   7 /* Property _n_assign */,
-  72 /* Color of ABraassignMethid */,
-  73 /* Property n_obra */,
-  74 /* Property n_obra= */,
-  75 /* Property n_cbra */,
-  76 /* Property n_cbra= */,
-  77 /* Property n_assign */,
-  78 /* Property n_assign= */,
+  73 /* Color of ABraassignMethid */,
+  74 /* Property n_obra */,
+  75 /* Property n_obra= */,
+  76 /* Property n_cbra */,
+  77 /* Property n_cbra= */,
+  78 /* Property n_assign */,
+  79 /* Property n_assign= */,
   3379 /* Id of ASignature */,
   5 /* Color of ASignature */,
   4 /* Property _n_params */,
   5 /* Property _n_type */,
-  72 /* Color of ASignature */,
-  73 /* Property n_params */,
-  74 /* Property n_params= */,
-  75 /* Property n_type */,
-  76 /* Property n_type= */,
+  73 /* Color of ASignature */,
+  74 /* Property n_params */,
+  75 /* Property n_params= */,
+  76 /* Property n_type */,
+  77 /* Property n_type= */,
   3435 /* Id of AParam */,
   5 /* Color of AParam */,
   9 /* Property _n_dotdotdot */,
-  81 /* Color of AParam */,
-  82 /* Property n_dotdotdot */,
-  83 /* Property n_dotdotdot= */,
+  82 /* Color of AParam */,
+  83 /* Property n_dotdotdot */,
+  84 /* Property n_dotdotdot= */,
   3347 /* Id of AType */,
   5 /* Color of AType */,
   7 /* Property _n_id */,
   8 /* Property _n_types */,
-  76 /* Color of AType */,
-  77 /* Property n_id */,
-  78 /* Property n_id= */,
-  79 /* Property n_types */,
-  80 /* Property n_types= */,
+  77 /* Color of AType */,
+  78 /* Property n_id */,
+  79 /* Property n_id= */,
+  80 /* Property n_types */,
+  81 /* Property n_types= */,
   3571 /* Id of ABlockExpr */,
   5 /* Color of ABlockExpr */,
   6 /* Property _n_expr */,
-  78 /* Color of ABlockExpr */,
-  79 /* Property n_expr */,
-  80 /* Property n_expr= */,
+  79 /* Color of ABlockExpr */,
+  80 /* Property n_expr */,
+  81 /* Property n_expr= */,
   3331 /* Id of AVardeclExpr */,
   5 /* Color of AVardeclExpr */,
   7 /* Property _n_kwvar */,
@@ -3783,68 +5926,68 @@ const int SFT_parser_nodes[1257] = {
   9 /* Property _n_type */,
   10 /* Property _n_assign */,
   11 /* Property _n_expr */,
-  81 /* Color of AVardeclExpr */,
-  82 /* Property n_kwvar */,
-  83 /* Property n_kwvar= */,
-  84 /* Property n_id */,
-  85 /* Property n_id= */,
-  86 /* Property n_type */,
-  87 /* Property n_type= */,
-  88 /* Property n_assign */,
-  89 /* Property n_assign= */,
-  90 /* Property n_expr */,
-  91 /* Property n_expr= */,
+  82 /* Color of AVardeclExpr */,
+  83 /* Property n_kwvar */,
+  84 /* Property n_kwvar= */,
+  85 /* Property n_id */,
+  86 /* Property n_id= */,
+  87 /* Property n_type */,
+  88 /* Property n_type= */,
+  89 /* Property n_assign */,
+  90 /* Property n_assign= */,
+  91 /* Property n_expr */,
+  92 /* Property n_expr= */,
   3387 /* Id of AReturnExpr */,
   5 /* Color of AReturnExpr */,
   6 /* Property _n_kwreturn */,
   7 /* Property _n_expr */,
-  79 /* Color of AReturnExpr */,
-  80 /* Property n_kwreturn */,
-  81 /* Property n_kwreturn= */,
-  82 /* Property n_expr */,
-  83 /* Property n_expr= */,
-  3763 /* Id of ABreakExpr */,
+  80 /* Color of AReturnExpr */,
+  81 /* Property n_kwreturn */,
+  82 /* Property n_kwreturn= */,
+  83 /* Property n_expr */,
+  84 /* Property n_expr= */,
+  3767 /* Id of ABreakExpr */,
   6 /* Color of ABreakExpr */,
   7 /* Property _n_kwbreak */,
-  81 /* Color of ABreakExpr */,
-  82 /* Property n_kwbreak */,
-  83 /* Property n_kwbreak= */,
+  82 /* Color of ABreakExpr */,
+  83 /* Property n_kwbreak */,
+  84 /* Property n_kwbreak= */,
   3615 /* Id of AAbortExpr */,
   5 /* Color of AAbortExpr */,
   6 /* Property _n_kwabort */,
-  79 /* Color of AAbortExpr */,
-  80 /* Property n_kwabort */,
-  81 /* Property n_kwabort= */,
-  3755 /* Id of AContinueExpr */,
+  80 /* Color of AAbortExpr */,
+  81 /* Property n_kwabort */,
+  82 /* Property n_kwabort= */,
+  3759 /* Id of AContinueExpr */,
   6 /* Color of AContinueExpr */,
   7 /* Property _n_kwcontinue */,
-  81 /* Color of AContinueExpr */,
-  82 /* Property n_kwcontinue */,
-  83 /* Property n_kwcontinue= */,
+  82 /* Color of AContinueExpr */,
+  83 /* Property n_kwcontinue */,
+  84 /* Property n_kwcontinue= */,
   3539 /* Id of ADoExpr */,
   5 /* Color of ADoExpr */,
   6 /* Property _n_kwdo */,
   7 /* Property _n_block */,
-  78 /* Color of ADoExpr */,
-  79 /* Property n_kwdo */,
-  80 /* Property n_kwdo= */,
-  81 /* Property n_block */,
-  82 /* Property n_block= */,
+  79 /* Color of ADoExpr */,
+  80 /* Property n_kwdo */,
+  81 /* Property n_kwdo= */,
+  82 /* Property n_block */,
+  83 /* Property n_block= */,
   3503 /* Id of AIfExpr */,
   5 /* Color of AIfExpr */,
   6 /* Property _n_kwif */,
   7 /* Property _n_expr */,
   8 /* Property _n_then */,
   9 /* Property _n_else */,
-  78 /* Color of AIfExpr */,
-  79 /* Property n_kwif */,
-  80 /* Property n_kwif= */,
-  81 /* Property n_expr */,
-  82 /* Property n_expr= */,
-  83 /* Property n_then */,
-  84 /* Property n_then= */,
-  85 /* Property n_else */,
-  86 /* Property n_else= */,
+  79 /* Color of AIfExpr */,
+  80 /* Property n_kwif */,
+  81 /* Property n_kwif= */,
+  82 /* Property n_expr */,
+  83 /* Property n_expr= */,
+  84 /* Property n_then */,
+  85 /* Property n_then= */,
+  86 /* Property n_else */,
+  87 /* Property n_else= */,
   3499 /* Id of AIfexprExpr */,
   5 /* Color of AIfexprExpr */,
   6 /* Property _n_kwif */,
@@ -3853,454 +5996,454 @@ const int SFT_parser_nodes[1257] = {
   9 /* Property _n_then */,
   10 /* Property _n_kwelse */,
   11 /* Property _n_else */,
-  78 /* Color of AIfexprExpr */,
-  79 /* Property n_kwif */,
-  80 /* Property n_kwif= */,
-  81 /* Property n_expr */,
-  82 /* Property n_expr= */,
-  83 /* Property n_kwthen */,
-  84 /* Property n_kwthen= */,
-  85 /* Property n_then */,
-  86 /* Property n_then= */,
-  87 /* Property n_kwelse */,
-  88 /* Property n_kwelse= */,
-  89 /* Property n_else */,
-  90 /* Property n_else= */,
-  3655 /* Id of AWhileExpr */,
+  79 /* Color of AIfexprExpr */,
+  80 /* Property n_kwif */,
+  81 /* Property n_kwif= */,
+  82 /* Property n_expr */,
+  83 /* Property n_expr= */,
+  84 /* Property n_kwthen */,
+  85 /* Property n_kwthen= */,
+  86 /* Property n_then */,
+  87 /* Property n_then= */,
+  88 /* Property n_kwelse */,
+  89 /* Property n_kwelse= */,
+  90 /* Property n_else */,
+  91 /* Property n_else= */,
+  3659 /* Id of AWhileExpr */,
   6 /* Color of AWhileExpr */,
   6 /* Property _n_kwwhile */,
   7 /* Property _n_expr */,
   8 /* Property _n_kwdo */,
   9 /* Property _n_block */,
-  81 /* Color of AWhileExpr */,
-  82 /* Property n_kwwhile */,
-  83 /* Property n_kwwhile= */,
-  84 /* Property n_expr */,
-  85 /* Property n_expr= */,
-  86 /* Property n_kwdo */,
-  87 /* Property n_kwdo= */,
-  88 /* Property n_block */,
-  89 /* Property n_block= */,
-  3727 /* Id of AForExpr */,
+  82 /* Color of AWhileExpr */,
+  83 /* Property n_kwwhile */,
+  84 /* Property n_kwwhile= */,
+  85 /* Property n_expr */,
+  86 /* Property n_expr= */,
+  87 /* Property n_kwdo */,
+  88 /* Property n_kwdo= */,
+  89 /* Property n_block */,
+  90 /* Property n_block= */,
+  3731 /* Id of AForExpr */,
   6 /* Color of AForExpr */,
   6 /* Property _n_vardecl */,
   7 /* Property _n_kwdo */,
   8 /* Property _n_block */,
-  81 /* Color of AForExpr */,
-  82 /* Property n_vardecl */,
-  83 /* Property n_vardecl= */,
-  84 /* Property n_kwdo */,
-  85 /* Property n_kwdo= */,
-  86 /* Property n_block */,
-  87 /* Property n_block= */,
+  82 /* Color of AForExpr */,
+  83 /* Property n_vardecl */,
+  84 /* Property n_vardecl= */,
+  85 /* Property n_kwdo */,
+  86 /* Property n_kwdo= */,
+  87 /* Property n_block */,
+  88 /* Property n_block= */,
   3523 /* Id of AForVardeclExpr */,
   5 /* Color of AForVardeclExpr */,
   7 /* Property _n_kwfor */,
   8 /* Property _n_id */,
   9 /* Property _n_expr */,
-  81 /* Color of AForVardeclExpr */,
-  82 /* Property n_kwfor */,
-  83 /* Property n_kwfor= */,
-  84 /* Property n_id */,
-  85 /* Property n_id= */,
-  86 /* Property n_expr */,
-  87 /* Property n_expr= */,
+  82 /* Color of AForVardeclExpr */,
+  83 /* Property n_kwfor */,
+  84 /* Property n_kwfor= */,
+  85 /* Property n_id */,
+  86 /* Property n_id= */,
+  87 /* Property n_expr */,
+  88 /* Property n_expr= */,
   3595 /* Id of AAssertExpr */,
   5 /* Color of AAssertExpr */,
   6 /* Property _n_kwassert */,
   7 /* Property _n_id */,
   8 /* Property _n_expr */,
-  78 /* Color of AAssertExpr */,
-  79 /* Property n_kwassert */,
-  80 /* Property n_kwassert= */,
-  81 /* Property n_id */,
-  82 /* Property n_id= */,
-  83 /* Property n_expr */,
-  84 /* Property n_expr= */,
+  79 /* Color of AAssertExpr */,
+  80 /* Property n_kwassert */,
+  81 /* Property n_kwassert= */,
+  82 /* Property n_id */,
+  83 /* Property n_id= */,
+  84 /* Property n_expr */,
+  85 /* Property n_expr= */,
   3591 /* Id of AAssignFormExpr */,
   6 /* Color of AAssignFormExpr */,
   8 /* Property _n_assign */,
   9 /* Property _n_value */,
-  81 /* Color of AAssignFormExpr */,
-  82 /* Property n_assign */,
-  83 /* Property n_assign= */,
-  84 /* Property n_value */,
-  85 /* Property n_value= */,
+  82 /* Color of AAssignFormExpr */,
+  83 /* Property n_assign */,
+  84 /* Property n_assign= */,
+  85 /* Property n_value */,
+  86 /* Property n_value= */,
   3391 /* Id of AReassignFormExpr */,
   6 /* Color of AReassignFormExpr */,
   9 /* Property _n_assign_op */,
   10 /* Property _n_value */,
-  83 /* Color of AReassignFormExpr */,
-  84 /* Property n_assign_op */,
-  85 /* Property n_assign_op= */,
-  86 /* Property n_value */,
-  87 /* Property n_value= */,
-  3699 /* Id of AOnceExpr */,
+  84 /* Color of AReassignFormExpr */,
+  85 /* Property n_assign_op */,
+  86 /* Property n_assign_op= */,
+  87 /* Property n_value */,
+  88 /* Property n_value= */,
+  3703 /* Id of AOnceExpr */,
   6 /* Color of AOnceExpr */,
   7 /* Property _n_kwonce */,
-  82 /* Color of AOnceExpr */,
-  83 /* Property n_kwonce */,
-  84 /* Property n_kwonce= */,
-  3795 /* Id of ASendExpr */,
+  83 /* Color of AOnceExpr */,
+  84 /* Property n_kwonce */,
+  85 /* Property n_kwonce= */,
+  3799 /* Id of ASendExpr */,
   8 /* Color of ASendExpr */,
   11 /* Property _n_expr */,
-  99 /* Color of ASendExpr */,
-  100 /* Property n_expr */,
-  101 /* Property n_expr= */,
-  3827 /* Id of ABinopExpr */,
+  100 /* Color of ASendExpr */,
+  101 /* Property n_expr */,
+  102 /* Property n_expr= */,
+  3831 /* Id of ABinopExpr */,
   9 /* Color of ABinopExpr */,
   12 /* Property _n_expr2 */,
-  104 /* Color of ABinopExpr */,
-  105 /* Property n_expr2 */,
-  106 /* Property n_expr2= */,
+  105 /* Color of ABinopExpr */,
+  106 /* Property n_expr2 */,
+  107 /* Property n_expr2= */,
   3567 /* Id of ABoolExpr */,
   5 /* Color of ABoolExpr */,
-  76 /* Color of ABoolExpr */,
-  3695 /* Id of AOrExpr */,
+  77 /* Color of ABoolExpr */,
+  3699 /* Id of AOrExpr */,
   6 /* Color of AOrExpr */,
   6 /* Property _n_expr */,
   7 /* Property _n_expr2 */,
-  79 /* Color of AOrExpr */,
-  80 /* Property n_expr */,
-  81 /* Property n_expr= */,
-  82 /* Property n_expr2 */,
-  83 /* Property n_expr2= */,
-  3779 /* Id of AAndExpr */,
+  80 /* Color of AOrExpr */,
+  81 /* Property n_expr */,
+  82 /* Property n_expr= */,
+  83 /* Property n_expr2 */,
+  84 /* Property n_expr2= */,
+  3783 /* Id of AAndExpr */,
   6 /* Color of AAndExpr */,
   6 /* Property _n_expr */,
   7 /* Property _n_expr2 */,
-  79 /* Color of AAndExpr */,
-  80 /* Property n_expr */,
-  81 /* Property n_expr= */,
-  82 /* Property n_expr2 */,
-  83 /* Property n_expr2= */,
-  3703 /* Id of ANotExpr */,
+  80 /* Color of AAndExpr */,
+  81 /* Property n_expr */,
+  82 /* Property n_expr= */,
+  83 /* Property n_expr2 */,
+  84 /* Property n_expr2= */,
+  3707 /* Id of ANotExpr */,
   6 /* Color of ANotExpr */,
   6 /* Property _n_kwnot */,
   7 /* Property _n_expr */,
-  79 /* Color of ANotExpr */,
-  80 /* Property n_kwnot */,
-  81 /* Property n_kwnot= */,
-  82 /* Property n_expr */,
-  83 /* Property n_expr= */,
-  3875 /* Id of AEqExpr */,
+  80 /* Color of ANotExpr */,
+  81 /* Property n_kwnot */,
+  82 /* Property n_kwnot= */,
+  83 /* Property n_expr */,
+  84 /* Property n_expr= */,
+  3879 /* Id of AEqExpr */,
   10 /* Color of AEqExpr */,
-  109 /* Color of AEqExpr */,
-  3743 /* Id of AEeExpr */,
+  110 /* Color of AEqExpr */,
+  3747 /* Id of AEeExpr */,
   6 /* Color of AEeExpr */,
   6 /* Property _n_expr */,
   7 /* Property _n_expr2 */,
-  79 /* Color of AEeExpr */,
-  80 /* Property n_expr */,
-  81 /* Property n_expr= */,
-  82 /* Property n_expr2 */,
-  83 /* Property n_expr2= */,
-  3851 /* Id of ANeExpr */,
+  80 /* Color of AEeExpr */,
+  81 /* Property n_expr */,
+  82 /* Property n_expr= */,
+  83 /* Property n_expr2 */,
+  84 /* Property n_expr2= */,
+  3855 /* Id of ANeExpr */,
   10 /* Color of ANeExpr */,
-  109 /* Color of ANeExpr */,
-  3859 /* Id of ALtExpr */,
+  110 /* Color of ANeExpr */,
+  3863 /* Id of ALtExpr */,
   10 /* Color of ALtExpr */,
-  109 /* Color of ALtExpr */,
-  3863 /* Id of ALeExpr */,
+  110 /* Color of ALtExpr */,
+  3867 /* Id of ALeExpr */,
   10 /* Color of ALeExpr */,
-  109 /* Color of ALeExpr */,
-  3867 /* Id of AGtExpr */,
+  110 /* Color of ALeExpr */,
+  3871 /* Id of AGtExpr */,
   10 /* Color of AGtExpr */,
-  109 /* Color of AGtExpr */,
-  3871 /* Id of AGeExpr */,
+  110 /* Color of AGtExpr */,
+  3875 /* Id of AGeExpr */,
   10 /* Color of AGeExpr */,
-  109 /* Color of AGeExpr */,
-  3715 /* Id of AIsaExpr */,
+  110 /* Color of AGeExpr */,
+  3719 /* Id of AIsaExpr */,
   6 /* Color of AIsaExpr */,
   6 /* Property _n_expr */,
   7 /* Property _n_type */,
-  79 /* Color of AIsaExpr */,
-  80 /* Property n_expr */,
-  81 /* Property n_expr= */,
-  82 /* Property n_type */,
-  83 /* Property n_type= */,
-  3843 /* Id of APlusExpr */,
+  80 /* Color of AIsaExpr */,
+  81 /* Property n_expr */,
+  82 /* Property n_expr= */,
+  83 /* Property n_type */,
+  84 /* Property n_type= */,
+  3847 /* Id of APlusExpr */,
   10 /* Color of APlusExpr */,
-  109 /* Color of APlusExpr */,
-  3855 /* Id of AMinusExpr */,
+  110 /* Color of APlusExpr */,
+  3859 /* Id of AMinusExpr */,
   10 /* Color of AMinusExpr */,
-  109 /* Color of AMinusExpr */,
-  3831 /* Id of AStarshipExpr */,
+  110 /* Color of AMinusExpr */,
+  3835 /* Id of AStarshipExpr */,
   10 /* Color of AStarshipExpr */,
-  109 /* Color of AStarshipExpr */,
-  3835 /* Id of AStarExpr */,
+  110 /* Color of AStarshipExpr */,
+  3839 /* Id of AStarExpr */,
   10 /* Color of AStarExpr */,
-  109 /* Color of AStarExpr */,
-  3839 /* Id of ASlashExpr */,
+  110 /* Color of AStarExpr */,
+  3843 /* Id of ASlashExpr */,
   10 /* Color of ASlashExpr */,
-  109 /* Color of ASlashExpr */,
-  3847 /* Id of APercentExpr */,
+  110 /* Color of ASlashExpr */,
+  3851 /* Id of APercentExpr */,
   10 /* Color of APercentExpr */,
-  109 /* Color of APercentExpr */,
-  3807 /* Id of AUminusExpr */,
+  110 /* Color of APercentExpr */,
+  3811 /* Id of AUminusExpr */,
   9 /* Color of AUminusExpr */,
   12 /* Property _n_minus */,
-  104 /* Color of AUminusExpr */,
-  105 /* Property n_minus */,
-  106 /* Property n_minus= */,
-  3707 /* Id of ANewExpr */,
+  105 /* Color of AUminusExpr */,
+  106 /* Property n_minus */,
+  107 /* Property n_minus= */,
+  3711 /* Id of ANewExpr */,
   6 /* Color of ANewExpr */,
   8 /* Property _n_kwnew */,
   9 /* Property _n_type */,
   10 /* Property _n_id */,
   11 /* Property _n_args */,
-  96 /* Color of ANewExpr */,
-  97 /* Property n_kwnew */,
-  98 /* Property n_kwnew= */,
-  99 /* Property n_type */,
-  100 /* Property n_type= */,
-  101 /* Property n_id */,
-  102 /* Property n_id= */,
-  103 /* Property n_args */,
-  104 /* Property n_args= */,
+  97 /* Color of ANewExpr */,
+  98 /* Property n_kwnew */,
+  99 /* Property n_kwnew= */,
+  100 /* Property n_type */,
+  101 /* Property n_type= */,
+  102 /* Property n_id */,
+  103 /* Property n_id= */,
+  104 /* Property n_args */,
+  105 /* Property n_args= */,
   3583 /* Id of AAttrFormExpr */,
   5 /* Color of AAttrFormExpr */,
   13 /* Property _n_expr */,
   14 /* Property _n_id */,
-  91 /* Color of AAttrFormExpr */,
-  92 /* Property n_expr */,
-  93 /* Property n_expr= */,
-  94 /* Property n_id */,
-  95 /* Property n_id= */,
-  3771 /* Id of AAttrExpr */,
+  92 /* Color of AAttrFormExpr */,
+  93 /* Property n_expr */,
+  94 /* Property n_expr= */,
+  95 /* Property n_id */,
+  96 /* Property n_id= */,
+  3775 /* Id of AAttrExpr */,
   6 /* Color of AAttrExpr */,
-  98 /* Color of AAttrExpr */,
-  3775 /* Id of AAttrAssignExpr */,
+  99 /* Color of AAttrExpr */,
+  3779 /* Id of AAttrAssignExpr */,
   7 /* Color of AAttrAssignExpr */,
-  78 /* Color of AAttrAssignExpr */,
-  3819 /* Id of ACallFormExpr */,
+  79 /* Color of AAttrAssignExpr */,
+  3823 /* Id of ACallFormExpr */,
   10 /* Color of ACallFormExpr */,
   13 /* Property _n_id */,
   14 /* Property _n_args */,
-  104 /* Color of ACallFormExpr */,
-  105 /* Property n_id */,
-  106 /* Property n_id= */,
-  107 /* Property n_args */,
-  108 /* Property n_args= */,
-  3767 /* Id of AAttrReassignExpr */,
+  105 /* Color of ACallFormExpr */,
+  106 /* Property n_id */,
+  107 /* Property n_id= */,
+  108 /* Property n_args */,
+  109 /* Property n_args= */,
+  3771 /* Id of AAttrReassignExpr */,
   7 /* Color of AAttrReassignExpr */,
-  78 /* Color of AAttrReassignExpr */,
-  3883 /* Id of ACallExpr */,
+  79 /* Color of AAttrReassignExpr */,
+  3887 /* Id of ACallExpr */,
   11 /* Color of ACallExpr */,
-  111 /* Color of ACallExpr */,
-  3887 /* Id of ACallAssignExpr */,
+  112 /* Color of ACallExpr */,
+  3891 /* Id of ACallAssignExpr */,
   9 /* Color of ACallAssignExpr */,
-  80 /* Color of ACallAssignExpr */,
-  3879 /* Id of ACallReassignExpr */,
+  81 /* Color of ACallAssignExpr */,
+  3883 /* Id of ACallReassignExpr */,
   11 /* Color of ACallReassignExpr */,
-  111 /* Color of ACallReassignExpr */,
-  3791 /* Id of ASuperExpr */,
+  112 /* Color of ACallReassignExpr */,
+  3795 /* Id of ASuperExpr */,
   8 /* Color of ASuperExpr */,
   9 /* Property _n_qualified */,
   10 /* Property _n_kwsuper */,
   11 /* Property _n_args */,
-  97 /* Color of ASuperExpr */,
-  98 /* Property n_qualified */,
-  99 /* Property n_qualified= */,
-  100 /* Property n_kwsuper */,
-  101 /* Property n_kwsuper= */,
-  102 /* Property n_args */,
-  103 /* Property n_args= */,
-  3815 /* Id of AInitExpr */,
+  98 /* Color of ASuperExpr */,
+  99 /* Property n_qualified */,
+  100 /* Property n_qualified= */,
+  101 /* Property n_kwsuper */,
+  102 /* Property n_kwsuper= */,
+  103 /* Property n_args */,
+  104 /* Property n_args= */,
+  3819 /* Id of AInitExpr */,
   9 /* Color of AInitExpr */,
   12 /* Property _n_kwinit */,
   13 /* Property _n_args */,
-  104 /* Color of AInitExpr */,
-  105 /* Property n_kwinit */,
-  106 /* Property n_kwinit= */,
-  107 /* Property n_args */,
-  108 /* Property n_args= */,
-  3823 /* Id of ABraFormExpr */,
+  105 /* Color of AInitExpr */,
+  106 /* Property n_kwinit */,
+  107 /* Property n_kwinit= */,
+  108 /* Property n_args */,
+  109 /* Property n_args= */,
+  3827 /* Id of ABraFormExpr */,
   10 /* Color of ABraFormExpr */,
   13 /* Property _n_args */,
-  102 /* Color of ABraFormExpr */,
-  103 /* Property n_args */,
-  104 /* Property n_args= */,
-  3895 /* Id of ABraExpr */,
+  103 /* Color of ABraFormExpr */,
+  104 /* Property n_args */,
+  105 /* Property n_args= */,
+  3899 /* Id of ABraExpr */,
   11 /* Color of ABraExpr */,
-  107 /* Color of ABraExpr */,
-  3899 /* Id of ABraAssignExpr */,
+  108 /* Color of ABraExpr */,
+  3903 /* Id of ABraAssignExpr */,
   9 /* Color of ABraAssignExpr */,
-  80 /* Color of ABraAssignExpr */,
+  81 /* Color of ABraAssignExpr */,
   3335 /* Id of AVarFormExpr */,
   5 /* Color of AVarFormExpr */,
   7 /* Property _n_id */,
-  78 /* Color of AVarFormExpr */,
-  79 /* Property n_id */,
-  80 /* Property n_id= */,
-  3891 /* Id of ABraReassignExpr */,
+  79 /* Color of AVarFormExpr */,
+  80 /* Property n_id */,
+  81 /* Property n_id= */,
+  3895 /* Id of ABraReassignExpr */,
   11 /* Color of ABraReassignExpr */,
-  107 /* Color of ABraReassignExpr */,
-  3663 /* Id of AVarExpr */,
+  108 /* Color of ABraReassignExpr */,
+  3667 /* Id of AVarExpr */,
   6 /* Color of AVarExpr */,
-  84 /* Color of AVarExpr */,
-  3667 /* Id of AVarAssignExpr */,
+  85 /* Color of AVarExpr */,
+  3671 /* Id of AVarAssignExpr */,
   7 /* Color of AVarAssignExpr */,
-  89 /* Color of AVarAssignExpr */,
-  3659 /* Id of AVarReassignExpr */,
+  90 /* Color of AVarAssignExpr */,
+  3663 /* Id of AVarReassignExpr */,
   7 /* Color of AVarReassignExpr */,
-  91 /* Color of AVarReassignExpr */,
+  92 /* Color of AVarReassignExpr */,
   3399 /* Id of ARangeExpr */,
   5 /* Color of ARangeExpr */,
   6 /* Property _n_expr */,
   7 /* Property _n_expr2 */,
-  79 /* Color of ARangeExpr */,
-  80 /* Property n_expr */,
-  81 /* Property n_expr= */,
-  82 /* Property n_expr2 */,
-  83 /* Property n_expr2= */,
-  3751 /* Id of ACrangeExpr */,
+  80 /* Color of ARangeExpr */,
+  81 /* Property n_expr */,
+  82 /* Property n_expr= */,
+  83 /* Property n_expr2 */,
+  84 /* Property n_expr2= */,
+  3755 /* Id of ACrangeExpr */,
   6 /* Color of ACrangeExpr */,
-  86 /* Color of ACrangeExpr */,
-  3691 /* Id of AOrangeExpr */,
+  87 /* Color of ACrangeExpr */,
+  3695 /* Id of AOrangeExpr */,
   6 /* Color of AOrangeExpr */,
-  86 /* Color of AOrangeExpr */,
+  87 /* Color of AOrangeExpr */,
   3603 /* Id of AArrayExpr */,
   5 /* Color of AArrayExpr */,
   6 /* Property _n_exprs */,
-  79 /* Color of AArrayExpr */,
-  80 /* Property n_exprs */,
-  81 /* Property n_exprs= */,
+  80 /* Color of AArrayExpr */,
+  81 /* Property n_exprs */,
+  82 /* Property n_exprs= */,
   3383 /* Id of ASelfExpr */,
   5 /* Color of ASelfExpr */,
   6 /* Property _n_kwself */,
-  78 /* Color of ASelfExpr */,
-  79 /* Property n_kwself */,
-  80 /* Property n_kwself= */,
-  3723 /* Id of AImplicitSelfExpr */,
+  79 /* Color of ASelfExpr */,
+  80 /* Property n_kwself */,
+  81 /* Property n_kwself= */,
+  3727 /* Id of AImplicitSelfExpr */,
   6 /* Color of AImplicitSelfExpr */,
-  83 /* Color of AImplicitSelfExpr */,
-  3671 /* Id of ATrueExpr */,
+  84 /* Color of AImplicitSelfExpr */,
+  3675 /* Id of ATrueExpr */,
   6 /* Color of ATrueExpr */,
   6 /* Property _n_kwtrue */,
-  79 /* Color of ATrueExpr */,
-  80 /* Property n_kwtrue */,
-  81 /* Property n_kwtrue= */,
-  3731 /* Id of AFalseExpr */,
+  80 /* Color of ATrueExpr */,
+  81 /* Property n_kwtrue */,
+  82 /* Property n_kwtrue= */,
+  3735 /* Id of AFalseExpr */,
   6 /* Color of AFalseExpr */,
   6 /* Property _n_kwfalse */,
-  79 /* Color of AFalseExpr */,
-  80 /* Property n_kwfalse */,
-  81 /* Property n_kwfalse= */,
+  80 /* Color of AFalseExpr */,
+  81 /* Property n_kwfalse */,
+  82 /* Property n_kwfalse= */,
   3443 /* Id of ANullExpr */,
   5 /* Color of ANullExpr */,
   6 /* Property _n_kwnull */,
-  78 /* Color of ANullExpr */,
-  79 /* Property n_kwnull */,
-  80 /* Property n_kwnull= */,
+  79 /* Color of ANullExpr */,
+  80 /* Property n_kwnull */,
+  81 /* Property n_kwnull= */,
   3491 /* Id of AIntExpr */,
   5 /* Color of AIntExpr */,
   6 /* Property _n_number */,
-  78 /* Color of AIntExpr */,
-  79 /* Property n_number */,
-  80 /* Property n_number= */,
+  79 /* Color of AIntExpr */,
+  80 /* Property n_number */,
+  81 /* Property n_number= */,
   3527 /* Id of AFloatExpr */,
   5 /* Color of AFloatExpr */,
   6 /* Property _n_float */,
-  78 /* Color of AFloatExpr */,
-  79 /* Property n_float */,
-  80 /* Property n_float= */,
+  79 /* Color of AFloatExpr */,
+  80 /* Property n_float */,
+  81 /* Property n_float= */,
   3555 /* Id of ACharExpr */,
   5 /* Color of ACharExpr */,
   6 /* Property _n_char */,
-  78 /* Color of ACharExpr */,
-  79 /* Property n_char */,
-  80 /* Property n_char= */,
+  79 /* Color of ACharExpr */,
+  80 /* Property n_char */,
+  81 /* Property n_char= */,
   3363 /* Id of AStringFormExpr */,
   5 /* Color of AStringFormExpr */,
-  78 /* Color of AStringFormExpr */,
-  3679 /* Id of AStringExpr */,
+  79 /* Color of AStringFormExpr */,
+  3683 /* Id of AStringExpr */,
   6 /* Color of AStringExpr */,
   8 /* Property _n_string */,
-  81 /* Color of AStringExpr */,
-  82 /* Property n_string */,
-  83 /* Property n_string= */,
-  3683 /* Id of AStartStringExpr */,
+  82 /* Color of AStringExpr */,
+  83 /* Property n_string */,
+  84 /* Property n_string= */,
+  3687 /* Id of AStartStringExpr */,
   6 /* Color of AStartStringExpr */,
   8 /* Property _n_string */,
-  81 /* Color of AStartStringExpr */,
-  82 /* Property n_string */,
-  83 /* Property n_string= */,
-  3711 /* Id of AMidStringExpr */,
+  82 /* Color of AStartStringExpr */,
+  83 /* Property n_string */,
+  84 /* Property n_string= */,
+  3715 /* Id of AMidStringExpr */,
   6 /* Color of AMidStringExpr */,
   8 /* Property _n_string */,
-  81 /* Color of AMidStringExpr */,
-  82 /* Property n_string */,
-  83 /* Property n_string= */,
-  3739 /* Id of AEndStringExpr */,
+  82 /* Color of AMidStringExpr */,
+  83 /* Property n_string */,
+  84 /* Property n_string= */,
+  3743 /* Id of AEndStringExpr */,
   6 /* Color of AEndStringExpr */,
   8 /* Property _n_string */,
-  81 /* Color of AEndStringExpr */,
-  82 /* Property n_string */,
-  83 /* Property n_string= */,
+  82 /* Color of AEndStringExpr */,
+  83 /* Property n_string */,
+  84 /* Property n_string= */,
   3355 /* Id of ASuperstringExpr */,
   5 /* Color of ASuperstringExpr */,
   6 /* Property _n_exprs */,
-  78 /* Color of ASuperstringExpr */,
-  79 /* Property n_exprs */,
-  80 /* Property n_exprs= */,
-  3687 /* Id of AParExpr */,
+  79 /* Color of ASuperstringExpr */,
+  80 /* Property n_exprs */,
+  81 /* Property n_exprs= */,
+  3691 /* Id of AParExpr */,
   6 /* Color of AParExpr */,
-  81 /* Color of AParExpr */,
+  82 /* Color of AParExpr */,
   3411 /* Id of AProxyExpr */,
   5 /* Color of AProxyExpr */,
   6 /* Property _n_expr */,
-  76 /* Color of AProxyExpr */,
-  77 /* Property n_expr */,
-  78 /* Property n_expr= */,
+  77 /* Color of AProxyExpr */,
+  78 /* Property n_expr */,
+  79 /* Property n_expr= */,
   3599 /* Id of AAsCastExpr */,
   5 /* Color of AAsCastExpr */,
   6 /* Property _n_expr */,
   7 /* Property _n_kwas */,
   8 /* Property _n_type */,
-  78 /* Color of AAsCastExpr */,
-  79 /* Property n_expr */,
-  80 /* Property n_expr= */,
-  81 /* Property n_kwas */,
-  82 /* Property n_kwas= */,
-  83 /* Property n_type */,
-  84 /* Property n_type= */,
+  79 /* Color of AAsCastExpr */,
+  80 /* Property n_expr */,
+  81 /* Property n_expr= */,
+  82 /* Property n_kwas */,
+  83 /* Property n_kwas= */,
+  84 /* Property n_type */,
+  85 /* Property n_type= */,
   3427 /* Id of APlusAssignOp */,
   5 /* Color of APlusAssignOp */,
   4 /* Property _n_pluseq */,
-  71 /* Color of APlusAssignOp */,
-  72 /* Property n_pluseq */,
-  73 /* Property n_pluseq= */,
+  72 /* Color of APlusAssignOp */,
+  73 /* Property n_pluseq */,
+  74 /* Property n_pluseq= */,
   3463 /* Id of AMinusAssignOp */,
   5 /* Color of AMinusAssignOp */,
   4 /* Property _n_minuseq */,
-  71 /* Color of AMinusAssignOp */,
-  72 /* Property n_minuseq */,
-  73 /* Property n_minuseq= */,
+  72 /* Color of AMinusAssignOp */,
+  73 /* Property n_minuseq */,
+  74 /* Property n_minuseq= */,
   3403 /* Id of AQualified */,
   5 /* Color of AQualified */,
   4 /* Property _n_id */,
   5 /* Property _n_classid */,
-  70 /* Color of AQualified */,
-  71 /* Property n_id */,
-  72 /* Property n_id= */,
-  73 /* Property n_classid */,
-  74 /* Property n_classid= */,
+  71 /* Color of AQualified */,
+  72 /* Property n_id */,
+  73 /* Property n_id= */,
+  74 /* Property n_classid */,
+  75 /* Property n_classid= */,
   3535 /* Id of ADoc */,
   5 /* Color of ADoc */,
   4 /* Property _n_comment */,
-  70 /* Color of ADoc */,
-  71 /* Property n_comment */,
-  72 /* Property n_comment= */,
+  71 /* Color of ADoc */,
+  72 /* Property n_comment */,
+  73 /* Property n_comment= */,
   3031 /* Id of Start */,
   4 /* Color of Start */,
   4 /* Property _n_base */,
   5 /* Property _n_eof */,
-  68 /* Color of Start */,
-  69 /* Property n_base */,
-  70 /* Property n_base= */,
-  71 /* Property n_eof */,
-  72 /* Property n_eof= */,
+  69 /* Color of Start */,
+  70 /* Property n_base */,
+  71 /* Property n_base= */,
+  72 /* Property n_eof */,
+  73 /* Property n_eof= */,
 };
 const char *LOCATE_standard = "./../lib/standard//standard.nit";
 const char *LOCATE_environ = "./../lib/standard//environ.nit";
@@ -4310,7 +6453,7 @@ const int SFT_environ[2] = {
 };
 const char *LOCATE_symbol = "./../lib/standard//symbol.nit";
 const int SFT_symbol[6] = {
-  98 /* Property to_symbol */,
+  101 /* Property to_symbol */,
   27 /* Id of Symbol */,
   2 /* Color of Symbol */,
   1 /* Property _string */,
@@ -4318,7 +6461,7 @@ const int SFT_symbol[6] = {
   42 /* Property init */,
 };
 const char *LOCATE_hash = "./../lib/standard//hash.nit";
-const int SFT_hash[57] = {
+const int SFT_hash[59] = {
   15 /* Property hash */,
   2627 /* Id of HashCollection */,
   3 /* Color of HashCollection */,
@@ -4336,6 +6479,7 @@ const int SFT_hash[57] = {
   46 /* Property remove_index */,
   47 /* Property raz */,
   48 /* Property enlarge */,
+  49 /* Property init */,
   139 /* Id of HashNode */,
   2 /* Color of HashNode */,
   1 /* Property _next_item */,
@@ -4346,30 +6490,31 @@ const int SFT_hash[57] = {
   43 /* Property next_item= */,
   44 /* Property prev_item */,
   45 /* Property prev_item= */,
-  3639 /* Id of HashMap */,
+  46 /* Property init */,
+  3643 /* Id of HashMap */,
   7 /* Color of HashMap */,
-  51 /* Color of HashMap */,
-  52 /* Property init */,
+  52 /* Color of HashMap */,
+  53 /* Property init */,
   2623 /* Id of HashMapNode */,
   4 /* Color of HashMapNode */,
-  52 /* Color of HashMapNode */,
-  53 /* Property init */,
+  53 /* Color of HashMapNode */,
+  54 /* Property init */,
   3195 /* Id of HashMapIterator */,
   4 /* Color of HashMapIterator */,
   1 /* Property _map */,
   2 /* Property _node */,
   48 /* Color of HashMapIterator */,
   49 /* Property init */,
-  3635 /* Id of HashSet */,
+  3639 /* Id of HashSet */,
   8 /* Color of HashSet */,
-  50 /* Color of HashSet */,
-  51 /* Property init */,
+  51 /* Color of HashSet */,
+  52 /* Property init */,
   2615 /* Id of HashSetNode */,
   3 /* Color of HashSetNode */,
   3 /* Property _key */,
-  46 /* Color of HashSetNode */,
-  47 /* Property key= */,
-  48 /* Property init */,
+  47 /* Color of HashSetNode */,
+  48 /* Property key= */,
+  49 /* Property init */,
   2619 /* Id of HashSetIterator */,
   3 /* Color of HashSetIterator */,
   1 /* Property _set */,
@@ -4378,44 +6523,44 @@ const int SFT_hash[57] = {
   46 /* Property init */,
 };
 const char *LOCATE_string = "./../lib/standard//string.nit";
-const int SFT_string[54] = {
-  3783 /* Id of String */,
+const int SFT_string[56] = {
+  3787 /* Id of String */,
   11 /* Color of String */,
   2 /* Property _items */,
   3 /* Property _capacity */,
-  99 /* Color of String */,
-  100 /* Property append */,
-  101 /* Property + */,
-  102 /* Property * */,
-  103 /* Property to_i */,
-  104 /* Property to_hex */,
-  105 /* Property a_to */,
-  106 /* Property to_cstring */,
-  107 /* Property substring */,
-  108 /* Property substring_from */,
-  109 /* Property has_substring */,
-  110 /* Property has_prefix */,
-  111 /* Property has_suffix */,
-  112 /* Property init */,
-  113 /* Property from */,
-  114 /* Property with_capacity */,
-  115 /* Property with_native */,
-  116 /* Property from_cstring */,
-  117 /* Property filled_with */,
-  118 /* Property to_upper */,
-  119 /* Property to_lower */,
-  120 /* Property items */,
-  121 /* Property capacity */,
+  102 /* Color of String */,
+  103 /* Property append */,
+  104 /* Property + */,
+  105 /* Property * */,
+  106 /* Property to_i */,
+  107 /* Property to_hex */,
+  108 /* Property a_to */,
+  109 /* Property to_cstring */,
+  110 /* Property substring */,
+  111 /* Property substring_from */,
+  112 /* Property has_substring */,
+  113 /* Property has_prefix */,
+  114 /* Property has_suffix */,
+  115 /* Property init */,
+  116 /* Property from */,
+  117 /* Property with_capacity */,
+  118 /* Property with_native */,
+  119 /* Property from_cstring */,
+  120 /* Property filled_with */,
+  121 /* Property to_upper */,
+  122 /* Property to_lower */,
+  123 /* Property items */,
+  124 /* Property capacity */,
   16 /* Property to_s */,
   17 /* Property inspect */,
   18 /* Property inspect_head */,
   19 /* Property args */,
-  62 /* Property fill_string */,
-  63 /* Property to_hex */,
-  64 /* Property to_base */,
+  64 /* Property fill_string */,
+  65 /* Property to_hex */,
+  66 /* Property to_base */,
   40 /* Property to_precision */,
-  56 /* Property join */,
-  73 /* Property map_join */,
+  58 /* Property join */,
+  75 /* Property map_join */,
   -5 /* Id of NativeString */,
   2 /* Color of NativeString */,
   41 /* Color of NativeString */,
@@ -4424,10 +6569,12 @@ const int SFT_string[54] = {
   44 /* Property copy_to */,
   45 /* Property cstring_length */,
   46 /* Property atoi */,
+  47 /* Property init */,
   31 /* Id of StringCapable */,
   2 /* Color of StringCapable */,
   40 /* Color of StringCapable */,
   41 /* Property calloc_string */,
+  42 /* Property init */,
   1 /* Property _args_cache */,
   41 /* Property program_name */,
   42 /* Property init_args */,
@@ -4435,19 +6582,20 @@ const int SFT_string[54] = {
   44 /* Property native_argv */,
 };
 const char *LOCATE_array = "./../lib/standard//array.nit";
-const int SFT_array[61] = {
-  3651 /* Id of AbstractArray */,
+const int SFT_array[62] = {
+  3655 /* Id of AbstractArray */,
   10 /* Color of AbstractArray */,
   1 /* Property _length */,
-  90 /* Color of AbstractArray */,
-  91 /* Property enlarge */,
-  92 /* Property insert */,
-  93 /* Property last_index_of */,
-  94 /* Property index_of_from */,
-  95 /* Property last_index_of_from */,
-  96 /* Property reversed */,
-  97 /* Property copy_to */,
-  3787 /* Id of Array */,
+  92 /* Color of AbstractArray */,
+  93 /* Property enlarge */,
+  94 /* Property insert */,
+  95 /* Property last_index_of */,
+  96 /* Property index_of_from */,
+  97 /* Property last_index_of_from */,
+  98 /* Property reversed */,
+  99 /* Property copy_to */,
+  100 /* Property init */,
+  3791 /* Id of Array */,
   3 /* Color of Array */,
   2 /* Property _items */,
   3 /* Property _capacity */,
@@ -4463,30 +6611,30 @@ const int SFT_array[61] = {
   2 /* Property _array */,
   50 /* Color of ArrayIterator */,
   51 /* Property init */,
-  3643 /* Id of ArraySet */,
+  3647 /* Id of ArraySet */,
   8 /* Color of ArraySet */,
   1 /* Property _array */,
-  73 /* Color of ArraySet */,
-  74 /* Property enlarge */,
-  75 /* Property remove_at */,
-  76 /* Property init */,
-  77 /* Property with_capacity */,
+  75 /* Color of ArraySet */,
+  76 /* Property enlarge */,
+  77 /* Property remove_at */,
+  78 /* Property init */,
+  79 /* Property with_capacity */,
   2675 /* Id of ArraySetIterator */,
   3 /* Color of ArraySetIterator */,
   1 /* Property _iter */,
   45 /* Color of ArraySetIterator */,
   46 /* Property init */,
-  3647 /* Id of ArrayMap */,
+  3651 /* Id of ArrayMap */,
   9 /* Color of ArrayMap */,
   1 /* Property _items */,
   2 /* Property _last_index */,
-  80 /* Color of ArrayMap */,
-  81 /* Property enlarge */,
-  82 /* Property remove_at_index */,
-  83 /* Property index */,
-  84 /* Property init */,
+  82 /* Color of ArrayMap */,
+  83 /* Property enlarge */,
+  84 /* Property remove_at_index */,
+  85 /* Property index */,
+  86 /* Property init */,
   40 /* Property to_a */,
-  57 /* Property to_a */,
+  59 /* Property to_a */,
   171 /* Id of ArrayCapable */,
   2 /* Color of ArrayCapable */,
   40 /* Color of ArrayCapable */,
@@ -4502,17 +6650,17 @@ const char *LOCATE_abstract_collection = "./../lib/standard//abstract_collection
 const int SFT_abstract_collection[94] = {
   163 /* Id of Collection */,
   5 /* Color of Collection */,
-  58 /* Color of Collection */,
-  59 /* Property iterator */,
-  60 /* Property is_empty */,
-  61 /* Property length */,
-  62 /* Property has */,
-  63 /* Property has_only */,
-  64 /* Property count */,
-  65 /* Property first */,
+  60 /* Color of Collection */,
+  61 /* Property iterator */,
+  62 /* Property is_empty */,
+  63 /* Property length */,
+  64 /* Property has */,
+  65 /* Property has_only */,
+  66 /* Property count */,
+  67 /* Property first */,
   2539 /* Id of NaiveCollection */,
   6 /* Color of NaiveCollection */,
-  66 /* Color of NaiveCollection */,
+  68 /* Color of NaiveCollection */,
   131 /* Id of Iterator */,
   2 /* Color of Iterator */,
   41 /* Color of Iterator */,
@@ -4522,10 +6670,10 @@ const int SFT_abstract_collection[94] = {
   2651 /* Id of Container */,
   6 /* Color of Container */,
   1 /* Property _item */,
-  66 /* Color of Container */,
-  67 /* Property init */,
-  68 /* Property item */,
-  69 /* Property item= */,
+  68 /* Color of Container */,
+  69 /* Property init */,
+  70 /* Property item */,
+  71 /* Property item= */,
   2647 /* Id of ContainerIterator */,
   3 /* Color of ContainerIterator */,
   1 /* Property _is_ok */,
@@ -4534,26 +6682,26 @@ const int SFT_abstract_collection[94] = {
   46 /* Property init */,
   211 /* Id of RemovableCollection */,
   6 /* Color of RemovableCollection */,
-  66 /* Color of RemovableCollection */,
-  67 /* Property clear */,
-  68 /* Property remove */,
-  69 /* Property remove_all */,
+  68 /* Color of RemovableCollection */,
+  69 /* Property clear */,
+  70 /* Property remove */,
+  71 /* Property remove_all */,
   3035 /* Id of SimpleCollection */,
   7 /* Color of SimpleCollection */,
-  70 /* Color of SimpleCollection */,
-  71 /* Property add */,
-  72 /* Property add_all */,
+  72 /* Color of SimpleCollection */,
+  73 /* Property add */,
+  74 /* Property add_all */,
   3275 /* Id of Set */,
   4 /* Color of Set */,
-  49 /* Color of Set */,
+  50 /* Color of Set */,
   3143 /* Id of Map */,
   8 /* Color of Map */,
-  74 /* Color of Map */,
-  75 /* Property [] */,
-  76 /* Property []= */,
-  77 /* Property has_key */,
-  78 /* Property remove_at */,
-  79 /* Property recover_with */,
+  76 /* Color of Map */,
+  77 /* Property [] */,
+  78 /* Property []= */,
+  79 /* Property has_key */,
+  80 /* Property remove_at */,
+  81 /* Property recover_with */,
   2547 /* Id of MapIterator */,
   3 /* Color of MapIterator */,
   45 /* Color of MapIterator */,
@@ -4561,24 +6709,24 @@ const int SFT_abstract_collection[94] = {
   47 /* Property item= */,
   3303 /* Id of IndexedCollection */,
   9 /* Color of IndexedCollection */,
-  80 /* Color of IndexedCollection */,
-  81 /* Property first= */,
-  82 /* Property last */,
-  83 /* Property last= */,
-  84 /* Property push */,
-  85 /* Property append */,
-  86 /* Property pop */,
-  87 /* Property unshift */,
-  88 /* Property shift */,
-  89 /* Property index_of */,
+  82 /* Color of IndexedCollection */,
+  83 /* Property first= */,
+  84 /* Property last */,
+  85 /* Property last= */,
+  86 /* Property push */,
+  87 /* Property append */,
+  88 /* Property pop */,
+  89 /* Property unshift */,
+  90 /* Property shift */,
+  91 /* Property index_of */,
   3183 /* Id of IndexedIterator */,
   4 /* Color of IndexedIterator */,
   48 /* Color of IndexedIterator */,
   49 /* Property index */,
   3319 /* Id of CoupleMap */,
   4 /* Color of CoupleMap */,
-  49 /* Color of CoupleMap */,
-  50 /* Property couple_at */,
+  50 /* Color of CoupleMap */,
+  51 /* Property couple_at */,
   3211 /* Id of CoupleMapIterator */,
   4 /* Color of CoupleMapIterator */,
   1 /* Property _iter */,
@@ -4588,15 +6736,15 @@ const int SFT_abstract_collection[94] = {
   3 /* Color of Couple */,
   3 /* Property _first */,
   4 /* Property _second */,
-  46 /* Color of Couple */,
-  47 /* Property first */,
-  48 /* Property first= */,
-  49 /* Property second */,
-  50 /* Property second= */,
-  51 /* Property init */,
+  47 /* Color of Couple */,
+  48 /* Property first */,
+  49 /* Property first= */,
+  50 /* Property second */,
+  51 /* Property second= */,
+  52 /* Property init */,
 };
 const char *LOCATE_kernel = "./../lib/standard//kernel.nit";
-const int SFT_kernel[72] = {
+const int SFT_kernel[73] = {
   3 /* Id of Object */,
   1 /* Color of Object */,
   20 /* Color of Object */,
@@ -4611,25 +6759,26 @@ const int SFT_kernel[72] = {
   2 /* Color of Sys */,
   45 /* Color of Sys */,
   46 /* Property main */,
+  47 /* Property init */,
   155 /* Id of Comparable */,
   4 /* Color of Comparable */,
-  47 /* Color of Comparable */,
-  48 /* Property < */,
-  49 /* Property <= */,
-  50 /* Property >= */,
-  51 /* Property > */,
-  52 /* Property <=> */,
-  53 /* Property is_between */,
-  54 /* Property max */,
-  55 /* Property min */,
+  49 /* Color of Comparable */,
+  50 /* Property < */,
+  51 /* Property <= */,
+  52 /* Property >= */,
+  53 /* Property > */,
+  54 /* Property <=> */,
+  55 /* Property is_between */,
+  56 /* Property max */,
+  57 /* Property min */,
   2643 /* Id of Discrete */,
   2 /* Color of Discrete */,
-  56 /* Color of Discrete */,
-  57 /* Property succ */,
-  58 /* Property prec */,
-  59 /* Property + */,
-  60 /* Property - */,
-  61 /* Property distance */,
+  58 /* Color of Discrete */,
+  59 /* Property succ */,
+  60 /* Property prec */,
+  61 /* Property + */,
+  62 /* Property - */,
+  63 /* Property distance */,
   -17 /* Id of Bool */,
   2 /* Color of Bool */,
   40 /* Color of Bool */,
@@ -4648,24 +6797,24 @@ const int SFT_kernel[72] = {
   51 /* Property to_i */,
   -33 /* Id of Int */,
   5 /* Color of Int */,
-  65 /* Color of Int */,
-  66 /* Property unary - */,
-  67 /* Property * */,
-  68 /* Property / */,
-  69 /* Property % */,
-  70 /* Property lshift */,
-  71 /* Property rshift */,
-  72 /* Property to_f */,
-  73 /* Property ascii */,
-  74 /* Property digit_count */,
-  75 /* Property to_c */,
+  67 /* Color of Int */,
+  68 /* Property unary - */,
+  69 /* Property * */,
+  70 /* Property / */,
+  71 /* Property % */,
+  72 /* Property lshift */,
+  73 /* Property rshift */,
+  74 /* Property to_f */,
+  75 /* Property ascii */,
+  76 /* Property digit_count */,
+  77 /* Property to_c */,
   -37 /* Id of Char */,
   5 /* Color of Char */,
-  62 /* Color of Char */,
-  63 /* Property to_i */,
-  64 /* Property ascii */,
-  65 /* Property to_lower */,
-  66 /* Property to_upper */,
+  64 /* Color of Char */,
+  65 /* Property to_i */,
+  66 /* Property ascii */,
+  67 /* Property to_lower */,
+  68 /* Property to_upper */,
   -1 /* Id of Pointer */,
   2 /* Color of Pointer */,
   40 /* Color of Pointer */,
@@ -4675,7 +6824,7 @@ const int SFT_time[1] = {
   28 /* Property get_time */,
 };
 const char *LOCATE_sorter = "./../lib/standard//sorter.nit";
-const int SFT_sorter[12] = {
+const int SFT_sorter[13] = {
   175 /* Id of AbstractSorter */,
   2 /* Color of AbstractSorter */,
   40 /* Color of AbstractSorter */,
@@ -4684,13 +6833,14 @@ const int SFT_sorter[12] = {
   43 /* Property sub_sort */,
   44 /* Property quick_sort */,
   45 /* Property bubble_sort */,
+  46 /* Property init */,
   2659 /* Id of ComparableSorter */,
   3 /* Color of ComparableSorter */,
-  46 /* Color of ComparableSorter */,
-  47 /* Property init */,
+  47 /* Color of ComparableSorter */,
+  48 /* Property init */,
 };
 const char *LOCATE_file = "./../lib/standard//file.nit";
-const int SFT_file[73] = {
+const int SFT_file[75] = {
   29 /* Property printn */,
   30 /* Property print */,
   31 /* Property getc */,
@@ -4708,39 +6858,41 @@ const int SFT_file[73] = {
   3311 /* Id of IFStream */,
   7 /* Color of IFStream */,
   5 /* Property _end_reached */,
-  67 /* Color of IFStream */,
-  68 /* Property reopen */,
-  69 /* Property open */,
-  70 /* Property without_file */,
+  68 /* Color of IFStream */,
+  69 /* Property reopen */,
+  70 /* Property open */,
+  71 /* Property init */,
+  72 /* Property without_file */,
   3139 /* Id of OFStream */,
   5 /* Color of OFStream */,
   3 /* Property _writable */,
-  56 /* Color of OFStream */,
-  57 /* Property write_native */,
-  58 /* Property open */,
-  59 /* Property without_file */,
+  57 /* Color of OFStream */,
+  58 /* Property write_native */,
+  59 /* Property open */,
+  60 /* Property init */,
+  61 /* Property without_file */,
   3619 /* Id of Stdin */,
   8 /* Color of Stdin */,
-  71 /* Color of Stdin */,
-  72 /* Property init */,
+  73 /* Color of Stdin */,
+  74 /* Property init */,
   3267 /* Id of Stdout */,
   7 /* Color of Stdout */,
-  60 /* Color of Stdout */,
-  61 /* Property init */,
+  62 /* Color of Stdout */,
+  63 /* Property init */,
   3271 /* Id of Stderr */,
   7 /* Color of Stderr */,
-  60 /* Color of Stderr */,
-  61 /* Property init */,
-  122 /* Property file_exists */,
-  123 /* Property file_stat */,
-  124 /* Property strip_extension */,
-  125 /* Property basename */,
-  126 /* Property dirname */,
-  127 /* Property file_path */,
-  128 /* Property mkdir */,
-  47 /* Property file_exists */,
-  48 /* Property file_stat */,
-  49 /* Property file_mkdir */,
+  62 /* Color of Stderr */,
+  63 /* Property init */,
+  125 /* Property file_exists */,
+  126 /* Property file_stat */,
+  127 /* Property strip_extension */,
+  128 /* Property basename */,
+  129 /* Property dirname */,
+  130 /* Property file_path */,
+  131 /* Property mkdir */,
+  48 /* Property file_exists */,
+  49 /* Property file_stat */,
+  50 /* Property file_mkdir */,
   -29 /* Id of FileStat */,
   3 /* Color of FileStat */,
   41 /* Color of FileStat */,
@@ -4766,36 +6918,37 @@ const int SFT_file[73] = {
   45 /* Property native_stderr */,
 };
 const char *LOCATE_stream = "./../lib/standard//stream.nit";
-const int SFT_stream[52] = {
+const int SFT_stream[53] = {
   135 /* Id of IOS */,
   3 /* Color of IOS */,
   51 /* Color of IOS */,
   52 /* Property close */,
+  53 /* Property init */,
   2611 /* Id of IStream */,
   5 /* Color of IStream */,
-  56 /* Color of IStream */,
-  57 /* Property read_char */,
-  58 /* Property read */,
-  59 /* Property read_line */,
-  60 /* Property read_all */,
-  61 /* Property append_line_to */,
-  62 /* Property eof */,
+  57 /* Color of IStream */,
+  58 /* Property read_char */,
+  59 /* Property read */,
+  60 /* Property read_line */,
+  61 /* Property read_all */,
+  62 /* Property append_line_to */,
+  63 /* Property eof */,
   2535 /* Id of OStream */,
   4 /* Color of OStream */,
-  53 /* Color of OStream */,
-  54 /* Property write */,
-  55 /* Property is_writable */,
+  54 /* Color of OStream */,
+  55 /* Property write */,
+  56 /* Property is_writable */,
   3235 /* Id of BufferedIStream */,
   4 /* Color of BufferedIStream */,
   3 /* Property _buffer */,
   4 /* Property _buffer_pos */,
-  63 /* Color of BufferedIStream */,
-  64 /* Property fill_buffer */,
-  65 /* Property end_reached */,
-  66 /* Property prepare_buffer */,
+  64 /* Color of BufferedIStream */,
+  65 /* Property fill_buffer */,
+  66 /* Property end_reached */,
+  67 /* Property prepare_buffer */,
   3191 /* Id of IOStream */,
   8 /* Color of IOStream */,
-  69 /* Color of IOStream */,
+  70 /* Color of IOStream */,
   2639 /* Id of FDStream */,
   2 /* Color of FDStream */,
   1 /* Property _fd */,
@@ -4817,30 +6970,31 @@ const int SFT_stream[52] = {
   47 /* Property init */,
   3315 /* Id of FDIOStream */,
   9 /* Color of FDIOStream */,
-  63 /* Color of FDIOStream */,
-  64 /* Property init */,
+  64 /* Color of FDIOStream */,
+  65 /* Property init */,
 };
 const char *LOCATE_string_search = "./../lib/standard//string_search.nit";
-const int SFT_string_search[35] = {
+const int SFT_string_search[36] = {
   51 /* Id of Pattern */,
   3 /* Color of Pattern */,
-  42 /* Color of Pattern */,
-  43 /* Property search_index_in */,
-  44 /* Property search_in */,
-  45 /* Property search_all_in */,
-  46 /* Property split_in */,
+  43 /* Color of Pattern */,
+  44 /* Property search_index_in */,
+  45 /* Property search_in */,
+  46 /* Property search_all_in */,
+  47 /* Property split_in */,
+  48 /* Property init */,
   2671 /* Id of BM_Pattern */,
   4 /* Color of BM_Pattern */,
   1 /* Property _motif */,
   2 /* Property _length */,
   3 /* Property _gs */,
   4 /* Property _bc_table */,
-  47 /* Color of BM_Pattern */,
-  48 /* Property init */,
-  49 /* Property bc */,
-  50 /* Property compute_bc */,
-  51 /* Property suffixes */,
-  52 /* Property compute_gs */,
+  49 /* Color of BM_Pattern */,
+  50 /* Property init */,
+  51 /* Property bc */,
+  52 /* Property compute_bc */,
+  53 /* Property suffixes */,
+  54 /* Property compute_gs */,
   83 /* Id of Match */,
   2 /* Color of Match */,
   1 /* Property _string */,
@@ -4852,11 +7006,11 @@ const int SFT_string_search[35] = {
   43 /* Property length */,
   44 /* Property after */,
   45 /* Property init */,
-  129 /* Property search */,
-  130 /* Property search_from */,
-  131 /* Property search_all */,
-  132 /* Property split_with */,
-  133 /* Property split */,
+  132 /* Property search */,
+  133 /* Property search_from */,
+  134 /* Property search_all */,
+  135 /* Property split_with */,
+  136 /* Property split */,
 };
 const char *LOCATE_exec = "./../lib/standard//exec.nit";
 const int SFT_exec[44] = {
@@ -4877,22 +7031,22 @@ const int SFT_exec[44] = {
   3187 /* Id of IProcess */,
   7 /* Color of IProcess */,
   3 /* Property _in */,
-  66 /* Color of IProcess */,
-  67 /* Property init */,
-  68 /* Property init_ */,
+  67 /* Color of IProcess */,
+  68 /* Property init */,
+  69 /* Property init_ */,
   3135 /* Id of OProcess */,
   6 /* Color of OProcess */,
   2 /* Property _out */,
-  63 /* Color of OProcess */,
-  64 /* Property init */,
-  65 /* Property init_ */,
+  64 /* Color of OProcess */,
+  65 /* Property init */,
+  66 /* Property init_ */,
   3307 /* Id of IOProcess */,
   9 /* Color of IOProcess */,
-  70 /* Color of IOProcess */,
-  71 /* Property init */,
-  72 /* Property init_ */,
+  71 /* Color of IOProcess */,
+  72 /* Property init */,
+  73 /* Property init_ */,
   40 /* Property system */,
-  50 /* Property system */,
+  51 /* Property system */,
   -21 /* Id of NativeProcess */,
   3 /* Color of NativeProcess */,
   41 /* Color of NativeProcess */,
@@ -4907,18 +7061,18 @@ const int SFT_exec[44] = {
 };
 const char *LOCATE_list = "./../lib/standard//list.nit";
 const int SFT_list[28] = {
-  3631 /* Id of List */,
+  3635 /* Id of List */,
   10 /* Color of List */,
   1 /* Property _head */,
   2 /* Property _tail */,
-  90 /* Color of List */,
-  91 /* Property link */,
-  92 /* Property init */,
-  93 /* Property from */,
-  94 /* Property get_node */,
-  95 /* Property search_node_after */,
-  96 /* Property remove_node */,
-  97 /* Property insert_before */,
+  92 /* Color of List */,
+  93 /* Property link */,
+  94 /* Property init */,
+  95 /* Property from */,
+  96 /* Property get_node */,
+  97 /* Property search_node_after */,
+  98 /* Property remove_node */,
+  99 /* Property insert_before */,
   3299 /* Id of ListIterator */,
   5 /* Color of ListIterator */,
   1 /* Property _node */,
@@ -4929,12 +7083,12 @@ const int SFT_list[28] = {
   7 /* Color of ListNode */,
   2 /* Property _next */,
   3 /* Property _prev */,
-  70 /* Color of ListNode */,
-  71 /* Property init */,
-  72 /* Property next */,
-  73 /* Property next= */,
-  74 /* Property prev */,
-  75 /* Property prev= */,
+  72 /* Color of ListNode */,
+  73 /* Property init */,
+  74 /* Property next */,
+  75 /* Property next= */,
+  76 /* Property prev */,
+  77 /* Property prev= */,
 };
 const char *LOCATE_range = "./../lib/standard//range.nit";
 const int SFT_range[16] = {
@@ -4943,11 +7097,11 @@ const int SFT_range[16] = {
   1 /* Property _first */,
   2 /* Property _last */,
   3 /* Property _after */,
-  66 /* Color of Range */,
-  67 /* Property last */,
-  68 /* Property after */,
-  69 /* Property init */,
-  70 /* Property without_last */,
+  68 /* Color of Range */,
+  69 /* Property last */,
+  70 /* Property after */,
+  71 /* Property init */,
+  72 /* Property without_last */,
   2607 /* Id of IteratorRange */,
   3 /* Color of IteratorRange */,
   1 /* Property _range */,
@@ -4957,7 +7111,7 @@ const int SFT_range[16] = {
 };
 const char *LOCATE_math = "./../lib/standard//math.nit";
 const int SFT_math[16] = {
-  76 /* Property rand */,
+  78 /* Property rand */,
   52 /* Property sqrt */,
   53 /* Property cos */,
   54 /* Property sin */,
@@ -4975,7 +7129,7 @@ const int SFT_math[16] = {
   39 /* Property srand */,
 };
 const char *LOCATE_parser_tables = "./parser//parser_tables.nit";
-const int SFT_parser_tables[1174] = {
+const int SFT_parser_tables[1175] = {
   59 /* Id of ParserTable */,
   2 /* Color of ParserTable */,
   1 /* Property _action_table */,
@@ -6150,9 +8304,10 @@ const int SFT_parser_tables[1174] = {
   1207 /* Property build_goto_table */,
   1208 /* Property error_messages */,
   1209 /* Property errors */,
+  1210 /* Property init */,
 };
 const char *LOCATE_mmloader = "./mmloader.nit";
-const int SFT_mmloader[52] = {
+const int SFT_mmloader[53] = {
   179 /* Id of ToolContext */,
   3 /* Color of ToolContext */,
   14 /* Property _error_count */,
@@ -6198,6 +8353,7 @@ const int SFT_mmloader[52] = {
   45 /* Property load_module */,
   46 /* Property parse_file */,
   47 /* Property process_metamodel */,
+  48 /* Property init */,
   1 /* Property _filename */,
   2 /* Property _mtime */,
   41 /* Property filename */,
@@ -6230,23 +8386,23 @@ const int SFT_genericity[29] = {
   3155 /* Id of MMTypeGeneric */,
   4 /* Color of MMTypeGeneric */,
   2 /* Property _params */,
-  59 /* Color of MMTypeGeneric */,
-  60 /* Property params */,
-  61 /* Property upcast_for */,
-  62 /* Property params_equals */,
-  63 /* Property to_s */,
-  64 /* Property is_subtype */,
-  65 /* Property init */,
+  60 /* Color of MMTypeGeneric */,
+  61 /* Property params */,
+  62 /* Property upcast_for */,
+  63 /* Property params_equals */,
+  64 /* Property to_s */,
+  65 /* Property is_subtype */,
+  66 /* Property init */,
   3159 /* Id of MMTypeFormalParameter */,
   4 /* Color of MMTypeFormalParameter */,
   3 /* Property _def_class */,
   4 /* Property _position */,
-  61 /* Color of MMTypeFormalParameter */,
-  62 /* Property def_class */,
-  63 /* Property position */,
-  64 /* Property bound= */,
-  65 /* Property with_bound */,
-  66 /* Property init */,
+  62 /* Color of MMTypeFormalParameter */,
+  63 /* Property def_class */,
+  64 /* Property position */,
+  65 /* Property bound= */,
+  66 /* Property with_bound */,
+  67 /* Property init */,
 };
 const char *LOCATE_type_formal = "./metamodel//type_formal.nit";
 const int SFT_type_formal[9] = {
@@ -6255,13 +8411,13 @@ const int SFT_type_formal[9] = {
   3 /* Color of MMTypeFormal */,
   1 /* Property _name */,
   2 /* Property _bound */,
-  57 /* Color of MMTypeFormal */,
-  58 /* Property name */,
-  59 /* Property bound */,
-  60 /* Property init */,
+  58 /* Color of MMTypeFormal */,
+  59 /* Property name */,
+  60 /* Property bound */,
+  61 /* Property init */,
 };
 const char *LOCATE_inheritance = "./metamodel//inheritance.nit";
-const int SFT_inheritance[40] = {
+const int SFT_inheritance[41] = {
   46 /* Property type_any */,
   47 /* Property import_global_classes */,
   48 /* Property import_local_classes */,
@@ -6270,52 +8426,53 @@ const int SFT_inheritance[40] = {
   49 /* Property compute_super_classes */,
   50 /* Property compute_ancestors */,
   51 /* Property inherit_global_properties */,
-  52 /* Property add_direct_parent */,
-  53 /* Property computed_super_classes */,
-  54 /* Property computed_ancestors */,
-  55 /* Property ancestor_for */,
-  56 /* Property [] */,
-  57 /* Property add_default_any_class */,
-  58 /* Property add_super_classes */,
-  59 /* Property add_explicit_classes */,
-  60 /* Property compute_super_parents */,
-  61 /* Property build_ancestors */,
-  62 /* Property group_ancestors */,
-  63 /* Property merge_ancestors */,
-  64 /* Property inherit_local_property */,
-  45 /* Property inherit_global */,
+  52 /* Property make_visible_an_inherited_global_property */,
+  53 /* Property add_direct_parent */,
+  54 /* Property computed_super_classes */,
+  55 /* Property computed_ancestors */,
+  56 /* Property ancestor_for */,
+  57 /* Property [] */,
+  58 /* Property add_default_any_class */,
+  59 /* Property add_super_classes */,
+  60 /* Property add_explicit_classes */,
+  61 /* Property compute_super_parents */,
+  62 /* Property build_ancestors */,
+  63 /* Property group_ancestors */,
+  64 /* Property merge_ancestors */,
+  65 /* Property inherit_local_property */,
+  46 /* Property inherit_global */,
   40 /* Property add_in */,
   2587 /* Id of MMImplicitLocalClass */,
   3 /* Color of MMImplicitLocalClass */,
-  104 /* Color of MMImplicitLocalClass */,
-  105 /* Property init */,
+  105 /* Color of MMImplicitLocalClass */,
+  106 /* Property init */,
   2579 /* Id of MMRefineAncestor */,
   3 /* Color of MMRefineAncestor */,
   3 /* Property _local_class */,
-  49 /* Color of MMRefineAncestor */,
-  50 /* Property init */,
+  50 /* Color of MMRefineAncestor */,
+  51 /* Property init */,
   2575 /* Id of MMSpecAncestor */,
   3 /* Color of MMSpecAncestor */,
-  49 /* Color of MMSpecAncestor */,
-  50 /* Property init */,
+  50 /* Color of MMSpecAncestor */,
+  51 /* Property init */,
   2591 /* Id of MMDefaultAncestor */,
   3 /* Color of MMDefaultAncestor */,
-  49 /* Color of MMDefaultAncestor */,
-  50 /* Property init */,
+  50 /* Color of MMDefaultAncestor */,
+  51 /* Property init */,
 };
 const char *LOCATE_static_type = "./metamodel//static_type.nit";
-const int SFT_static_type[63] = {
+const int SFT_static_type[65] = {
   5 /* Property _base_type_cache */,
   6 /* Property _ancestors */,
-  65 /* Property get_type */,
-  66 /* Property add_ancestor */,
-  67 /* Property ancestors */,
-  68 /* Property ancestor */,
+  66 /* Property get_type */,
+  67 /* Property add_ancestor */,
+  68 /* Property ancestors */,
+  69 /* Property ancestor */,
   2 /* Property _signature */,
   3 /* Property _signatures_cache */,
-  46 /* Property signature */,
-  47 /* Property signature= */,
-  48 /* Property signature_for */,
+  47 /* Property signature */,
+  48 /* Property signature= */,
+  49 /* Property signature_for */,
   91 /* Id of MMSignature */,
   2 /* Color of MMSignature */,
   2 /* Property _recv */,
@@ -6341,6 +8498,7 @@ const int SFT_static_type[63] = {
   46 /* Property is_reffinement */,
   47 /* Property is_specialisation */,
   48 /* Property local_class */,
+  49 /* Property init */,
   87 /* Id of MMType */,
   2 /* Color of MMType */,
   48 /* Color of MMType */,
@@ -6352,20 +8510,21 @@ const int SFT_static_type[63] = {
   54 /* Property adapt_to */,
   55 /* Property upcast_for */,
   56 /* Property not_for_self */,
+  57 /* Property init */,
   2563 /* Id of MMTypeClass */,
   3 /* Color of MMTypeClass */,
   1 /* Property _local_class */,
-  57 /* Color of MMTypeClass */,
-  58 /* Property init */,
+  58 /* Color of MMTypeClass */,
+  59 /* Property init */,
   3151 /* Id of MMTypeSimpleClass */,
   4 /* Color of MMTypeSimpleClass */,
-  59 /* Color of MMTypeSimpleClass */,
-  60 /* Property init */,
+  60 /* Color of MMTypeSimpleClass */,
+  61 /* Property init */,
   2555 /* Id of MMTypeNone */,
   3 /* Color of MMTypeNone */,
   1 /* Property _module */,
-  57 /* Color of MMTypeNone */,
-  58 /* Property init */,
+  58 /* Color of MMTypeNone */,
+  59 /* Property init */,
   3 /* Property _type_none */,
   49 /* Property type_none */,
 };
@@ -6476,34 +8635,34 @@ const int SFT_abstractmetamodel[179] = {
   15 /* Property _local_property_by_global */,
   16 /* Property _global_properties */,
   17 /* Property _properties_by_name */,
-  69 /* Color of MMLocalClass */,
-  70 /* Property name */,
-  71 /* Property arity */,
-  72 /* Property module */,
-  73 /* Property abstract */,
-  74 /* Property abstract= */,
-  75 /* Property global */,
-  76 /* Property crhe */,
-  77 /* Property cshe */,
-  78 /* Property che */,
-  79 /* Property local_property_by_global */,
-  80 /* Property global_properties */,
-  81 /* Property properties_by_name */,
-  82 /* Property init */,
-  83 /* Property for_module */,
-  84 /* Property new_global */,
-  85 /* Property set_global */,
-  86 /* Property has_global_property_by_name */,
-  87 /* Property get_property_by_name */,
-  88 /* Property attribute */,
-  89 /* Property method */,
-  90 /* Property select_method */,
-  91 /* Property select_attribute */,
-  92 /* Property super_methods_named */,
-  93 /* Property register_local_property */,
-  94 /* Property register_global_property */,
-  95 /* Property [] */,
-  96 /* Property context */,
+  70 /* Color of MMLocalClass */,
+  71 /* Property name */,
+  72 /* Property arity */,
+  73 /* Property module */,
+  74 /* Property abstract */,
+  75 /* Property abstract= */,
+  76 /* Property global */,
+  77 /* Property crhe */,
+  78 /* Property cshe */,
+  79 /* Property che */,
+  80 /* Property local_property_by_global */,
+  81 /* Property global_properties */,
+  82 /* Property properties_by_name */,
+  83 /* Property init */,
+  84 /* Property for_module */,
+  85 /* Property new_global */,
+  86 /* Property set_global */,
+  87 /* Property has_global_property_by_name */,
+  88 /* Property get_property_by_name */,
+  89 /* Property attribute */,
+  90 /* Property method */,
+  91 /* Property select_method */,
+  92 /* Property select_attribute */,
+  93 /* Property super_methods_named */,
+  94 /* Property register_local_property */,
+  95 /* Property register_global_property */,
+  96 /* Property [] */,
+  97 /* Property context */,
   107 /* Id of MMGlobalProperty */,
   2 /* Color of MMGlobalProperty */,
   2 /* Property _intro */,
@@ -6529,27 +8688,27 @@ const int SFT_abstractmetamodel[179] = {
   6 /* Property _global */,
   7 /* Property _prhe */,
   8 /* Property _need_super */,
-  49 /* Color of MMLocalProperty */,
-  50 /* Property name */,
-  51 /* Property local_class */,
-  52 /* Property global */,
-  53 /* Property prhe */,
-  54 /* Property module */,
-  55 /* Property full_name */,
-  56 /* Property set_global */,
-  57 /* Property new_global */,
-  58 /* Property need_super */,
-  59 /* Property need_super= */,
-  60 /* Property init */,
+  50 /* Color of MMLocalProperty */,
+  51 /* Property name */,
+  52 /* Property local_class */,
+  53 /* Property global */,
+  54 /* Property prhe */,
+  55 /* Property module */,
+  56 /* Property full_name */,
+  57 /* Property set_global */,
+  58 /* Property new_global */,
+  59 /* Property need_super */,
+  60 /* Property need_super= */,
+  61 /* Property init */,
   2599 /* Id of MMAttribute */,
   3 /* Color of MMAttribute */,
-  62 /* Color of MMAttribute */,
+  63 /* Color of MMAttribute */,
   2583 /* Id of MMMethod */,
   3 /* Color of MMMethod */,
-  64 /* Color of MMMethod */,
+  65 /* Color of MMMethod */,
   2595 /* Id of MMConcreteClass */,
   3 /* Color of MMConcreteClass */,
-  104 /* Color of MMConcreteClass */,
+  105 /* Color of MMConcreteClass */,
 };
 const char *LOCATE_partial_order = "./metamodel//partial_order.nit";
 const int SFT_partial_order[49] = {
@@ -6558,20 +8717,20 @@ const int SFT_partial_order[49] = {
   1 /* Property _elements */,
   2 /* Property _elements_list */,
   3 /* Property _roots */,
-  66 /* Color of PartialOrder */,
-  67 /* Property roots */,
-  68 /* Property [] */,
-  69 /* Property to_dot */,
-  70 /* Property to_dot_header */,
-  71 /* Property to_dot_node */,
-  72 /* Property to_dot_edge */,
-  73 /* Property select_smallests */,
-  74 /* Property add */,
-  75 /* Property has_all */,
-  76 /* Property new_poe */,
-  77 /* Property add_to_smallests */,
-  78 /* Property compute_smallers_for */,
-  79 /* Property init */,
+  68 /* Color of PartialOrder */,
+  69 /* Property roots */,
+  70 /* Property [] */,
+  71 /* Property to_dot */,
+  72 /* Property to_dot_header */,
+  73 /* Property to_dot_node */,
+  74 /* Property to_dot_edge */,
+  75 /* Property select_smallests */,
+  76 /* Property add */,
+  77 /* Property has_all */,
+  78 /* Property new_poe */,
+  79 /* Property add_to_smallests */,
+  80 /* Property compute_smallers_for */,
+  81 /* Property init */,
   55 /* Id of PartialOrderElement */,
   2 /* Color of PartialOrderElement */,
   1 /* Property _order */,
@@ -6609,19 +8768,19 @@ const int SFT_virtualtype[17] = {
   2551 /* Id of MMTypeProperty */,
   3 /* Color of MMTypeProperty */,
   9 /* Property _stypes_cache */,
-  61 /* Color of MMTypeProperty */,
-  62 /* Property stype_for */,
-  63 /* Property real_stype_for */,
+  62 /* Color of MMTypeProperty */,
+  63 /* Property stype_for */,
+  64 /* Property real_stype_for */,
   3147 /* Id of MMVirtualType */,
   4 /* Color of MMVirtualType */,
   3 /* Property _property */,
   4 /* Property _recv */,
-  61 /* Color of MMVirtualType */,
-  62 /* Property property */,
-  63 /* Property recv */,
-  64 /* Property init */,
-  97 /* Property virtual_type */,
-  98 /* Property select_virtual_type */,
+  62 /* Color of MMVirtualType */,
+  63 /* Property property */,
+  64 /* Property recv */,
+  65 /* Property init */,
+  98 /* Property virtual_type */,
+  99 /* Property select_virtual_type */,
 };
 const char *LOCATE_opts = "./../lib/opts.nit";
 const int SFT_opts[69] = {
@@ -6702,14 +8861,14 @@ const int SFT_control_flow[59] = {
   4 /* Color of ControlFlowVisitor */,
   5 /* Property _once_count */,
   6 /* Property _control_flow_ctx */,
-  64 /* Color of ControlFlowVisitor */,
-  65 /* Property once_count */,
-  66 /* Property once_count= */,
-  67 /* Property control_flow_ctx */,
-  68 /* Property control_flow_ctx= */,
-  69 /* Property check_is_set */,
-  70 /* Property mark_is_set */,
-  71 /* Property init */,
+  66 /* Color of ControlFlowVisitor */,
+  67 /* Property once_count */,
+  68 /* Property once_count= */,
+  69 /* Property control_flow_ctx */,
+  70 /* Property control_flow_ctx= */,
+  71 /* Property check_is_set */,
+  72 /* Property mark_is_set */,
+  73 /* Property init */,
   147 /* Id of ControlFlowContext */,
   2 /* Color of ControlFlowContext */,
   1 /* Property _prev */,
@@ -6733,29 +8892,29 @@ const int SFT_control_flow[59] = {
   52 /* Property sub */,
   53 /* Property init */,
   54 /* Property with */,
-  58 /* Property accept_control_flow */,
-  91 /* Property accept_control_flow */,
-  93 /* Property accept_control_flow */,
-  78 /* Property accept_control_flow */,
-  76 /* Property accept_control_flow */,
-  76 /* Property accept_control_flow */,
+  59 /* Property accept_control_flow */,
+  92 /* Property accept_control_flow */,
+  94 /* Property accept_control_flow */,
+  79 /* Property accept_control_flow */,
+  77 /* Property accept_control_flow */,
+  77 /* Property accept_control_flow */,
   3575 /* Id of ABlockControler */,
   5 /* Color of ABlockControler */,
   6 /* Property _block */,
-  76 /* Color of ABlockControler */,
-  77 /* Property block */,
-  78 /* Property accept_control_flow */,
-  78 /* Property accept_control_flow */,
-  76 /* Property accept_control_flow */,
+  77 /* Color of ABlockControler */,
+  78 /* Property block */,
+  79 /* Property accept_control_flow */,
+  79 /* Property accept_control_flow */,
+  77 /* Property accept_control_flow */,
   3543 /* Id of AControlableBlock */,
   5 /* Color of AControlableBlock */,
-  77 /* Color of AControlableBlock */,
-  78 /* Property accept_control_flow */,
-  76 /* Property accept_control_flow */,
-  81 /* Property accept_control_flow */,
-  86 /* Property accept_control_flow */,
-  88 /* Property accept_control_flow */,
+  78 /* Color of AControlableBlock */,
   79 /* Property accept_control_flow */,
+  77 /* Property accept_control_flow */,
+  82 /* Property accept_control_flow */,
+  87 /* Property accept_control_flow */,
+  89 /* Property accept_control_flow */,
+  80 /* Property accept_control_flow */,
 };
 const char *LOCATE_typing = "./syntax//typing.nit";
 const int SFT_typing[94] = {
@@ -6767,19 +8926,19 @@ const int SFT_typing[94] = {
   7 /* Property _top_block */,
   8 /* Property _explicit_super_init_calls */,
   9 /* Property _explicit_other_init_call */,
-  64 /* Color of TypingVisitor */,
-  65 /* Property variable_ctx */,
-  66 /* Property variable_ctx= */,
-  67 /* Property self_type */,
-  68 /* Property self_type= */,
-  69 /* Property top_block */,
-  70 /* Property top_block= */,
-  71 /* Property explicit_super_init_calls */,
-  72 /* Property explicit_super_init_calls= */,
-  73 /* Property explicit_other_init_call */,
-  74 /* Property explicit_other_init_call= */,
-  75 /* Property init */,
-  76 /* Property get_default_constructor_for */,
+  66 /* Color of TypingVisitor */,
+  67 /* Property variable_ctx */,
+  68 /* Property variable_ctx= */,
+  69 /* Property self_type */,
+  70 /* Property self_type= */,
+  71 /* Property top_block */,
+  72 /* Property top_block= */,
+  73 /* Property explicit_super_init_calls */,
+  74 /* Property explicit_super_init_calls= */,
+  75 /* Property explicit_other_init_call */,
+  76 /* Property explicit_other_init_call= */,
+  77 /* Property init */,
+  78 /* Property get_default_constructor_for */,
   11 /* Id of VariableContext */,
   2 /* Color of VariableContext */,
   1 /* Property _dico */,
@@ -6798,61 +8957,61 @@ const int SFT_typing[94] = {
   47 /* Color of SubVariableContext */,
   48 /* Property prev */,
   49 /* Property with */,
-  59 /* Property accept_typing */,
-  60 /* Property after_typing */,
-  74 /* Property accept_typing */,
-  99 /* Property accept_typing */,
-  92 /* Property accept_typing */,
+  60 /* Property accept_typing */,
+  61 /* Property after_typing */,
+  75 /* Property accept_typing */,
+  100 /* Property accept_typing */,
+  93 /* Property accept_typing */,
   13 /* Property _super_init_calls */,
   14 /* Property _explicit_super_init_calls */,
-  101 /* Property super_init_calls */,
-  102 /* Property explicit_super_init_calls */,
-  103 /* Property accept_typing */,
+  102 /* Property super_init_calls */,
+  103 /* Property explicit_super_init_calls */,
+  104 /* Property accept_typing */,
   4 /* Property _stype */,
-  73 /* Property stype */,
+  74 /* Property stype */,
   4 /* Property _stype */,
   5 /* Property _if_true_variable_ctx */,
-  72 /* Property is_implicit_self */,
-  73 /* Property is_self */,
-  74 /* Property is_variable */,
-  75 /* Property if_true_variable_ctx */,
-  81 /* Property accept_typing */,
+  73 /* Property is_implicit_self */,
+  74 /* Property is_self */,
+  75 /* Property is_variable */,
+  76 /* Property if_true_variable_ctx */,
+  82 /* Property accept_typing */,
   8 /* Property _assign_method */,
-  81 /* Property do_lvalue_typing */,
-  82 /* Property assign_method */,
-  67 /* Property method_name */,
-  76 /* Property stype= */,
+  82 /* Property do_lvalue_typing */,
+  83 /* Property assign_method */,
+  68 /* Property method_name */,
+  77 /* Property stype= */,
   8 /* Property _init_in_superclass */,
-  94 /* Property init_in_superclass */,
+  95 /* Property init_in_superclass */,
   11 /* Property _prop */,
   12 /* Property _attr_type */,
-  88 /* Property prop */,
-  89 /* Property attr_type */,
-  90 /* Property do_typing */,
+  89 /* Property prop */,
+  90 /* Property attr_type */,
+  91 /* Property do_typing */,
   3611 /* Id of AAbsSendExpr */,
   5 /* Color of AAbsSendExpr */,
   6 /* Property _prop */,
   7 /* Property _arguments */,
-  88 /* Color of AAbsSendExpr */,
-  89 /* Property do_typing */,
-  90 /* Property get_property */,
-  91 /* Property process_signature */,
-  92 /* Property prop */,
-  93 /* Property arguments */,
-  3675 /* Id of ASuperInitCall */,
+  89 /* Color of AAbsSendExpr */,
+  90 /* Property do_typing */,
+  91 /* Property get_property */,
+  92 /* Property process_signature */,
+  93 /* Property prop */,
+  94 /* Property arguments */,
+  3679 /* Id of ASuperInitCall */,
   7 /* Color of ASuperInitCall */,
-  76 /* Color of ASuperInitCall */,
-  77 /* Property register_super_init_call */,
-  94 /* Property name */,
-  95 /* Property raw_arguments */,
-  96 /* Property do_all_typing */,
-  3811 /* Id of ASendReassignExpr */,
+  77 /* Color of ASuperInitCall */,
+  78 /* Property register_super_init_call */,
+  95 /* Property name */,
+  96 /* Property raw_arguments */,
+  97 /* Property do_all_typing */,
+  3815 /* Id of ASendReassignExpr */,
   9 /* Color of ASendReassignExpr */,
   12 /* Property _read_prop */,
-  78 /* Color of ASendReassignExpr */,
-  79 /* Property read_prop */,
-  102 /* Property after_typing */,
-  103 /* Property variable_create */,
+  79 /* Color of ASendReassignExpr */,
+  80 /* Property read_prop */,
+  103 /* Property after_typing */,
+  104 /* Property variable_create */,
 };
 const char *LOCATE_compiling = "./compiling//compiling.nit";
 const int SFT_compiling[3] = {
@@ -6861,7 +9020,7 @@ const int SFT_compiling[3] = {
   72 /* Property compile_separate_module */,
 };
 const char *LOCATE_compiling_global = "./compiling//compiling_global.nit";
-const int SFT_compiling_global[140] = {
+const int SFT_compiling_global[142] = {
   159 /* Id of ColorContext */,
   2 /* Color of ColorContext */,
   1 /* Property _colors */,
@@ -6869,17 +9028,18 @@ const int SFT_compiling_global[140] = {
   41 /* Property color */,
   42 /* Property has_color */,
   43 /* Property color= */,
+  44 /* Property init */,
   2631 /* Id of GlobalAnalysis */,
   3 /* Color of GlobalAnalysis */,
   2 /* Property _compiled_classes */,
   3 /* Property _module */,
   4 /* Property _max_class_table_length */,
-  44 /* Color of GlobalAnalysis */,
-  45 /* Property compiled_classes */,
-  46 /* Property module */,
-  47 /* Property max_class_table_length */,
-  48 /* Property max_class_table_length= */,
-  49 /* Property init */,
+  45 /* Color of GlobalAnalysis */,
+  46 /* Property compiled_classes */,
+  47 /* Property module */,
+  48 /* Property max_class_table_length */,
+  49 /* Property max_class_table_length= */,
+  50 /* Property init */,
   1 /* Property _global_analysis */,
   40 /* Property global_analysis */,
   41 /* Property global_analysis= */,
@@ -6891,19 +9051,19 @@ const int SFT_compiling_global[140] = {
   5 /* Property _instance_table */,
   6 /* Property _class_layout */,
   7 /* Property _instance_layout */,
-  44 /* Color of CompiledClass */,
-  45 /* Property local_class */,
-  46 /* Property id */,
-  47 /* Property id= */,
-  48 /* Property class_table */,
-  49 /* Property class_table= */,
-  50 /* Property instance_table */,
-  51 /* Property instance_table= */,
-  52 /* Property class_layout */,
-  53 /* Property class_layout= */,
-  54 /* Property instance_layout */,
-  55 /* Property instance_layout= */,
-  56 /* Property init */,
+  45 /* Color of CompiledClass */,
+  46 /* Property local_class */,
+  47 /* Property id */,
+  48 /* Property id= */,
+  49 /* Property class_table */,
+  50 /* Property class_table= */,
+  51 /* Property instance_table */,
+  52 /* Property instance_table= */,
+  53 /* Property class_layout */,
+  54 /* Property class_layout= */,
+  55 /* Property instance_layout */,
+  56 /* Property instance_layout= */,
+  57 /* Property init */,
   1 /* Property _pos_of */,
   40 /* Property pos_of */,
   41 /* Property pos_of= */,
@@ -6911,11 +9071,11 @@ const int SFT_compiling_global[140] = {
   21 /* Property _class_color_pos */,
   22 /* Property _class_layout */,
   23 /* Property _instance_layout */,
-  105 /* Property base_attr_pos */,
-  106 /* Property class_color_pos */,
-  107 /* Property class_layout */,
-  108 /* Property instance_layout */,
-  109 /* Property build_layout_in */,
+  106 /* Property base_attr_pos */,
+  107 /* Property class_color_pos */,
+  108 /* Property class_layout */,
+  109 /* Property instance_layout */,
+  110 /* Property build_layout_in */,
   18 /* Property _local_table */,
   73 /* Property local_analysis */,
   74 /* Property global_analysis */,
@@ -6935,73 +9095,74 @@ const int SFT_compiling_global[140] = {
   42 /* Property length */,
   43 /* Property item */,
   44 /* Property compile_to_c */,
+  45 /* Property init */,
   2603 /* Id of LocalTableElt */,
   3 /* Color of LocalTableElt */,
-  45 /* Color of LocalTableElt */,
-  46 /* Property symbol */,
-  47 /* Property value */,
+  46 /* Color of LocalTableElt */,
+  47 /* Property symbol */,
+  48 /* Property value */,
   2687 /* Id of TableEltPropPos */,
   4 /* Color of TableEltPropPos */,
   1 /* Property _property */,
-  48 /* Color of TableEltPropPos */,
-  49 /* Property init */,
+  49 /* Color of TableEltPropPos */,
+  50 /* Property init */,
   3247 /* Id of TableEltMethPos */,
   5 /* Color of TableEltMethPos */,
-  50 /* Color of TableEltMethPos */,
-  51 /* Property init */,
+  51 /* Color of TableEltMethPos */,
+  52 /* Property init */,
   3243 /* Id of TableEltSuperPos */,
   5 /* Color of TableEltSuperPos */,
-  50 /* Color of TableEltSuperPos */,
-  51 /* Property init */,
+  51 /* Color of TableEltSuperPos */,
+  52 /* Property init */,
   3263 /* Id of TableEltAttrPos */,
   5 /* Color of TableEltAttrPos */,
-  50 /* Color of TableEltAttrPos */,
-  51 /* Property init */,
+  51 /* Color of TableEltAttrPos */,
+  52 /* Property init */,
   2691 /* Id of TableEltClassPos */,
   4 /* Color of TableEltClassPos */,
   1 /* Property _local_class */,
-  48 /* Color of TableEltClassPos */,
-  49 /* Property init */,
+  49 /* Color of TableEltClassPos */,
+  50 /* Property init */,
   3255 /* Id of TableEltClassIdPos */,
   5 /* Color of TableEltClassIdPos */,
-  50 /* Color of TableEltClassIdPos */,
-  51 /* Property init */,
+  51 /* Color of TableEltClassIdPos */,
+  52 /* Property init */,
   3251 /* Id of TableEltClassInitTablePos */,
   5 /* Color of TableEltClassInitTablePos */,
-  50 /* Color of TableEltClassInitTablePos */,
-  51 /* Property init */,
+  51 /* Color of TableEltClassInitTablePos */,
+  52 /* Property init */,
   3259 /* Id of TableEltClassColorPos */,
   5 /* Color of TableEltClassColorPos */,
-  50 /* Color of TableEltClassColorPos */,
-  51 /* Property init */,
+  51 /* Color of TableEltClassColorPos */,
+  52 /* Property init */,
   2695 /* Id of TableEltBaseAttrPos */,
   4 /* Color of TableEltBaseAttrPos */,
   1 /* Property _local_class */,
-  48 /* Color of TableEltBaseAttrPos */,
-  49 /* Property init */,
+  49 /* Color of TableEltBaseAttrPos */,
+  50 /* Property init */,
   191 /* Id of TableEltComposite */,
   3 /* Color of TableEltComposite */,
   1 /* Property _table */,
   2 /* Property _cc */,
   3 /* Property _offsets */,
-  45 /* Color of TableEltComposite */,
-  46 /* Property add */,
-  47 /* Property init */,
+  46 /* Color of TableEltComposite */,
+  47 /* Property add */,
+  48 /* Property init */,
   195 /* Id of TableEltClassSelfId */,
   3 /* Color of TableEltClassSelfId */,
-  45 /* Color of TableEltClassSelfId */,
-  46 /* Property init */,
+  46 /* Color of TableEltClassSelfId */,
+  47 /* Property init */,
   187 /* Id of TableEltVftPointer */,
   3 /* Color of TableEltVftPointer */,
-  45 /* Color of TableEltVftPointer */,
-  46 /* Property init */,
+  46 /* Color of TableEltVftPointer */,
+  47 /* Property init */,
   2663 /* Id of ClassSorter */,
   3 /* Color of ClassSorter */,
-  46 /* Color of ClassSorter */,
-  47 /* Property init */,
-  99 /* Property compare */,
-  100 /* Property declare_tables_to_c */,
-  101 /* Property compile_tables_to_c */,
+  47 /* Color of ClassSorter */,
+  48 /* Property init */,
+  100 /* Property compare */,
+  101 /* Property declare_tables_to_c */,
+  102 /* Property compile_tables_to_c */,
 };
 const char *LOCATE_compiling_methods = "./compiling//compiling_methods.nit";
 const int SFT_compiling_methods[55] = {
@@ -7041,25 +9202,25 @@ const int SFT_compiling_methods[55] = {
   65 /* Property printf_locate_error */,
   66 /* Property init */,
   67 /* Property invoke_super_init_calls_after */,
-  61 /* Property compile_call */,
-  62 /* Property compile_constructor_call */,
-  63 /* Property compile_super_call */,
-  61 /* Property compile_access */,
+  62 /* Property compile_call */,
+  63 /* Property compile_constructor_call */,
+  64 /* Property compile_super_call */,
+  62 /* Property compile_access */,
   40 /* Property compile_property_to_c */,
-  65 /* Property decl_csignature */,
-  66 /* Property do_compile_inside */,
+  66 /* Property decl_csignature */,
+  67 /* Property do_compile_inside */,
   40 /* Property compile_cast */,
   41 /* Property compile_type_check */,
-  74 /* Property do_compile_inside */,
-  67 /* Property compile_expr */,
-  68 /* Property prepare_compile_stmt */,
-  69 /* Property compile_stmt */,
-  76 /* Property compile_inside_block */,
+  75 /* Property do_compile_inside */,
+  68 /* Property compile_expr */,
+  69 /* Property prepare_compile_stmt */,
+  70 /* Property compile_stmt */,
+  77 /* Property compile_inside_block */,
   6 /* Property _cstring */,
   7 /* Property _cstring_length */,
-  76 /* Property string_text */,
-  77 /* Property compute_string_info */,
-  76 /* Property propname */,
+  77 /* Property string_text */,
+  78 /* Property compute_string_info */,
+  77 /* Property propname */,
 };
 const char *LOCATE_compiling_base = "./compiling//compiling_base.nit";
 const int SFT_compiling_base[88] = {
@@ -7129,8 +9290,8 @@ const int SFT_compiling_base[88] = {
   42 /* Property init_table_pos_id */,
   18 /* Property _primitive_info_cache */,
   19 /* Property _primitive_info_b */,
-  102 /* Property primitive_info */,
-  103 /* Property primitive_ctypes */,
+  103 /* Property primitive_info */,
+  104 /* Property primitive_ctypes */,
   47 /* Id of PrimitiveInfo */,
   2 /* Color of PrimitiveInfo */,
   1 /* Property _name */,
@@ -7382,141 +9543,159 @@ val_t NEW_NitCompiler(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 36);
   obj->vft = (classtable_elt_t*)VFT_NitCompiler;
-  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable0 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMModule]*/
   ATTR_abstractmetamodel___MMContext____module_hierarchy(obj) = variable0;
-  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable1 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
   ATTR_abstractmetamodel___MMContext____class_hierarchy(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMGlobalClass]*/
   ATTR_abstractmetamodel___MMContext____global_classes(obj) = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMModule]*/
   ATTR_abstractmetamodel___MMContext____modules(obj) = variable3;
   ATTR_mmloader___ToolContext____error_count(obj) = TAG_Int((bigint)0);
   ATTR_mmloader___ToolContext____warning_count(obj) = TAG_Int((bigint)0);
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[ModuleLoader]*/
   ATTR_mmloader___ToolContext____loaders(obj) = variable4;
-  variable5 = NEW_opts___OptionContext___init(); /*new OptionContext*/
+  variable5 = NEW_OptionContext_opts___OptionContext___init(); /*new OptionContext*/
   ATTR_mmloader___ToolContext____option_context(obj) = variable5;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("Show warnings"), TAG_Int(13)); /*new String*/
-  variable7 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString("-W"), TAG_Int(2)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("Show warnings"), TAG_Int(13)); /*new String*/
+  variable7 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("-W"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable8) /*AbstractArray::add*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("--warn"), TAG_Int(6)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("--warn"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable9) /*AbstractArray::add*/;
-  variable8 = NEW_opts___OptionBool___init(variable6, variable7); /*new OptionBool*/
+  variable8 = NEW_OptionBool_opts___OptionBool___init(variable6, variable7); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_warn(obj) = variable8;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("Set include path for loaders (may be used more than once)"), TAG_Int(57)); /*new String*/
-  variable10 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  variable11 = NEW_string___String___with_native(BOX_NativeString("-I"), TAG_Int(2)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("Set include path for loaders (may be used more than once)"), TAG_Int(57)); /*new String*/
+  variable10 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("-I"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable11) /*AbstractArray::add*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("--path"), TAG_Int(6)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("--path"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable12) /*AbstractArray::add*/;
-  variable11 = NEW_opts___OptionArray___init(variable9, variable10); /*new OptionArray*/
+  variable11 = NEW_OptionArray_opts___OptionArray___init(variable9, variable10); /*new OptionArray*/
   ATTR_mmloader___ToolContext____opt_path(obj) = variable11;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("Generate various log files"), TAG_Int(26)); /*new String*/
-  variable13 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable14 = NEW_string___String___with_native(BOX_NativeString("--log"), TAG_Int(5)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("Generate various log files"), TAG_Int(26)); /*new String*/
+  variable13 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable14 = NEW_String_string___String___with_native(BOX_NativeString("--log"), TAG_Int(5)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13, variable14) /*AbstractArray::add*/;
-  variable14 = NEW_opts___OptionBool___init(variable12, variable13); /*new OptionBool*/
+  variable14 = NEW_OptionBool_opts___OptionBool___init(variable12, variable13); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_log(obj) = variable14;
-  variable15 = NEW_string___String___with_native(BOX_NativeString("Stop after meta-model processing"), TAG_Int(32)); /*new String*/
-  variable16 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable17 = NEW_string___String___with_native(BOX_NativeString("--only-metamodel"), TAG_Int(16)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString("Stop after meta-model processing"), TAG_Int(32)); /*new String*/
+  variable16 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable17 = NEW_String_string___String___with_native(BOX_NativeString("--only-metamodel"), TAG_Int(16)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16, variable17) /*AbstractArray::add*/;
-  variable17 = NEW_opts___OptionBool___init(variable15, variable16); /*new OptionBool*/
+  variable17 = NEW_OptionBool_opts___OptionBool___init(variable15, variable16); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_only_metamodel(obj) = variable17;
-  variable18 = NEW_string___String___with_native(BOX_NativeString("Only proceed to parse step of loaders"), TAG_Int(37)); /*new String*/
-  variable19 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable20 = NEW_string___String___with_native(BOX_NativeString("--only-parse"), TAG_Int(12)); /*new String*/
+  variable18 = NEW_String_string___String___with_native(BOX_NativeString("Only proceed to parse step of loaders"), TAG_Int(37)); /*new String*/
+  variable19 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable20 = NEW_String_string___String___with_native(BOX_NativeString("--only-parse"), TAG_Int(12)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19, variable20) /*AbstractArray::add*/;
-  variable20 = NEW_opts___OptionBool___init(variable18, variable19); /*new OptionBool*/
+  variable20 = NEW_OptionBool_opts___OptionBool___init(variable18, variable19); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_only_parse(obj) = variable20;
-  variable21 = NEW_string___String___with_native(BOX_NativeString("Show Help (This screen)"), TAG_Int(23)); /*new String*/
-  variable22 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-  variable23 = NEW_string___String___with_native(BOX_NativeString("-h"), TAG_Int(2)); /*new String*/
+  variable21 = NEW_String_string___String___with_native(BOX_NativeString("Show Help (This screen)"), TAG_Int(23)); /*new String*/
+  variable22 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
+  variable23 = NEW_String_string___String___with_native(BOX_NativeString("-h"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable23) /*AbstractArray::add*/;
-  variable24 = NEW_string___String___with_native(BOX_NativeString("-?"), TAG_Int(2)); /*new String*/
+  variable24 = NEW_String_string___String___with_native(BOX_NativeString("-?"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable24) /*AbstractArray::add*/;
-  variable25 = NEW_string___String___with_native(BOX_NativeString("--help"), TAG_Int(6)); /*new String*/
+  variable25 = NEW_String_string___String___with_native(BOX_NativeString("--help"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable25) /*AbstractArray::add*/;
-  variable23 = NEW_opts___OptionBool___init(variable21, variable22); /*new OptionBool*/
+  variable23 = NEW_OptionBool_opts___OptionBool___init(variable21, variable22); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_help(obj) = variable23;
-  variable24 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable24 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[Symbol]*/
   ATTR_mmloader___ToolContext____processing_modules(obj) = variable24;
-  variable25 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable25 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[String, MMDirectory]*/
   ATTR_mmloader___ToolContext____path_dirs(obj) = variable25;
   ATTR_compiling_base___ToolContext____global(obj) = TAG_Bool((int)0);
   ATTR_compiling_base___ToolContext____attr_sim(obj) = TAG_Bool((int)0);
   ATTR_compiling_base___ToolContext____boost(obj) = TAG_Bool((int)0);
   ATTR_compiling_base___ToolContext____no_cc(obj) = TAG_Bool((int)0);
-  variable26 = NEW_string___String___with_native(BOX_NativeString("Output file"), TAG_Int(11)); /*new String*/
-  variable27 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  variable28 = NEW_string___String___with_native(BOX_NativeString("-o"), TAG_Int(2)); /*new String*/
+  variable26 = NEW_String_string___String___with_native(BOX_NativeString("Output file"), TAG_Int(11)); /*new String*/
+  variable27 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  variable28 = NEW_String_string___String___with_native(BOX_NativeString("-o"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27, variable28) /*AbstractArray::add*/;
-  variable29 = NEW_string___String___with_native(BOX_NativeString("--output"), TAG_Int(8)); /*new String*/
+  variable29 = NEW_String_string___String___with_native(BOX_NativeString("--output"), TAG_Int(8)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27, variable29) /*AbstractArray::add*/;
-  variable28 = NEW_opts___OptionString___init(variable26, variable27); /*new OptionString*/
+  variable28 = NEW_OptionString_opts___OptionString___init(variable26, variable27); /*new OptionString*/
   ATTR_nitc___NitCompiler____opt_output(obj) = variable28;
-  variable29 = NEW_string___String___with_native(BOX_NativeString("Optimize compilation"), TAG_Int(20)); /*new String*/
-  variable30 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  variable31 = NEW_string___String___with_native(BOX_NativeString("-O"), TAG_Int(2)); /*new String*/
+  variable29 = NEW_String_string___String___with_native(BOX_NativeString("Optimize compilation"), TAG_Int(20)); /*new String*/
+  variable30 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  variable31 = NEW_String_string___String___with_native(BOX_NativeString("-O"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable31) /*AbstractArray::add*/;
-  variable32 = NEW_string___String___with_native(BOX_NativeString("--boost"), TAG_Int(7)); /*new String*/
+  variable32 = NEW_String_string___String___with_native(BOX_NativeString("--boost"), TAG_Int(7)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable32) /*AbstractArray::add*/;
-  variable31 = NEW_opts___OptionBool___init(variable29, variable30); /*new OptionBool*/
+  variable31 = NEW_OptionBool_opts___OptionBool___init(variable29, variable30); /*new OptionBool*/
   ATTR_nitc___NitCompiler____opt_boost(obj) = variable31;
-  variable32 = NEW_string___String___with_native(BOX_NativeString("Do not invoke C compiler"), TAG_Int(24)); /*new String*/
-  variable33 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable34 = NEW_string___String___with_native(BOX_NativeString("--no_cc"), TAG_Int(7)); /*new String*/
+  variable32 = NEW_String_string___String___with_native(BOX_NativeString("Do not invoke C compiler"), TAG_Int(24)); /*new String*/
+  variable33 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable34 = NEW_String_string___String___with_native(BOX_NativeString("--no_cc"), TAG_Int(7)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable34) /*AbstractArray::add*/;
-  variable34 = NEW_opts___OptionBool___init(variable32, variable33); /*new OptionBool*/
+  variable34 = NEW_OptionBool_opts___OptionBool___init(variable32, variable33); /*new OptionBool*/
   ATTR_nitc___NitCompiler____opt_no_cc(obj) = variable34;
-  variable35 = NEW_string___String___with_native(BOX_NativeString("Use attribute simulation"), TAG_Int(24)); /*new String*/
-  variable36 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable37 = NEW_string___String___with_native(BOX_NativeString("--attr-sim"), TAG_Int(10)); /*new String*/
+  variable35 = NEW_String_string___String___with_native(BOX_NativeString("Use attribute simulation"), TAG_Int(24)); /*new String*/
+  variable36 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable37 = NEW_String_string___String___with_native(BOX_NativeString("--attr-sim"), TAG_Int(10)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable37) /*AbstractArray::add*/;
-  variable37 = NEW_opts___OptionBool___init(variable35, variable36); /*new OptionBool*/
+  variable37 = NEW_OptionBool_opts___OptionBool___init(variable35, variable36); /*new OptionBool*/
   ATTR_nitc___NitCompiler____opt_attr_sim(obj) = variable37;
-  variable38 = NEW_string___String___with_native(BOX_NativeString("Use global compilation"), TAG_Int(22)); /*new String*/
-  variable39 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable40 = NEW_string___String___with_native(BOX_NativeString("--global"), TAG_Int(8)); /*new String*/
+  variable38 = NEW_String_string___String___with_native(BOX_NativeString("Use global compilation"), TAG_Int(22)); /*new String*/
+  variable39 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable40 = NEW_String_string___String___with_native(BOX_NativeString("--global"), TAG_Int(8)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable40) /*AbstractArray::add*/;
-  variable40 = NEW_opts___OptionBool___init(variable38, variable39); /*new OptionBool*/
+  variable40 = NEW_OptionBool_opts___OptionBool___init(variable38, variable39); /*new OptionBool*/
   ATTR_nitc___NitCompiler____opt_global(obj) = variable40;
-  variable41 = NEW_string___String___with_native(BOX_NativeString("NIT C library directory"), TAG_Int(23)); /*new String*/
-  variable42 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable43 = NEW_string___String___with_native(BOX_NativeString("--clibdir"), TAG_Int(9)); /*new String*/
+  variable41 = NEW_String_string___String___with_native(BOX_NativeString("NIT C library directory"), TAG_Int(23)); /*new String*/
+  variable42 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable43 = NEW_String_string___String___with_native(BOX_NativeString("--clibdir"), TAG_Int(9)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable43) /*AbstractArray::add*/;
-  variable43 = NEW_opts___OptionString___init(variable41, variable42); /*new OptionString*/
+  variable43 = NEW_OptionString_opts___OptionString___init(variable41, variable42); /*new OptionString*/
   ATTR_nitc___NitCompiler____opt_clibdir(obj) = variable43;
-  variable44 = NEW_string___String___with_native(BOX_NativeString("NIT tools directory"), TAG_Int(19)); /*new String*/
-  variable45 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable46 = NEW_string___String___with_native(BOX_NativeString("--bindir"), TAG_Int(8)); /*new String*/
+  variable44 = NEW_String_string___String___with_native(BOX_NativeString("NIT tools directory"), TAG_Int(19)); /*new String*/
+  variable45 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable46 = NEW_String_string___String___with_native(BOX_NativeString("--bindir"), TAG_Int(8)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable46) /*AbstractArray::add*/;
-  variable46 = NEW_opts___OptionString___init(variable44, variable45); /*new OptionString*/
+  variable46 = NEW_OptionString_opts___OptionString___init(variable44, variable45); /*new OptionString*/
   ATTR_nitc___NitCompiler____opt_bindir(obj) = variable46;
-  variable47 = NEW_string___String___with_native(BOX_NativeString("Intermediate compilation directory"), TAG_Int(34)); /*new String*/
-  variable48 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable49 = NEW_string___String___with_native(BOX_NativeString("--compdir"), TAG_Int(9)); /*new String*/
+  variable47 = NEW_String_string___String___with_native(BOX_NativeString("Intermediate compilation directory"), TAG_Int(34)); /*new String*/
+  variable48 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable49 = NEW_String_string___String___with_native(BOX_NativeString("--compdir"), TAG_Int(9)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48, variable49) /*AbstractArray::add*/;
-  variable49 = NEW_opts___OptionString___init(variable47, variable48); /*new OptionString*/
+  variable49 = NEW_OptionString_opts___OptionString___init(variable47, variable48); /*new OptionString*/
   ATTR_nitc___NitCompiler____opt_compdir(obj) = variable49;
-  variable50 = NEW_string___String___with_native(BOX_NativeString("Append prefix to file extension"), TAG_Int(31)); /*new String*/
-  variable51 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  variable52 = NEW_string___String___with_native(BOX_NativeString("-p"), TAG_Int(2)); /*new String*/
+  variable50 = NEW_String_string___String___with_native(BOX_NativeString("Append prefix to file extension"), TAG_Int(31)); /*new String*/
+  variable51 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  variable52 = NEW_String_string___String___with_native(BOX_NativeString("-p"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51, variable52) /*AbstractArray::add*/;
-  variable53 = NEW_string___String___with_native(BOX_NativeString("--extension-prefix"), TAG_Int(18)); /*new String*/
+  variable53 = NEW_String_string___String___with_native(BOX_NativeString("--extension-prefix"), TAG_Int(18)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51, variable53) /*AbstractArray::add*/;
-  variable52 = NEW_opts___OptionString___init(variable50, variable51); /*new OptionString*/
+  variable52 = NEW_OptionString_opts___OptionString___init(variable50, variable51); /*new OptionString*/
   ATTR_nitc___NitCompiler____opt_extension_prefix(obj) = variable52;
   return OBJ2VAL(obj);
 }
-val_t NEW_nitc___NitCompiler___init() {
+val_t NEW_NitCompiler_abstractmetamodel___MMContext___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_NitCompiler();
+  abstractmetamodel___MMContext___init(self, init_table);
+  return self;
+}
+val_t NEW_NitCompiler_mmloader___ToolContext___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_NitCompiler();
+  mmloader___ToolContext___init(self, init_table);
+  return self;
+}
+val_t NEW_NitCompiler_abstracttool___AbstractCompiler___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_NitCompiler();
+  abstracttool___AbstractCompiler___init(self, init_table);
+  return self;
+}
+val_t NEW_NitCompiler_nitc___NitCompiler___init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_NitCompiler();
   nitc___NitCompiler___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_Sys[47] = {
+const classtable_elt_t VFT_Sys[48] = {
   {(bigint) 23 /* 0: Identity */},
   {(bigint) 3 /* 1: Sys < Object: superclass typecheck marker */},
   {(bigint) 23 /* 2: Sys < Sys: superclass typecheck marker */},
@@ -7564,6 +9743,7 @@ const classtable_elt_t VFT_Sys[47] = {
   {(bigint) string___Sys___native_argv},
   {(bigint) 1 /* 45: Sys < Sys: superclass init_table position */},
   {(bigint) nitc___Sys___main},
+  {(bigint) kernel___Sys___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Sys::_args_cache */
@@ -7573,6 +9753,12 @@ val_t NEW_Sys(void) {
   obj->vft = (classtable_elt_t*)VFT_Sys;
   return OBJ2VAL(obj);
 }
+val_t NEW_Sys_kernel___Sys___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_Sys();
+  kernel___Sys___init(self, init_table);
+  return self;
+}
 const classtable_elt_t VFT_Object[40] = {
   {(bigint) 3 /* 0: Identity */},
   {(bigint) 3 /* 1: Object < Object: superclass typecheck marker */},
@@ -7622,7 +9808,7 @@ val_t NEW_Object(void) {
   obj->vft = (classtable_elt_t*)VFT_Object;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_Comparable[56] = {
+const classtable_elt_t VFT_Comparable[58] = {
   {(bigint) 155 /* 0: Identity */},
   {(bigint) 3 /* 1: Comparable < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -7670,7 +9856,9 @@ const classtable_elt_t VFT_Comparable[56] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 47: Comparable < Comparable: superclass init_table position */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 49: Comparable < Comparable: superclass init_table position */},
   {(bigint) kernel___Comparable_____l},
   {(bigint) kernel___Comparable_____leq},
   {(bigint) kernel___Comparable_____geq},
@@ -7687,7 +9875,7 @@ val_t NEW_Comparable(void) {
   obj->vft = (classtable_elt_t*)VFT_Comparable;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_Discrete[62] = {
+const classtable_elt_t VFT_Discrete[64] = {
   {(bigint) 2643 /* 0: Identity */},
   {(bigint) 3 /* 1: Discrete < Object: superclass typecheck marker */},
   {(bigint) 2643 /* 2: Discrete < Discrete: superclass typecheck marker */},
@@ -7735,7 +9923,9 @@ const classtable_elt_t VFT_Discrete[62] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 47: Discrete < Comparable: superclass init_table position */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 49: Discrete < Comparable: superclass init_table position */},
   {(bigint) kernel___Comparable_____l},
   {(bigint) kernel___Comparable_____leq},
   {(bigint) kernel___Comparable_____geq},
@@ -7744,7 +9934,7 @@ const classtable_elt_t VFT_Discrete[62] = {
   {(bigint) kernel___Comparable___is_between},
   {(bigint) kernel___Comparable___max},
   {(bigint) kernel___Comparable___min},
-  {(bigint) 2 /* 56: Discrete < Discrete: superclass init_table position */},
+  {(bigint) 2 /* 58: Discrete < Discrete: superclass init_table position */},
   {(bigint) kernel___Discrete___succ},
   {(bigint) kernel___Discrete___prec},
   {(bigint) kernel___Discrete_____plus},
@@ -7874,7 +10064,7 @@ val_t BOX_Float(float val) {
   box->val = val;
   return OBJ2VAL(box);
 }
-const classtable_elt_t VFT_Int[77] = {
+const classtable_elt_t VFT_Int[79] = {
   {(bigint) -33 /* 0: Identity */},
   {(bigint) 3 /* 1: Int < Object: superclass typecheck marker */},
   {(bigint) 2643 /* 2: Int < Discrete: superclass typecheck marker */},
@@ -7922,7 +10112,9 @@ const classtable_elt_t VFT_Int[77] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 47: Int < Comparable: superclass init_table position */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 49: Int < Comparable: superclass init_table position */},
   {(bigint) kernel___Int_____l},
   {(bigint) kernel___Int_____leq},
   {(bigint) kernel___Int_____geq},
@@ -7931,7 +10123,7 @@ const classtable_elt_t VFT_Int[77] = {
   {(bigint) kernel___Int___is_between},
   {(bigint) kernel___Int___max},
   {(bigint) kernel___Int___min},
-  {(bigint) 2 /* 56: Int < Discrete: superclass init_table position */},
+  {(bigint) 2 /* 58: Int < Discrete: superclass init_table position */},
   {(bigint) kernel___Int___succ},
   {(bigint) kernel___Int___prec},
   {(bigint) kernel___Int_____plus},
@@ -7940,7 +10132,7 @@ const classtable_elt_t VFT_Int[77] = {
   {(bigint) string___Int___fill_string},
   {(bigint) string___Int___to_hex},
   {(bigint) string___Int___to_base},
-  {(bigint) 3 /* 65: Int < Int: superclass init_table position */},
+  {(bigint) 3 /* 67: Int < Int: superclass init_table position */},
   {(bigint) kernel___Int___unary__minus},
   {(bigint) kernel___Int_____star},
   {(bigint) kernel___Int_____slash},
@@ -7954,7 +10146,7 @@ const classtable_elt_t VFT_Int[77] = {
   {(bigint) math___Int___rand},
 };
 /* 0: Pointer to the classtable */
-const classtable_elt_t VFT_Char[67] = {
+const classtable_elt_t VFT_Char[69] = {
   {(bigint) -37 /* 0: Identity */},
   {(bigint) 3 /* 1: Char < Object: superclass typecheck marker */},
   {(bigint) 2643 /* 2: Char < Discrete: superclass typecheck marker */},
@@ -7997,12 +10189,14 @@ const classtable_elt_t VFT_Char[67] = {
   {(bigint) math___Object___srand},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 3 /* 42: Char < Pattern: superclass init_table position */},
+  {0} /* Class Hole :( */,
+  {(bigint) 3 /* 43: Char < Pattern: superclass init_table position */},
   {(bigint) string_search___Char___search_index_in},
   {(bigint) string_search___Char___search_in},
   {(bigint) string_search___Pattern___search_all_in},
   {(bigint) string_search___Pattern___split_in},
-  {(bigint) 1 /* 47: Char < Comparable: superclass init_table position */},
+  {(bigint) string_search___Pattern___init},
+  {(bigint) 1 /* 49: Char < Comparable: superclass init_table position */},
   {(bigint) kernel___Char_____l},
   {(bigint) kernel___Char_____leq},
   {(bigint) kernel___Char_____geq},
@@ -8011,13 +10205,13 @@ const classtable_elt_t VFT_Char[67] = {
   {(bigint) kernel___Comparable___is_between},
   {(bigint) kernel___Comparable___max},
   {(bigint) kernel___Comparable___min},
-  {(bigint) 2 /* 56: Char < Discrete: superclass init_table position */},
+  {(bigint) 2 /* 58: Char < Discrete: superclass init_table position */},
   {(bigint) kernel___Char___succ},
   {(bigint) kernel___Char___prec},
   {(bigint) kernel___Char_____plus},
   {(bigint) kernel___Char_____minus},
   {(bigint) kernel___Char___distance},
-  {(bigint) 4 /* 62: Char < Char: superclass init_table position */},
+  {(bigint) 4 /* 64: Char < Char: superclass init_table position */},
   {(bigint) kernel___Char___to_i},
   {(bigint) kernel___Char___ascii},
   {(bigint) kernel___Char___to_lower},
@@ -8074,7 +10268,7 @@ val_t BOX_Pointer(void * val) {
   box->val = val;
   return OBJ2VAL(box);
 }
-const classtable_elt_t VFT_Collection[66] = {
+const classtable_elt_t VFT_Collection[68] = {
   {(bigint) 163 /* 0: Identity */},
   {(bigint) 3 /* 1: Collection < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -8131,9 +10325,11 @@ const classtable_elt_t VFT_Collection[66] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: Collection < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: Collection < Collection: superclass init_table position */},
   {(bigint) abstract_collection___Collection___iterator},
   {(bigint) abstract_collection___Collection___is_empty},
   {(bigint) abstract_collection___Collection___length},
@@ -8149,7 +10345,7 @@ val_t NEW_Collection(void) {
   obj->vft = (classtable_elt_t*)VFT_Collection;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_NaiveCollection[67] = {
+const classtable_elt_t VFT_NaiveCollection[69] = {
   {(bigint) 2539 /* 0: Identity */},
   {(bigint) 3 /* 1: NaiveCollection < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -8206,9 +10402,11 @@ const classtable_elt_t VFT_NaiveCollection[67] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: NaiveCollection < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: NaiveCollection < Collection: superclass init_table position */},
   {(bigint) abstract_collection___Collection___iterator},
   {(bigint) abstract_collection___NaiveCollection___is_empty},
   {(bigint) abstract_collection___NaiveCollection___length},
@@ -8216,7 +10414,7 @@ const classtable_elt_t VFT_NaiveCollection[67] = {
   {(bigint) abstract_collection___NaiveCollection___has_only},
   {(bigint) abstract_collection___NaiveCollection___count},
   {(bigint) abstract_collection___NaiveCollection___first},
-  {(bigint) 2 /* 66: NaiveCollection < NaiveCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: NaiveCollection < NaiveCollection: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_NaiveCollection(void) {
@@ -8279,7 +10477,7 @@ val_t NEW_Iterator(void) {
   obj->vft = (classtable_elt_t*)VFT_Iterator;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_Container[70] = {
+const classtable_elt_t VFT_Container[72] = {
   {(bigint) 2651 /* 0: Identity */},
   {(bigint) 3 /* 1: Container < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -8336,9 +10534,11 @@ const classtable_elt_t VFT_Container[70] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: Container < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: Container < Collection: superclass init_table position */},
   {(bigint) abstract_collection___Container___iterator},
   {(bigint) abstract_collection___Container___is_empty},
   {(bigint) abstract_collection___Container___length},
@@ -8346,7 +10546,7 @@ const classtable_elt_t VFT_Container[70] = {
   {(bigint) abstract_collection___Container___has_only},
   {(bigint) abstract_collection___Container___count},
   {(bigint) abstract_collection___Container___first},
-  {(bigint) 2 /* 66: Container < Container: superclass init_table position */},
+  {(bigint) 2 /* 68: Container < Container: superclass init_table position */},
   {(bigint) abstract_collection___Container___init},
   {(bigint) abstract_collection___Container___item},
   {(bigint) abstract_collection___Container___item__eq},
@@ -8359,7 +10559,7 @@ val_t NEW_Container(void) {
   obj->vft = (classtable_elt_t*)VFT_Container;
   return OBJ2VAL(obj);
 }
-val_t NEW_abstract_collection___Container___init(val_t p0) {
+val_t NEW_Container_abstract_collection___Container___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_Container();
   abstract_collection___Container___init(self, p0, init_table);
@@ -8424,13 +10624,13 @@ val_t NEW_ContainerIterator(void) {
   ATTR_abstract_collection___ContainerIterator____is_ok(obj) =  TAG_Bool(true);
   return OBJ2VAL(obj);
 }
-val_t NEW_abstract_collection___ContainerIterator___init(val_t p0) {
+val_t NEW_ContainerIterator_abstract_collection___ContainerIterator___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ContainerIterator();
   abstract_collection___ContainerIterator___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_RemovableCollection[70] = {
+const classtable_elt_t VFT_RemovableCollection[72] = {
   {(bigint) 211 /* 0: Identity */},
   {(bigint) 3 /* 1: RemovableCollection < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -8487,9 +10687,11 @@ const classtable_elt_t VFT_RemovableCollection[70] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: RemovableCollection < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: RemovableCollection < Collection: superclass init_table position */},
   {(bigint) abstract_collection___Collection___iterator},
   {(bigint) abstract_collection___Collection___is_empty},
   {(bigint) abstract_collection___Collection___length},
@@ -8497,7 +10699,7 @@ const classtable_elt_t VFT_RemovableCollection[70] = {
   {(bigint) abstract_collection___Collection___has_only},
   {(bigint) abstract_collection___Collection___count},
   {(bigint) abstract_collection___Collection___first},
-  {(bigint) 2 /* 66: RemovableCollection < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: RemovableCollection < RemovableCollection: superclass init_table position */},
   {(bigint) abstract_collection___RemovableCollection___clear},
   {(bigint) abstract_collection___RemovableCollection___remove},
   {(bigint) abstract_collection___RemovableCollection___remove_all},
@@ -8509,7 +10711,7 @@ val_t NEW_RemovableCollection(void) {
   obj->vft = (classtable_elt_t*)VFT_RemovableCollection;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_SimpleCollection[73] = {
+const classtable_elt_t VFT_SimpleCollection[75] = {
   {(bigint) 3035 /* 0: Identity */},
   {(bigint) 3 /* 1: SimpleCollection < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -8566,9 +10768,11 @@ const classtable_elt_t VFT_SimpleCollection[73] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: SimpleCollection < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: SimpleCollection < Collection: superclass init_table position */},
   {(bigint) abstract_collection___Collection___iterator},
   {(bigint) abstract_collection___Collection___is_empty},
   {(bigint) abstract_collection___Collection___length},
@@ -8576,11 +10780,11 @@ const classtable_elt_t VFT_SimpleCollection[73] = {
   {(bigint) abstract_collection___Collection___has_only},
   {(bigint) abstract_collection___Collection___count},
   {(bigint) abstract_collection___Collection___first},
-  {(bigint) 2 /* 66: SimpleCollection < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: SimpleCollection < RemovableCollection: superclass init_table position */},
   {(bigint) abstract_collection___RemovableCollection___clear},
   {(bigint) abstract_collection___RemovableCollection___remove},
   {(bigint) abstract_collection___RemovableCollection___remove_all},
-  {(bigint) 3 /* 70: SimpleCollection < SimpleCollection: superclass init_table position */},
+  {(bigint) 3 /* 72: SimpleCollection < SimpleCollection: superclass init_table position */},
   {(bigint) abstract_collection___SimpleCollection___add},
   {(bigint) abstract_collection___SimpleCollection___add_all},
 };
@@ -8591,7 +10795,7 @@ val_t NEW_SimpleCollection(void) {
   obj->vft = (classtable_elt_t*)VFT_SimpleCollection;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_Set[73] = {
+const classtable_elt_t VFT_Set[75] = {
   {(bigint) 3275 /* 0: Identity */},
   {(bigint) 3 /* 1: Set < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -8641,7 +10845,9 @@ const classtable_elt_t VFT_Set[73] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 49: Set < Set: superclass init_table position */},
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 50: Set < Set: superclass init_table position */},
+  {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -8650,7 +10856,7 @@ const classtable_elt_t VFT_Set[73] = {
   {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: Set < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: Set < Collection: superclass init_table position */},
   {(bigint) abstract_collection___Collection___iterator},
   {(bigint) abstract_collection___Collection___is_empty},
   {(bigint) abstract_collection___Collection___length},
@@ -8658,11 +10864,11 @@ const classtable_elt_t VFT_Set[73] = {
   {(bigint) abstract_collection___Set___has_only},
   {(bigint) abstract_collection___Set___count},
   {(bigint) abstract_collection___Collection___first},
-  {(bigint) 2 /* 66: Set < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: Set < RemovableCollection: superclass init_table position */},
   {(bigint) abstract_collection___RemovableCollection___clear},
   {(bigint) abstract_collection___RemovableCollection___remove},
   {(bigint) abstract_collection___Set___remove_all},
-  {(bigint) 3 /* 70: Set < SimpleCollection: superclass init_table position */},
+  {(bigint) 3 /* 72: Set < SimpleCollection: superclass init_table position */},
   {(bigint) abstract_collection___SimpleCollection___add},
   {(bigint) abstract_collection___SimpleCollection___add_all},
 };
@@ -8673,7 +10879,7 @@ val_t NEW_Set(void) {
   obj->vft = (classtable_elt_t*)VFT_Set;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_Map[80] = {
+const classtable_elt_t VFT_Map[82] = {
   {(bigint) 3143 /* 0: Identity */},
   {(bigint) 3 /* 1: Map < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -8730,9 +10936,11 @@ const classtable_elt_t VFT_Map[80] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: Map < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: Map < Collection: superclass init_table position */},
   {(bigint) abstract_collection___Map___iterator},
   {(bigint) abstract_collection___Collection___is_empty},
   {(bigint) abstract_collection___Collection___length},
@@ -8740,7 +10948,7 @@ const classtable_elt_t VFT_Map[80] = {
   {(bigint) abstract_collection___Collection___has_only},
   {(bigint) abstract_collection___Collection___count},
   {(bigint) abstract_collection___Collection___first},
-  {(bigint) 2 /* 66: Map < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: Map < RemovableCollection: superclass init_table position */},
   {(bigint) abstract_collection___RemovableCollection___clear},
   {(bigint) abstract_collection___RemovableCollection___remove},
   {(bigint) abstract_collection___RemovableCollection___remove_all},
@@ -8748,7 +10956,7 @@ const classtable_elt_t VFT_Map[80] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) string___Map___map_join},
-  {(bigint) 3 /* 74: Map < Map: superclass init_table position */},
+  {(bigint) 3 /* 76: Map < Map: superclass init_table position */},
   {(bigint) abstract_collection___Map_____bra},
   {(bigint) abstract_collection___Map_____braeq},
   {(bigint) abstract_collection___Map___has_key},
@@ -8819,7 +11027,7 @@ val_t NEW_MapIterator(void) {
   obj->vft = (classtable_elt_t*)VFT_MapIterator;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_IndexedCollection[90] = {
+const classtable_elt_t VFT_IndexedCollection[92] = {
   {(bigint) 3303 /* 0: Identity */},
   {(bigint) 3 /* 1: IndexedCollection < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -8876,9 +11084,11 @@ const classtable_elt_t VFT_IndexedCollection[90] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: IndexedCollection < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: IndexedCollection < Collection: superclass init_table position */},
   {(bigint) abstract_collection___IndexedCollection___iterator},
   {(bigint) abstract_collection___Collection___is_empty},
   {(bigint) abstract_collection___Collection___length},
@@ -8886,21 +11096,21 @@ const classtable_elt_t VFT_IndexedCollection[90] = {
   {(bigint) abstract_collection___Collection___has_only},
   {(bigint) abstract_collection___Collection___count},
   {(bigint) abstract_collection___IndexedCollection___first},
-  {(bigint) 2 /* 66: IndexedCollection < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: IndexedCollection < RemovableCollection: superclass init_table position */},
   {(bigint) abstract_collection___RemovableCollection___clear},
   {(bigint) abstract_collection___RemovableCollection___remove},
   {(bigint) abstract_collection___RemovableCollection___remove_all},
-  {(bigint) 4 /* 70: IndexedCollection < SimpleCollection: superclass init_table position */},
+  {(bigint) 4 /* 72: IndexedCollection < SimpleCollection: superclass init_table position */},
   {(bigint) abstract_collection___IndexedCollection___add},
   {(bigint) abstract_collection___SimpleCollection___add_all},
   {(bigint) string___Map___map_join},
-  {(bigint) 3 /* 74: IndexedCollection < Map: superclass init_table position */},
+  {(bigint) 3 /* 76: IndexedCollection < Map: superclass init_table position */},
   {(bigint) abstract_collection___Map_____bra},
   {(bigint) abstract_collection___Map_____braeq},
   {(bigint) abstract_collection___Map___has_key},
   {(bigint) abstract_collection___Map___remove_at},
   {(bigint) abstract_collection___Map___recover_with},
-  {(bigint) 5 /* 80: IndexedCollection < IndexedCollection: superclass init_table position */},
+  {(bigint) 5 /* 82: IndexedCollection < IndexedCollection: superclass init_table position */},
   {(bigint) abstract_collection___IndexedCollection___first__eq},
   {(bigint) abstract_collection___IndexedCollection___last},
   {(bigint) abstract_collection___IndexedCollection___last__eq},
@@ -8977,7 +11187,7 @@ val_t NEW_IndexedIterator(void) {
   obj->vft = (classtable_elt_t*)VFT_IndexedIterator;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_CoupleMap[80] = {
+const classtable_elt_t VFT_CoupleMap[82] = {
   {(bigint) 3319 /* 0: Identity */},
   {(bigint) 3 /* 1: CoupleMap < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -9027,16 +11237,18 @@ const classtable_elt_t VFT_CoupleMap[80] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 49: CoupleMap < CoupleMap: superclass init_table position */},
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 50: CoupleMap < CoupleMap: superclass init_table position */},
   {(bigint) abstract_collection___CoupleMap___couple_at},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: CoupleMap < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: CoupleMap < Collection: superclass init_table position */},
   {(bigint) abstract_collection___Map___iterator},
   {(bigint) abstract_collection___Collection___is_empty},
   {(bigint) abstract_collection___Collection___length},
@@ -9044,7 +11256,7 @@ const classtable_elt_t VFT_CoupleMap[80] = {
   {(bigint) abstract_collection___Collection___has_only},
   {(bigint) abstract_collection___Collection___count},
   {(bigint) abstract_collection___Collection___first},
-  {(bigint) 2 /* 66: CoupleMap < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: CoupleMap < RemovableCollection: superclass init_table position */},
   {(bigint) abstract_collection___RemovableCollection___clear},
   {(bigint) abstract_collection___RemovableCollection___remove},
   {(bigint) abstract_collection___RemovableCollection___remove_all},
@@ -9052,7 +11264,7 @@ const classtable_elt_t VFT_CoupleMap[80] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) string___Map___map_join},
-  {(bigint) 3 /* 74: CoupleMap < Map: superclass init_table position */},
+  {(bigint) 3 /* 76: CoupleMap < Map: superclass init_table position */},
   {(bigint) abstract_collection___CoupleMap_____bra},
   {(bigint) abstract_collection___Map_____braeq},
   {(bigint) abstract_collection___CoupleMap___has_key},
@@ -9126,13 +11338,13 @@ val_t NEW_CoupleMapIterator(void) {
   obj->vft = (classtable_elt_t*)VFT_CoupleMapIterator;
   return OBJ2VAL(obj);
 }
-val_t NEW_abstract_collection___CoupleMapIterator___init(val_t p0) {
+val_t NEW_CoupleMapIterator_abstract_collection___CoupleMapIterator___init(val_t p0) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_CoupleMapIterator();
   abstract_collection___CoupleMapIterator___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_Couple[52] = {
+const classtable_elt_t VFT_Couple[53] = {
   {(bigint) 143 /* 0: Identity */},
   {(bigint) 3 /* 1: Couple < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -9179,7 +11391,8 @@ const classtable_elt_t VFT_Couple[52] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 46: Couple < Couple: superclass init_table position */},
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 47: Couple < Couple: superclass init_table position */},
   {(bigint) abstract_collection___Couple___first},
   {(bigint) abstract_collection___Couple___first__eq},
   {(bigint) abstract_collection___Couple___second},
@@ -9197,14 +11410,14 @@ val_t NEW_Couple(void) {
   obj->vft = (classtable_elt_t*)VFT_Couple;
   return OBJ2VAL(obj);
 }
-val_t NEW_abstract_collection___Couple___init(val_t p0, val_t p1) {
+val_t NEW_Couple_abstract_collection___Couple___init(val_t p0, val_t p1) {
   int init_table[2] = {0, 0};
   val_t self = NEW_Couple();
   abstract_collection___Couple___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AbstractArray[98] = {
-  {(bigint) 3651 /* 0: Identity */},
+const classtable_elt_t VFT_AbstractArray[101] = {
+  {(bigint) 3655 /* 0: Identity */},
   {(bigint) 3 /* 1: AbstractArray < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9214,7 +11427,7 @@ const classtable_elt_t VFT_AbstractArray[98] = {
   {(bigint) 3035 /* 7: AbstractArray < SimpleCollection: superclass typecheck marker */},
   {(bigint) 3143 /* 8: AbstractArray < Map: superclass typecheck marker */},
   {(bigint) 3303 /* 9: AbstractArray < IndexedCollection: superclass typecheck marker */},
-  {(bigint) 3651 /* 10: AbstractArray < AbstractArray: superclass typecheck marker */},
+  {(bigint) 3655 /* 10: AbstractArray < AbstractArray: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -9260,9 +11473,11 @@ const classtable_elt_t VFT_AbstractArray[98] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: AbstractArray < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: AbstractArray < Collection: superclass init_table position */},
   {(bigint) array___AbstractArray___iterator},
   {(bigint) array___AbstractArray___is_empty},
   {(bigint) array___AbstractArray___length},
@@ -9270,21 +11485,21 @@ const classtable_elt_t VFT_AbstractArray[98] = {
   {(bigint) array___AbstractArray___has_only},
   {(bigint) array___AbstractArray___count},
   {(bigint) abstract_collection___IndexedCollection___first},
-  {(bigint) 2 /* 66: AbstractArray < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: AbstractArray < RemovableCollection: superclass init_table position */},
   {(bigint) array___AbstractArray___clear},
   {(bigint) array___AbstractArray___remove},
   {(bigint) array___AbstractArray___remove_all},
-  {(bigint) 4 /* 70: AbstractArray < SimpleCollection: superclass init_table position */},
+  {(bigint) 4 /* 72: AbstractArray < SimpleCollection: superclass init_table position */},
   {(bigint) array___AbstractArray___add},
   {(bigint) abstract_collection___SimpleCollection___add_all},
   {(bigint) string___Map___map_join},
-  {(bigint) 3 /* 74: AbstractArray < Map: superclass init_table position */},
+  {(bigint) 3 /* 76: AbstractArray < Map: superclass init_table position */},
   {(bigint) abstract_collection___Map_____bra},
   {(bigint) abstract_collection___Map_____braeq},
   {(bigint) array___AbstractArray___has_key},
   {(bigint) array___AbstractArray___remove_at},
   {(bigint) abstract_collection___Map___recover_with},
-  {(bigint) 5 /* 80: AbstractArray < IndexedCollection: superclass init_table position */},
+  {(bigint) 5 /* 82: AbstractArray < IndexedCollection: superclass init_table position */},
   {(bigint) abstract_collection___IndexedCollection___first__eq},
   {(bigint) abstract_collection___IndexedCollection___last},
   {(bigint) abstract_collection___IndexedCollection___last__eq},
@@ -9294,7 +11509,7 @@ const classtable_elt_t VFT_AbstractArray[98] = {
   {(bigint) array___AbstractArray___unshift},
   {(bigint) array___AbstractArray___shift},
   {(bigint) array___AbstractArray___index_of},
-  {(bigint) 6 /* 90: AbstractArray < AbstractArray: superclass init_table position */},
+  {(bigint) 6 /* 92: AbstractArray < AbstractArray: superclass init_table position */},
   {(bigint) array___AbstractArray___enlarge},
   {(bigint) array___AbstractArray___insert},
   {(bigint) array___AbstractArray___last_index_of},
@@ -9302,6 +11517,7 @@ const classtable_elt_t VFT_AbstractArray[98] = {
   {(bigint) array___AbstractArray___last_index_of_from},
   {(bigint) array___AbstractArray___reversed},
   {(bigint) array___AbstractArray___copy_to},
+  {(bigint) array___AbstractArray___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AbstractArray::_length */
@@ -9312,18 +11528,24 @@ val_t NEW_AbstractArray(void) {
   ATTR_array___AbstractArray____length(obj) =  TAG_Int(0);
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_Array[98] = {
-  {(bigint) 3787 /* 0: Identity */},
+val_t NEW_AbstractArray_array___AbstractArray___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AbstractArray();
+  array___AbstractArray___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_Array[101] = {
+  {(bigint) 3791 /* 0: Identity */},
   {(bigint) 3 /* 1: Array < Object: superclass typecheck marker */},
   {(bigint) 171 /* 2: Array < ArrayCapable: superclass typecheck marker */},
-  {(bigint) 3787 /* 3: Array < Array: superclass typecheck marker */},
+  {(bigint) 3791 /* 3: Array < Array: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {(bigint) 163 /* 5: Array < Collection: superclass typecheck marker */},
   {(bigint) 211 /* 6: Array < RemovableCollection: superclass typecheck marker */},
   {(bigint) 3035 /* 7: Array < SimpleCollection: superclass typecheck marker */},
   {(bigint) 3143 /* 8: Array < Map: superclass typecheck marker */},
   {(bigint) 3303 /* 9: Array < IndexedCollection: superclass typecheck marker */},
-  {(bigint) 3651 /* 10: Array < AbstractArray: superclass typecheck marker */},
+  {(bigint) 3655 /* 10: Array < AbstractArray: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -9369,9 +11591,11 @@ const classtable_elt_t VFT_Array[98] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: Array < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: Array < Collection: superclass init_table position */},
   {(bigint) array___AbstractArray___iterator},
   {(bigint) array___AbstractArray___is_empty},
   {(bigint) array___AbstractArray___length},
@@ -9379,21 +11603,21 @@ const classtable_elt_t VFT_Array[98] = {
   {(bigint) array___AbstractArray___has_only},
   {(bigint) array___AbstractArray___count},
   {(bigint) abstract_collection___IndexedCollection___first},
-  {(bigint) 2 /* 66: Array < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: Array < RemovableCollection: superclass init_table position */},
   {(bigint) array___AbstractArray___clear},
   {(bigint) array___AbstractArray___remove},
   {(bigint) array___AbstractArray___remove_all},
-  {(bigint) 4 /* 70: Array < SimpleCollection: superclass init_table position */},
+  {(bigint) 4 /* 72: Array < SimpleCollection: superclass init_table position */},
   {(bigint) array___AbstractArray___add},
   {(bigint) abstract_collection___SimpleCollection___add_all},
   {(bigint) string___Map___map_join},
-  {(bigint) 3 /* 74: Array < Map: superclass init_table position */},
+  {(bigint) 3 /* 76: Array < Map: superclass init_table position */},
   {(bigint) array___Array_____bra},
   {(bigint) array___Array_____braeq},
   {(bigint) array___AbstractArray___has_key},
   {(bigint) array___AbstractArray___remove_at},
   {(bigint) abstract_collection___Map___recover_with},
-  {(bigint) 5 /* 80: Array < IndexedCollection: superclass init_table position */},
+  {(bigint) 5 /* 82: Array < IndexedCollection: superclass init_table position */},
   {(bigint) abstract_collection___IndexedCollection___first__eq},
   {(bigint) abstract_collection___IndexedCollection___last},
   {(bigint) abstract_collection___IndexedCollection___last__eq},
@@ -9403,7 +11627,7 @@ const classtable_elt_t VFT_Array[98] = {
   {(bigint) array___AbstractArray___unshift},
   {(bigint) array___AbstractArray___shift},
   {(bigint) array___AbstractArray___index_of},
-  {(bigint) 6 /* 90: Array < AbstractArray: superclass init_table position */},
+  {(bigint) 6 /* 92: Array < AbstractArray: superclass init_table position */},
   {(bigint) array___Array___enlarge},
   {(bigint) array___AbstractArray___insert},
   {(bigint) array___AbstractArray___last_index_of},
@@ -9411,6 +11635,7 @@ const classtable_elt_t VFT_Array[98] = {
   {(bigint) array___AbstractArray___last_index_of_from},
   {(bigint) array___AbstractArray___reversed},
   {(bigint) array___AbstractArray___copy_to},
+  {(bigint) array___AbstractArray___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Array::_length */
@@ -9421,34 +11646,41 @@ val_t NEW_Array(void) {
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_Array;
   ATTR_array___AbstractArray____length(obj) =  TAG_Int(0);
-  ATTR_array___Array____capacity(obj) = TAG_Int((bigint)0);
+  ATTR_array___Array____items(obj) =  NIT_NULL /*null*/;
+  ATTR_array___Array____capacity(obj) =  TAG_Int(0);
   return OBJ2VAL(obj);
 }
-val_t NEW_array___Array___init() {
+val_t NEW_Array_array___AbstractArray___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Array();
+  array___AbstractArray___init(self, init_table);
+  return self;
+}
+val_t NEW_Array_array___Array___init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_Array();
   array___Array___init(self, init_table);
   return self;
 }
-val_t NEW_array___Array___with(val_t p0) {
+val_t NEW_Array_array___Array___with(val_t p0) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_Array();
   array___Array___with(self, p0, init_table);
   return self;
 }
-val_t NEW_array___Array___with_capacity(val_t p0) {
+val_t NEW_Array_array___Array___with_capacity(val_t p0) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_Array();
   array___Array___with_capacity(self, p0, init_table);
   return self;
 }
-val_t NEW_array___Array___filled_with(val_t p0, val_t p1) {
+val_t NEW_Array_array___Array___filled_with(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_Array();
   array___Array___filled_with(self, p0, p1, init_table);
   return self;
 }
-val_t NEW_array___Array___with_native(val_t p0, val_t p1) {
+val_t NEW_Array_array___Array___with_native(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_Array();
   array___Array___with_native(self, p0, p1, init_table);
@@ -9518,14 +11750,14 @@ val_t NEW_ArrayIterator(void) {
   ATTR_array___ArrayIterator____index(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_array___ArrayIterator___init(val_t p0) {
+val_t NEW_ArrayIterator_array___ArrayIterator___init(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ArrayIterator();
   array___ArrayIterator___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ArraySet[78] = {
-  {(bigint) 3643 /* 0: Identity */},
+const classtable_elt_t VFT_ArraySet[80] = {
+  {(bigint) 3647 /* 0: Identity */},
   {(bigint) 3 /* 1: ArraySet < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9533,7 +11765,7 @@ const classtable_elt_t VFT_ArraySet[78] = {
   {(bigint) 163 /* 5: ArraySet < Collection: superclass typecheck marker */},
   {(bigint) 211 /* 6: ArraySet < RemovableCollection: superclass typecheck marker */},
   {(bigint) 3035 /* 7: ArraySet < SimpleCollection: superclass typecheck marker */},
-  {(bigint) 3643 /* 8: ArraySet < ArraySet: superclass typecheck marker */},
+  {(bigint) 3647 /* 8: ArraySet < ArraySet: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9574,7 +11806,9 @@ const classtable_elt_t VFT_ArraySet[78] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 49: ArraySet < Set: superclass init_table position */},
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 50: ArraySet < Set: superclass init_table position */},
+  {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9583,7 +11817,7 @@ const classtable_elt_t VFT_ArraySet[78] = {
   {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: ArraySet < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: ArraySet < Collection: superclass init_table position */},
   {(bigint) array___ArraySet___iterator},
   {(bigint) array___ArraySet___is_empty},
   {(bigint) array___ArraySet___length},
@@ -9591,14 +11825,14 @@ const classtable_elt_t VFT_ArraySet[78] = {
   {(bigint) abstract_collection___Set___has_only},
   {(bigint) abstract_collection___Set___count},
   {(bigint) array___ArraySet___first},
-  {(bigint) 2 /* 66: ArraySet < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: ArraySet < RemovableCollection: superclass init_table position */},
   {(bigint) array___ArraySet___clear},
   {(bigint) array___ArraySet___remove},
   {(bigint) array___ArraySet___remove_all},
-  {(bigint) 3 /* 70: ArraySet < SimpleCollection: superclass init_table position */},
+  {(bigint) 3 /* 72: ArraySet < SimpleCollection: superclass init_table position */},
   {(bigint) array___ArraySet___add},
   {(bigint) abstract_collection___SimpleCollection___add_all},
-  {(bigint) 5 /* 73: ArraySet < ArraySet: superclass init_table position */},
+  {(bigint) 5 /* 75: ArraySet < ArraySet: superclass init_table position */},
   {(bigint) array___ArraySet___enlarge},
   {(bigint) array___ArraySet___remove_at},
   {(bigint) array___ArraySet___init},
@@ -9612,13 +11846,13 @@ val_t NEW_ArraySet(void) {
   obj->vft = (classtable_elt_t*)VFT_ArraySet;
   return OBJ2VAL(obj);
 }
-val_t NEW_array___ArraySet___init() {
+val_t NEW_ArraySet_array___ArraySet___init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ArraySet();
   array___ArraySet___init(self, init_table);
   return self;
 }
-val_t NEW_array___ArraySet___with_capacity(val_t p0) {
+val_t NEW_ArraySet_array___ArraySet___with_capacity(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ArraySet();
   array___ArraySet___with_capacity(self, p0, init_table);
@@ -9681,14 +11915,14 @@ val_t NEW_ArraySetIterator(void) {
   obj->vft = (classtable_elt_t*)VFT_ArraySetIterator;
   return OBJ2VAL(obj);
 }
-val_t NEW_array___ArraySetIterator___init(val_t p0) {
+val_t NEW_ArraySetIterator_array___ArraySetIterator___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ArraySetIterator();
   array___ArraySetIterator___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ArrayMap[85] = {
-  {(bigint) 3647 /* 0: Identity */},
+const classtable_elt_t VFT_ArrayMap[87] = {
+  {(bigint) 3651 /* 0: Identity */},
   {(bigint) 3 /* 1: ArrayMap < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9697,7 +11931,7 @@ const classtable_elt_t VFT_ArrayMap[85] = {
   {(bigint) 211 /* 6: ArrayMap < RemovableCollection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {(bigint) 3143 /* 8: ArrayMap < Map: superclass typecheck marker */},
-  {(bigint) 3647 /* 9: ArrayMap < ArrayMap: superclass typecheck marker */},
+  {(bigint) 3651 /* 9: ArrayMap < ArrayMap: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9737,16 +11971,18 @@ const classtable_elt_t VFT_ArrayMap[85] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 49: ArrayMap < CoupleMap: superclass init_table position */},
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 50: ArrayMap < CoupleMap: superclass init_table position */},
   {(bigint) array___ArrayMap___couple_at},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: ArrayMap < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: ArrayMap < Collection: superclass init_table position */},
   {(bigint) array___ArrayMap___iterator},
   {(bigint) array___ArrayMap___is_empty},
   {(bigint) array___ArrayMap___length},
@@ -9754,7 +11990,7 @@ const classtable_elt_t VFT_ArrayMap[85] = {
   {(bigint) array___ArrayMap___has_only},
   {(bigint) array___ArrayMap___count},
   {(bigint) array___ArrayMap___first},
-  {(bigint) 2 /* 66: ArrayMap < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: ArrayMap < RemovableCollection: superclass init_table position */},
   {(bigint) array___ArrayMap___clear},
   {(bigint) array___ArrayMap___remove},
   {(bigint) array___ArrayMap___remove_all},
@@ -9762,13 +11998,13 @@ const classtable_elt_t VFT_ArrayMap[85] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) string___Map___map_join},
-  {(bigint) 3 /* 74: ArrayMap < Map: superclass init_table position */},
+  {(bigint) 3 /* 76: ArrayMap < Map: superclass init_table position */},
   {(bigint) array___ArrayMap_____bra},
   {(bigint) array___ArrayMap_____braeq},
   {(bigint) array___ArrayMap___has_key},
   {(bigint) array___ArrayMap___remove_at},
   {(bigint) abstract_collection___Map___recover_with},
-  {(bigint) 5 /* 80: ArrayMap < ArrayMap: superclass init_table position */},
+  {(bigint) 5 /* 82: ArrayMap < ArrayMap: superclass init_table position */},
   {(bigint) array___ArrayMap___enlarge},
   {(bigint) array___ArrayMap___remove_at_index},
   {(bigint) array___ArrayMap___index},
@@ -9784,7 +12020,7 @@ val_t NEW_ArrayMap(void) {
   ATTR_array___ArrayMap____last_index(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_array___ArrayMap___init() {
+val_t NEW_ArrayMap_array___ArrayMap___init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ArrayMap();
   array___ArrayMap___init(self, init_table);
@@ -9894,8 +12130,8 @@ val_t BOX_NativeArray(val_t * val) {
   box->val = val;
   return OBJ2VAL(box);
 }
-const classtable_elt_t VFT_String[134] = {
-  {(bigint) 3783 /* 0: Identity */},
+const classtable_elt_t VFT_String[137] = {
+  {(bigint) 3787 /* 0: Identity */},
   {(bigint) 3 /* 1: String < Object: superclass typecheck marker */},
   {(bigint) 31 /* 2: String < StringCapable: superclass typecheck marker */},
   {(bigint) 51 /* 3: String < Pattern: superclass typecheck marker */},
@@ -9905,8 +12141,8 @@ const classtable_elt_t VFT_String[134] = {
   {(bigint) 3035 /* 7: String < SimpleCollection: superclass typecheck marker */},
   {(bigint) 3143 /* 8: String < Map: superclass typecheck marker */},
   {(bigint) 3303 /* 9: String < IndexedCollection: superclass typecheck marker */},
-  {(bigint) 3651 /* 10: String < AbstractArray: superclass typecheck marker */},
-  {(bigint) 3783 /* 11: String < String: superclass typecheck marker */},
+  {(bigint) 3655 /* 10: String < AbstractArray: superclass typecheck marker */},
+  {(bigint) 3787 /* 11: String < String: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
   {(bigint) utils___Object___cmangle_table},
@@ -9937,12 +12173,14 @@ const classtable_elt_t VFT_String[134] = {
   {(bigint) math___Object___srand},
   {(bigint) 8 /* 40: String < StringCapable: superclass init_table position */},
   {(bigint) string___StringCapable___calloc_string},
-  {(bigint) 9 /* 42: String < Pattern: superclass init_table position */},
+  {(bigint) string___StringCapable___init},
+  {(bigint) 9 /* 43: String < Pattern: superclass init_table position */},
   {(bigint) string_search___String___search_index_in},
   {(bigint) string_search___String___search_in},
   {(bigint) string_search___Pattern___search_all_in},
   {(bigint) string_search___Pattern___split_in},
-  {(bigint) 7 /* 47: String < Comparable: superclass init_table position */},
+  {(bigint) string_search___Pattern___init},
+  {(bigint) 7 /* 49: String < Comparable: superclass init_table position */},
   {(bigint) string___String_____l},
   {(bigint) kernel___Comparable_____leq},
   {(bigint) kernel___Comparable_____geq},
@@ -9953,7 +12191,7 @@ const classtable_elt_t VFT_String[134] = {
   {(bigint) kernel___Comparable___min},
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: String < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: String < Collection: superclass init_table position */},
   {(bigint) array___AbstractArray___iterator},
   {(bigint) array___AbstractArray___is_empty},
   {(bigint) array___AbstractArray___length},
@@ -9961,21 +12199,21 @@ const classtable_elt_t VFT_String[134] = {
   {(bigint) array___AbstractArray___has_only},
   {(bigint) array___AbstractArray___count},
   {(bigint) abstract_collection___IndexedCollection___first},
-  {(bigint) 2 /* 66: String < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: String < RemovableCollection: superclass init_table position */},
   {(bigint) array___AbstractArray___clear},
   {(bigint) array___AbstractArray___remove},
   {(bigint) array___AbstractArray___remove_all},
-  {(bigint) 4 /* 70: String < SimpleCollection: superclass init_table position */},
+  {(bigint) 4 /* 72: String < SimpleCollection: superclass init_table position */},
   {(bigint) string___String___add},
   {(bigint) abstract_collection___SimpleCollection___add_all},
   {(bigint) string___Map___map_join},
-  {(bigint) 3 /* 74: String < Map: superclass init_table position */},
+  {(bigint) 3 /* 76: String < Map: superclass init_table position */},
   {(bigint) string___String_____bra},
   {(bigint) string___String_____braeq},
   {(bigint) array___AbstractArray___has_key},
   {(bigint) array___AbstractArray___remove_at},
   {(bigint) abstract_collection___Map___recover_with},
-  {(bigint) 5 /* 80: String < IndexedCollection: superclass init_table position */},
+  {(bigint) 5 /* 82: String < IndexedCollection: superclass init_table position */},
   {(bigint) abstract_collection___IndexedCollection___first__eq},
   {(bigint) abstract_collection___IndexedCollection___last},
   {(bigint) abstract_collection___IndexedCollection___last__eq},
@@ -9985,7 +12223,7 @@ const classtable_elt_t VFT_String[134] = {
   {(bigint) array___AbstractArray___unshift},
   {(bigint) array___AbstractArray___shift},
   {(bigint) array___AbstractArray___index_of},
-  {(bigint) 6 /* 90: String < AbstractArray: superclass init_table position */},
+  {(bigint) 6 /* 92: String < AbstractArray: superclass init_table position */},
   {(bigint) string___String___enlarge},
   {(bigint) array___AbstractArray___insert},
   {(bigint) array___AbstractArray___last_index_of},
@@ -9993,8 +12231,9 @@ const classtable_elt_t VFT_String[134] = {
   {(bigint) array___AbstractArray___last_index_of_from},
   {(bigint) array___AbstractArray___reversed},
   {(bigint) array___AbstractArray___copy_to},
+  {(bigint) array___AbstractArray___init},
   {(bigint) symbol___String___to_symbol},
-  {(bigint) 10 /* 99: String < String: superclass init_table position */},
+  {(bigint) 10 /* 102: String < String: superclass init_table position */},
   {(bigint) abstract_collection___IndexedCollection___append},
   {(bigint) string___String_____plus},
   {(bigint) string___String_____star},
@@ -10042,43 +12281,61 @@ val_t NEW_String(void) {
   ATTR_string___String____capacity(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_string___String___init() {
+val_t NEW_String_array___AbstractArray___init() {
+  int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_String();
+  array___AbstractArray___init(self, init_table);
+  return self;
+}
+val_t NEW_String_string___StringCapable___init() {
+  int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_String();
+  string___StringCapable___init(self, init_table);
+  return self;
+}
+val_t NEW_String_string___String___init() {
   int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_String();
   string___String___init(self, init_table);
   return self;
 }
-val_t NEW_string___String___from(val_t p0) {
+val_t NEW_String_string___String___from(val_t p0) {
   int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_String();
   string___String___from(self, p0, init_table);
   return self;
 }
-val_t NEW_string___String___with_capacity(val_t p0) {
+val_t NEW_String_string___String___with_capacity(val_t p0) {
   int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_String();
   string___String___with_capacity(self, p0, init_table);
   return self;
 }
-val_t NEW_string___String___with_native(val_t p0, val_t p1) {
+val_t NEW_String_string___String___with_native(val_t p0, val_t p1) {
   int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_String();
   string___String___with_native(self, p0, p1, init_table);
   return self;
 }
-val_t NEW_string___String___from_cstring(val_t p0) {
+val_t NEW_String_string___String___from_cstring(val_t p0) {
   int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_String();
   string___String___from_cstring(self, p0, init_table);
   return self;
 }
-val_t NEW_string___String___filled_with(val_t p0, val_t p1) {
+val_t NEW_String_string___String___filled_with(val_t p0, val_t p1) {
   int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_String();
   string___String___filled_with(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_NativeString[51] = {
+val_t NEW_String_string_search___Pattern___init() {
+  int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_String();
+  string_search___Pattern___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_NativeString[52] = {
   {(bigint) -5 /* 0: Identity */},
   {(bigint) 3 /* 1: NativeString < Object: superclass typecheck marker */},
   {(bigint) -5 /* 2: NativeString < NativeString: superclass typecheck marker */},
@@ -10126,6 +12383,7 @@ const classtable_elt_t VFT_NativeString[51] = {
   {(bigint) string___NativeString___copy_to},
   {(bigint) string___NativeString___cstring_length},
   {(bigint) string___NativeString___atoi},
+  {(bigint) string___NativeString___init},
   {(bigint) file___NativeString___file_exists},
   {(bigint) file___NativeString___file_stat},
   {(bigint) file___NativeString___file_mkdir},
@@ -10138,7 +12396,7 @@ val_t BOX_NativeString(char * val) {
   box->val = val;
   return OBJ2VAL(box);
 }
-const classtable_elt_t VFT_StringCapable[42] = {
+const classtable_elt_t VFT_StringCapable[43] = {
   {(bigint) 31 /* 0: Identity */},
   {(bigint) 3 /* 1: StringCapable < Object: superclass typecheck marker */},
   {(bigint) 31 /* 2: StringCapable < StringCapable: superclass typecheck marker */},
@@ -10181,6 +12439,7 @@ const classtable_elt_t VFT_StringCapable[42] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: StringCapable < StringCapable: superclass init_table position */},
   {(bigint) string___StringCapable___calloc_string},
+  {(bigint) string___StringCapable___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_StringCapable(void) {
@@ -10189,7 +12448,13 @@ val_t NEW_StringCapable(void) {
   obj->vft = (classtable_elt_t*)VFT_StringCapable;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_HashCollection[66] = {
+val_t NEW_StringCapable_string___StringCapable___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_StringCapable();
+  string___StringCapable___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_HashCollection[68] = {
   {(bigint) 2627 /* 0: Identity */},
   {(bigint) 3 /* 1: HashCollection < Object: superclass typecheck marker */},
   {(bigint) 171 /* 2: HashCollection < ArrayCapable: superclass typecheck marker */},
@@ -10239,6 +12504,8 @@ const classtable_elt_t VFT_HashCollection[66] = {
   {(bigint) hash___HashCollection___remove_index},
   {(bigint) hash___HashCollection___raz},
   {(bigint) hash___HashCollection___enlarge},
+  {(bigint) hash___HashCollection___init},
+  {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10248,7 +12515,7 @@ const classtable_elt_t VFT_HashCollection[66] = {
   {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: HashCollection < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: HashCollection < Collection: superclass init_table position */},
   {(bigint) abstract_collection___Collection___iterator},
   {(bigint) abstract_collection___Collection___is_empty},
   {(bigint) hash___HashCollection___length},
@@ -10278,7 +12545,13 @@ val_t NEW_HashCollection(void) {
   ATTR_hash___HashCollection____last_accessed_key(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_HashNode[46] = {
+val_t NEW_HashCollection_hash___HashCollection___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_HashCollection();
+  hash___HashCollection___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_HashNode[47] = {
   {(bigint) 139 /* 0: Identity */},
   {(bigint) 3 /* 1: HashNode < Object: superclass typecheck marker */},
   {(bigint) 139 /* 2: HashNode < HashNode: superclass typecheck marker */},
@@ -10325,6 +12598,7 @@ const classtable_elt_t VFT_HashNode[46] = {
   {(bigint) hash___HashNode___next_item__eq},
   {(bigint) hash___HashNode___prev_item},
   {(bigint) hash___HashNode___prev_item__eq},
+  {(bigint) hash___HashNode___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute HashNode::_next_item */
@@ -10337,15 +12611,21 @@ val_t NEW_HashNode(void) {
   ATTR_hash___HashNode____prev_item(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_HashMap[80] = {
-  {(bigint) 3639 /* 0: Identity */},
+val_t NEW_HashNode_hash___HashNode___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_HashNode();
+  hash___HashNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_HashMap[82] = {
+  {(bigint) 3643 /* 0: Identity */},
   {(bigint) 3 /* 1: HashMap < Object: superclass typecheck marker */},
   {(bigint) 171 /* 2: HashMap < ArrayCapable: superclass typecheck marker */},
   {(bigint) 2627 /* 3: HashMap < HashCollection: superclass typecheck marker */},
   {(bigint) 3319 /* 4: HashMap < CoupleMap: superclass typecheck marker */},
   {(bigint) 163 /* 5: HashMap < Collection: superclass typecheck marker */},
   {(bigint) 211 /* 6: HashMap < RemovableCollection: superclass typecheck marker */},
-  {(bigint) 3639 /* 7: HashMap < HashMap: superclass typecheck marker */},
+  {(bigint) 3643 /* 7: HashMap < HashMap: superclass typecheck marker */},
   {(bigint) 3143 /* 8: HashMap < Map: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10387,16 +12667,18 @@ const classtable_elt_t VFT_HashMap[80] = {
   {(bigint) hash___HashCollection___remove_index},
   {(bigint) hash___HashCollection___raz},
   {(bigint) hash___HashCollection___enlarge},
-  {(bigint) 4 /* 49: HashMap < CoupleMap: superclass init_table position */},
+  {(bigint) hash___HashCollection___init},
+  {(bigint) 4 /* 50: HashMap < CoupleMap: superclass init_table position */},
   {(bigint) hash___HashMap___couple_at},
-  {(bigint) 7 /* 51: HashMap < HashMap: superclass init_table position */},
+  {(bigint) 7 /* 52: HashMap < HashMap: superclass init_table position */},
   {(bigint) hash___HashMap___init},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: HashMap < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: HashMap < Collection: superclass init_table position */},
   {(bigint) hash___HashMap___iterator},
   {(bigint) hash___HashMap___is_empty},
   {(bigint) hash___HashCollection___length},
@@ -10404,7 +12686,7 @@ const classtable_elt_t VFT_HashMap[80] = {
   {(bigint) hash___HashMap___has_only},
   {(bigint) hash___HashMap___count},
   {(bigint) hash___HashMap___first},
-  {(bigint) 2 /* 66: HashMap < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: HashMap < RemovableCollection: superclass init_table position */},
   {(bigint) hash___HashMap___clear},
   {(bigint) hash___HashMap___remove},
   {(bigint) abstract_collection___RemovableCollection___remove_all},
@@ -10412,7 +12694,7 @@ const classtable_elt_t VFT_HashMap[80] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) string___Map___map_join},
-  {(bigint) 3 /* 74: HashMap < Map: superclass init_table position */},
+  {(bigint) 3 /* 76: HashMap < Map: superclass init_table position */},
   {(bigint) abstract_collection___CoupleMap_____bra},
   {(bigint) hash___HashMap_____braeq},
   {(bigint) abstract_collection___CoupleMap___has_key},
@@ -10440,13 +12722,19 @@ val_t NEW_HashMap(void) {
   ATTR_hash___HashCollection____last_accessed_key(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_hash___HashMap___init() {
+val_t NEW_HashMap_hash___HashCollection___init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_HashMap();
+  hash___HashCollection___init(self, init_table);
+  return self;
+}
+val_t NEW_HashMap_hash___HashMap___init() {
   int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_HashMap();
   hash___HashMap___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_HashMapNode[54] = {
+const classtable_elt_t VFT_HashMapNode[55] = {
   {(bigint) 2623 /* 0: Identity */},
   {(bigint) 3 /* 1: HashMapNode < Object: superclass typecheck marker */},
   {(bigint) 139 /* 2: HashMapNode < HashNode: superclass typecheck marker */},
@@ -10493,13 +12781,14 @@ const classtable_elt_t VFT_HashMapNode[54] = {
   {(bigint) hash___HashNode___next_item__eq},
   {(bigint) hash___HashNode___prev_item},
   {(bigint) hash___HashNode___prev_item__eq},
-  {(bigint) 1 /* 46: HashMapNode < Couple: superclass init_table position */},
+  {(bigint) hash___HashNode___init},
+  {(bigint) 1 /* 47: HashMapNode < Couple: superclass init_table position */},
   {(bigint) abstract_collection___Couple___first},
   {(bigint) abstract_collection___Couple___first__eq},
   {(bigint) abstract_collection___Couple___second},
   {(bigint) abstract_collection___Couple___second__eq},
   {(bigint) abstract_collection___Couple___init},
-  {(bigint) 3 /* 52: HashMapNode < HashMapNode: superclass init_table position */},
+  {(bigint) 3 /* 53: HashMapNode < HashMapNode: superclass init_table position */},
   {(bigint) hash___HashMapNode___init},
 };
 /* 0: Pointer to the classtable */
@@ -10515,7 +12804,19 @@ val_t NEW_HashMapNode(void) {
   ATTR_hash___HashNode____prev_item(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_hash___HashMapNode___init(val_t p0, val_t p1) {
+val_t NEW_HashMapNode_abstract_collection___Couple___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_HashMapNode();
+  abstract_collection___Couple___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_HashMapNode_hash___HashNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_HashMapNode();
+  hash___HashNode___init(self, init_table);
+  return self;
+}
+val_t NEW_HashMapNode_hash___HashMapNode___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_HashMapNode();
   hash___HashMapNode___init(self, p0, p1, init_table);
@@ -10582,14 +12883,14 @@ val_t NEW_HashMapIterator(void) {
   obj->vft = (classtable_elt_t*)VFT_HashMapIterator;
   return OBJ2VAL(obj);
 }
-val_t NEW_hash___HashMapIterator___init(val_t p0) {
+val_t NEW_HashMapIterator_hash___HashMapIterator___init(val_t p0) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_HashMapIterator();
   hash___HashMapIterator___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_HashSet[73] = {
-  {(bigint) 3635 /* 0: Identity */},
+const classtable_elt_t VFT_HashSet[75] = {
+  {(bigint) 3639 /* 0: Identity */},
   {(bigint) 3 /* 1: HashSet < Object: superclass typecheck marker */},
   {(bigint) 171 /* 2: HashSet < ArrayCapable: superclass typecheck marker */},
   {(bigint) 2627 /* 3: HashSet < HashCollection: superclass typecheck marker */},
@@ -10597,7 +12898,7 @@ const classtable_elt_t VFT_HashSet[73] = {
   {(bigint) 163 /* 5: HashSet < Collection: superclass typecheck marker */},
   {(bigint) 211 /* 6: HashSet < RemovableCollection: superclass typecheck marker */},
   {(bigint) 3035 /* 7: HashSet < SimpleCollection: superclass typecheck marker */},
-  {(bigint) 3635 /* 8: HashSet < HashSet: superclass typecheck marker */},
+  {(bigint) 3639 /* 8: HashSet < HashSet: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10638,16 +12939,18 @@ const classtable_elt_t VFT_HashSet[73] = {
   {(bigint) hash___HashCollection___remove_index},
   {(bigint) hash___HashCollection___raz},
   {(bigint) hash___HashCollection___enlarge},
-  {(bigint) 4 /* 49: HashSet < Set: superclass init_table position */},
-  {(bigint) 7 /* 50: HashSet < HashSet: superclass init_table position */},
+  {(bigint) hash___HashCollection___init},
+  {(bigint) 4 /* 50: HashSet < Set: superclass init_table position */},
+  {(bigint) 7 /* 51: HashSet < HashSet: superclass init_table position */},
   {(bigint) hash___HashSet___init},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: HashSet < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: HashSet < Collection: superclass init_table position */},
   {(bigint) hash___HashSet___iterator},
   {(bigint) hash___HashSet___is_empty},
   {(bigint) hash___HashCollection___length},
@@ -10655,11 +12958,11 @@ const classtable_elt_t VFT_HashSet[73] = {
   {(bigint) abstract_collection___Set___has_only},
   {(bigint) abstract_collection___Set___count},
   {(bigint) hash___HashSet___first},
-  {(bigint) 2 /* 66: HashSet < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: HashSet < RemovableCollection: superclass init_table position */},
   {(bigint) hash___HashSet___clear},
   {(bigint) hash___HashSet___remove},
   {(bigint) abstract_collection___Set___remove_all},
-  {(bigint) 3 /* 70: HashSet < SimpleCollection: superclass init_table position */},
+  {(bigint) 3 /* 72: HashSet < SimpleCollection: superclass init_table position */},
   {(bigint) hash___HashSet___add},
   {(bigint) abstract_collection___SimpleCollection___add_all},
 };
@@ -10684,13 +12987,19 @@ val_t NEW_HashSet(void) {
   ATTR_hash___HashCollection____last_accessed_key(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_hash___HashSet___init() {
+val_t NEW_HashSet_hash___HashCollection___init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_HashSet();
+  hash___HashCollection___init(self, init_table);
+  return self;
+}
+val_t NEW_HashSet_hash___HashSet___init() {
   int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_HashSet();
   hash___HashSet___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_HashSetNode[49] = {
+const classtable_elt_t VFT_HashSetNode[50] = {
   {(bigint) 2615 /* 0: Identity */},
   {(bigint) 3 /* 1: HashSetNode < Object: superclass typecheck marker */},
   {(bigint) 139 /* 2: HashSetNode < HashNode: superclass typecheck marker */},
@@ -10737,7 +13046,8 @@ const classtable_elt_t VFT_HashSetNode[49] = {
   {(bigint) hash___HashNode___next_item__eq},
   {(bigint) hash___HashNode___prev_item},
   {(bigint) hash___HashNode___prev_item__eq},
-  {(bigint) 2 /* 46: HashSetNode < HashSetNode: superclass init_table position */},
+  {(bigint) hash___HashNode___init},
+  {(bigint) 2 /* 47: HashSetNode < HashSetNode: superclass init_table position */},
   {(bigint) hash___HashSetNode___key__eq},
   {(bigint) hash___HashSetNode___init},
 };
@@ -10753,7 +13063,13 @@ val_t NEW_HashSetNode(void) {
   ATTR_hash___HashNode____prev_item(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_hash___HashSetNode___init(val_t p0) {
+val_t NEW_HashSetNode_hash___HashNode___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_HashSetNode();
+  hash___HashNode___init(self, init_table);
+  return self;
+}
+val_t NEW_HashSetNode_hash___HashSetNode___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_HashSetNode();
   hash___HashSetNode___init(self, p0, init_table);
@@ -10817,7 +13133,7 @@ val_t NEW_HashSetIterator(void) {
   obj->vft = (classtable_elt_t*)VFT_HashSetIterator;
   return OBJ2VAL(obj);
 }
-val_t NEW_hash___HashSetIterator___init(val_t p0) {
+val_t NEW_HashSetIterator_hash___HashSetIterator___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_HashSetIterator();
   hash___HashSetIterator___init(self, p0, init_table);
@@ -10876,13 +13192,13 @@ val_t NEW_Symbol(void) {
   obj->vft = (classtable_elt_t*)VFT_Symbol;
   return OBJ2VAL(obj);
 }
-val_t NEW_symbol___Symbol___init(val_t p0) {
+val_t NEW_Symbol_symbol___Symbol___init(val_t p0) {
   int init_table[2] = {0, 0};
   val_t self = NEW_Symbol();
   symbol___Symbol___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AbstractSorter[46] = {
+const classtable_elt_t VFT_AbstractSorter[47] = {
   {(bigint) 175 /* 0: Identity */},
   {(bigint) 3 /* 1: AbstractSorter < Object: superclass typecheck marker */},
   {(bigint) 175 /* 2: AbstractSorter < AbstractSorter: superclass typecheck marker */},
@@ -10929,6 +13245,7 @@ const classtable_elt_t VFT_AbstractSorter[46] = {
   {(bigint) sorter___AbstractSorter___sub_sort},
   {(bigint) sorter___AbstractSorter___quick_sort},
   {(bigint) sorter___AbstractSorter___bubble_sort},
+  {(bigint) sorter___AbstractSorter___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_AbstractSorter(void) {
@@ -10937,7 +13254,13 @@ val_t NEW_AbstractSorter(void) {
   obj->vft = (classtable_elt_t*)VFT_AbstractSorter;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_ComparableSorter[48] = {
+val_t NEW_AbstractSorter_sorter___AbstractSorter___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_AbstractSorter();
+  sorter___AbstractSorter___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_ComparableSorter[49] = {
   {(bigint) 2659 /* 0: Identity */},
   {(bigint) 3 /* 1: ComparableSorter < Object: superclass typecheck marker */},
   {(bigint) 175 /* 2: ComparableSorter < AbstractSorter: superclass typecheck marker */},
@@ -10984,7 +13307,8 @@ const classtable_elt_t VFT_ComparableSorter[48] = {
   {(bigint) sorter___AbstractSorter___sub_sort},
   {(bigint) sorter___AbstractSorter___quick_sort},
   {(bigint) sorter___AbstractSorter___bubble_sort},
-  {(bigint) 2 /* 46: ComparableSorter < ComparableSorter: superclass init_table position */},
+  {(bigint) sorter___AbstractSorter___init},
+  {(bigint) 2 /* 47: ComparableSorter < ComparableSorter: superclass init_table position */},
   {(bigint) sorter___ComparableSorter___init},
 };
 /* 0: Pointer to the classtable */
@@ -10994,13 +13318,19 @@ val_t NEW_ComparableSorter(void) {
   obj->vft = (classtable_elt_t*)VFT_ComparableSorter;
   return OBJ2VAL(obj);
 }
-val_t NEW_sorter___ComparableSorter___init() {
+val_t NEW_ComparableSorter_sorter___AbstractSorter___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ComparableSorter();
+  sorter___AbstractSorter___init(self, init_table);
+  return self;
+}
+val_t NEW_ComparableSorter_sorter___ComparableSorter___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ComparableSorter();
   sorter___ComparableSorter___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_IOS[53] = {
+const classtable_elt_t VFT_IOS[54] = {
   {(bigint) 135 /* 0: Identity */},
   {(bigint) 3 /* 1: IOS < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -11054,6 +13384,7 @@ const classtable_elt_t VFT_IOS[53] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: IOS < IOS: superclass init_table position */},
   {(bigint) stream___IOS___close},
+  {(bigint) stream___IOS___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_IOS(void) {
@@ -11062,7 +13393,13 @@ val_t NEW_IOS(void) {
   obj->vft = (classtable_elt_t*)VFT_IOS;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_IStream[63] = {
+val_t NEW_IOS_stream___IOS___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_IOS();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_IStream[64] = {
   {(bigint) 2611 /* 0: Identity */},
   {(bigint) 3 /* 1: IStream < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -11116,10 +13453,11 @@ const classtable_elt_t VFT_IStream[63] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: IStream < IOS: superclass init_table position */},
   {(bigint) stream___IOS___close},
+  {(bigint) stream___IOS___init},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 2 /* 56: IStream < IStream: superclass init_table position */},
+  {(bigint) 2 /* 57: IStream < IStream: superclass init_table position */},
   {(bigint) stream___IStream___read_char},
   {(bigint) stream___IStream___read},
   {(bigint) stream___IStream___read_line},
@@ -11134,7 +13472,13 @@ val_t NEW_IStream(void) {
   obj->vft = (classtable_elt_t*)VFT_IStream;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_OStream[56] = {
+val_t NEW_IStream_stream___IOS___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_IStream();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_OStream[57] = {
   {(bigint) 2535 /* 0: Identity */},
   {(bigint) 3 /* 1: OStream < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -11188,7 +13532,8 @@ const classtable_elt_t VFT_OStream[56] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: OStream < IOS: superclass init_table position */},
   {(bigint) stream___IOS___close},
-  {(bigint) 2 /* 53: OStream < OStream: superclass init_table position */},
+  {(bigint) stream___IOS___init},
+  {(bigint) 2 /* 54: OStream < OStream: superclass init_table position */},
   {(bigint) stream___OStream___write},
   {(bigint) stream___OStream___is_writable},
 };
@@ -11199,7 +13544,13 @@ val_t NEW_OStream(void) {
   obj->vft = (classtable_elt_t*)VFT_OStream;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_BufferedIStream[67] = {
+val_t NEW_OStream_stream___IOS___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_OStream();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_BufferedIStream[68] = {
   {(bigint) 3235 /* 0: Identity */},
   {(bigint) 3 /* 1: BufferedIStream < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -11253,17 +13604,18 @@ const classtable_elt_t VFT_BufferedIStream[67] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: BufferedIStream < IOS: superclass init_table position */},
   {(bigint) stream___IOS___close},
+  {(bigint) stream___IOS___init},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 2 /* 56: BufferedIStream < IStream: superclass init_table position */},
+  {(bigint) 2 /* 57: BufferedIStream < IStream: superclass init_table position */},
   {(bigint) stream___BufferedIStream___read_char},
   {(bigint) stream___BufferedIStream___read},
   {(bigint) stream___IStream___read_line},
   {(bigint) stream___BufferedIStream___read_all},
   {(bigint) stream___BufferedIStream___append_line_to},
   {(bigint) stream___BufferedIStream___eof},
-  {(bigint) 3 /* 63: BufferedIStream < BufferedIStream: superclass init_table position */},
+  {(bigint) 3 /* 64: BufferedIStream < BufferedIStream: superclass init_table position */},
   {(bigint) stream___BufferedIStream___fill_buffer},
   {(bigint) stream___BufferedIStream___end_reached},
   {(bigint) stream___BufferedIStream___prepare_buffer},
@@ -11277,10 +13629,17 @@ val_t NEW_BufferedIStream(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_BufferedIStream;
-  ATTR_stream___BufferedIStream____buffer_pos(obj) = TAG_Int((bigint)0);
+  ATTR_stream___BufferedIStream____buffer(obj) =  NIT_NULL /*null*/;
+  ATTR_stream___BufferedIStream____buffer_pos(obj) =  TAG_Int(0);
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_IOStream[70] = {
+val_t NEW_BufferedIStream_stream___IOS___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_BufferedIStream();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_IOStream[71] = {
   {(bigint) 3191 /* 0: Identity */},
   {(bigint) 3 /* 1: IOStream < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -11334,10 +13693,11 @@ const classtable_elt_t VFT_IOStream[70] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: IOStream < IOS: superclass init_table position */},
   {(bigint) stream___IOS___close},
-  {(bigint) 3 /* 53: IOStream < OStream: superclass init_table position */},
+  {(bigint) stream___IOS___init},
+  {(bigint) 3 /* 54: IOStream < OStream: superclass init_table position */},
   {(bigint) stream___OStream___write},
   {(bigint) stream___OStream___is_writable},
-  {(bigint) 2 /* 56: IOStream < IStream: superclass init_table position */},
+  {(bigint) 2 /* 57: IOStream < IStream: superclass init_table position */},
   {(bigint) stream___IStream___read_char},
   {(bigint) stream___IStream___read},
   {(bigint) stream___IStream___read_line},
@@ -11350,7 +13710,7 @@ const classtable_elt_t VFT_IOStream[70] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 69: IOStream < IOStream: superclass init_table position */},
+  {(bigint) 4 /* 70: IOStream < IOStream: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_IOStream(void) {
@@ -11359,7 +13719,13 @@ val_t NEW_IOStream(void) {
   obj->vft = (classtable_elt_t*)VFT_IOStream;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_FDStream[53] = {
+val_t NEW_IOStream_stream___IOS___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_IOStream();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_FDStream[54] = {
   {(bigint) 2639 /* 0: Identity */},
   {(bigint) 3 /* 1: FDStream < Object: superclass typecheck marker */},
   {(bigint) 2639 /* 2: FDStream < FDStream: superclass typecheck marker */},
@@ -11413,6 +13779,7 @@ const classtable_elt_t VFT_FDStream[53] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: FDStream < IOS: superclass init_table position */},
   {(bigint) stream___FDStream___close},
+  {(bigint) stream___IOS___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute FDStream::_fd */
@@ -11423,13 +13790,19 @@ val_t NEW_FDStream(void) {
   ATTR_stream___FDStream____fd(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_stream___FDStream___init(val_t p0) {
+val_t NEW_FDStream_stream___IOS___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_FDStream();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_FDStream_stream___FDStream___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_FDStream();
   stream___FDStream___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_FDIStream[63] = {
+const classtable_elt_t VFT_FDIStream[64] = {
   {(bigint) 3203 /* 0: Identity */},
   {(bigint) 3 /* 1: FDIStream < Object: superclass typecheck marker */},
   {(bigint) 2639 /* 2: FDIStream < FDStream: superclass typecheck marker */},
@@ -11483,10 +13856,11 @@ const classtable_elt_t VFT_FDIStream[63] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: FDIStream < IOS: superclass init_table position */},
   {(bigint) stream___FDStream___close},
+  {(bigint) stream___IOS___init},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 3 /* 56: FDIStream < IStream: superclass init_table position */},
+  {(bigint) 3 /* 57: FDIStream < IStream: superclass init_table position */},
   {(bigint) stream___FDIStream___read_char},
   {(bigint) stream___IStream___read},
   {(bigint) stream___IStream___read_line},
@@ -11506,13 +13880,25 @@ val_t NEW_FDIStream(void) {
   ATTR_stream___FDIStream____eof(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_stream___FDIStream___init(val_t p0) {
+val_t NEW_FDIStream_stream___IOS___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_FDIStream();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_FDIStream_stream___FDStream___init(val_t p0) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_FDIStream();
+  stream___FDStream___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_FDIStream_stream___FDIStream___init(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_FDIStream();
   stream___FDIStream___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_FDOStream[56] = {
+const classtable_elt_t VFT_FDOStream[57] = {
   {(bigint) 3199 /* 0: Identity */},
   {(bigint) 3 /* 1: FDOStream < Object: superclass typecheck marker */},
   {(bigint) 2639 /* 2: FDOStream < FDStream: superclass typecheck marker */},
@@ -11566,7 +13952,8 @@ const classtable_elt_t VFT_FDOStream[56] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: FDOStream < IOS: superclass init_table position */},
   {(bigint) stream___FDStream___close},
-  {(bigint) 3 /* 53: FDOStream < OStream: superclass init_table position */},
+  {(bigint) stream___IOS___init},
+  {(bigint) 3 /* 54: FDOStream < OStream: superclass init_table position */},
   {(bigint) stream___FDOStream___write},
   {(bigint) stream___FDOStream___is_writable},
 };
@@ -11581,13 +13968,25 @@ val_t NEW_FDOStream(void) {
   ATTR_stream___FDOStream____is_writable(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_stream___FDOStream___init(val_t p0) {
+val_t NEW_FDOStream_stream___IOS___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_FDOStream();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_FDOStream_stream___FDStream___init(val_t p0) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_FDOStream();
+  stream___FDStream___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_FDOStream_stream___FDOStream___init(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_FDOStream();
   stream___FDOStream___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_FDIOStream[70] = {
+const classtable_elt_t VFT_FDIOStream[71] = {
   {(bigint) 3315 /* 0: Identity */},
   {(bigint) 3 /* 1: FDIOStream < Object: superclass typecheck marker */},
   {(bigint) 2639 /* 2: FDIOStream < FDStream: superclass typecheck marker */},
@@ -11641,23 +14040,24 @@ const classtable_elt_t VFT_FDIOStream[70] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: FDIOStream < IOS: superclass init_table position */},
   {(bigint) stream___FDStream___close},
-  {(bigint) 5 /* 53: FDIOStream < OStream: superclass init_table position */},
+  {(bigint) stream___IOS___init},
+  {(bigint) 5 /* 54: FDIOStream < OStream: superclass init_table position */},
   {(bigint) stream___FDOStream___write},
   {(bigint) stream___FDOStream___is_writable},
-  {(bigint) 3 /* 56: FDIOStream < IStream: superclass init_table position */},
+  {(bigint) 3 /* 57: FDIOStream < IStream: superclass init_table position */},
   {(bigint) stream___FDIStream___read_char},
   {(bigint) stream___IStream___read},
   {(bigint) stream___IStream___read_line},
   {(bigint) stream___IStream___read_all},
   {(bigint) stream___IStream___append_line_to},
   {(bigint) stream___FDIStream___eof},
-  {(bigint) 8 /* 63: FDIOStream < FDIOStream: superclass init_table position */},
+  {(bigint) 8 /* 64: FDIOStream < FDIOStream: superclass init_table position */},
   {(bigint) stream___FDIOStream___init},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 7 /* 69: FDIOStream < IOStream: superclass init_table position */},
+  {(bigint) 7 /* 70: FDIOStream < IOStream: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute FDIOStream::_fd */
@@ -11672,13 +14072,37 @@ val_t NEW_FDIOStream(void) {
   ATTR_stream___FDOStream____is_writable(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_stream___FDIOStream___init(val_t p0) {
+val_t NEW_FDIOStream_stream___IOS___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_FDIOStream();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_FDIOStream_stream___FDStream___init(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_FDIOStream();
+  stream___FDStream___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_FDIOStream_stream___FDIStream___init(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_FDIOStream();
+  stream___FDIStream___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_FDIOStream_stream___FDOStream___init(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_FDIOStream();
+  stream___FDOStream___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_FDIOStream_stream___FDIOStream___init(val_t p0) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_FDIOStream();
   stream___FDIOStream___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_Pattern[47] = {
+const classtable_elt_t VFT_Pattern[49] = {
   {(bigint) 51 /* 0: Identity */},
   {(bigint) 3 /* 1: Pattern < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -11721,11 +14145,13 @@ const classtable_elt_t VFT_Pattern[47] = {
   {(bigint) math___Object___srand},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 42: Pattern < Pattern: superclass init_table position */},
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 43: Pattern < Pattern: superclass init_table position */},
   {(bigint) string_search___Pattern___search_index_in},
   {(bigint) string_search___Pattern___search_in},
   {(bigint) string_search___Pattern___search_all_in},
   {(bigint) string_search___Pattern___split_in},
+  {(bigint) string_search___Pattern___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_Pattern(void) {
@@ -11734,7 +14160,13 @@ val_t NEW_Pattern(void) {
   obj->vft = (classtable_elt_t*)VFT_Pattern;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_BM_Pattern[53] = {
+val_t NEW_Pattern_string_search___Pattern___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_Pattern();
+  string_search___Pattern___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_BM_Pattern[55] = {
   {(bigint) 2671 /* 0: Identity */},
   {(bigint) 3 /* 1: BM_Pattern < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -11777,12 +14209,14 @@ const classtable_elt_t VFT_BM_Pattern[53] = {
   {(bigint) math___Object___srand},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 42: BM_Pattern < Pattern: superclass init_table position */},
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 43: BM_Pattern < Pattern: superclass init_table position */},
   {(bigint) string_search___BM_Pattern___search_index_in},
   {(bigint) string_search___BM_Pattern___search_in},
   {(bigint) string_search___Pattern___search_all_in},
   {(bigint) string_search___Pattern___split_in},
-  {(bigint) 2 /* 47: BM_Pattern < BM_Pattern: superclass init_table position */},
+  {(bigint) string_search___Pattern___init},
+  {(bigint) 2 /* 49: BM_Pattern < BM_Pattern: superclass init_table position */},
   {(bigint) string_search___BM_Pattern___init},
   {(bigint) string_search___BM_Pattern___bc},
   {(bigint) string_search___BM_Pattern___compute_bc},
@@ -11801,7 +14235,13 @@ val_t NEW_BM_Pattern(void) {
   ATTR_string_search___BM_Pattern____length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_string_search___BM_Pattern___init(val_t p0) {
+val_t NEW_BM_Pattern_string_search___Pattern___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_BM_Pattern();
+  string_search___Pattern___init(self, init_table);
+  return self;
+}
+val_t NEW_BM_Pattern_string_search___BM_Pattern___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_BM_Pattern();
   string_search___BM_Pattern___init(self, p0, init_table);
@@ -11867,13 +14307,13 @@ val_t NEW_Match(void) {
   ATTR_string_search___Match____length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_string_search___Match___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_Match_string_search___Match___init(val_t p0, val_t p1, val_t p2) {
   int init_table[2] = {0, 0};
   val_t self = NEW_Match();
   string_search___Match___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_FStream[53] = {
+const classtable_elt_t VFT_FStream[54] = {
   {(bigint) 2635 /* 0: Identity */},
   {(bigint) 3 /* 1: FStream < Object: superclass typecheck marker */},
   {(bigint) 75 /* 2: FStream < NativeFileCapable: superclass typecheck marker */},
@@ -11927,6 +14367,7 @@ const classtable_elt_t VFT_FStream[53] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: FStream < IOS: superclass init_table position */},
   {(bigint) stream___IOS___close},
+  {(bigint) stream___IOS___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute FStream::_path */
@@ -11935,9 +14376,17 @@ val_t NEW_FStream(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 3);
   obj->vft = (classtable_elt_t*)VFT_FStream;
+  ATTR_file___FStream____path(obj) =  NIT_NULL /*null*/;
+  ATTR_file___FStream____file(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_IFStream[71] = {
+val_t NEW_FStream_stream___IOS___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_FStream();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_IFStream[73] = {
   {(bigint) 3311 /* 0: Identity */},
   {(bigint) 3 /* 1: IFStream < Object: superclass typecheck marker */},
   {(bigint) 75 /* 2: IFStream < NativeFileCapable: superclass typecheck marker */},
@@ -11991,23 +14440,25 @@ const classtable_elt_t VFT_IFStream[71] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: IFStream < IOS: superclass init_table position */},
   {(bigint) file___IFStream___close},
+  {(bigint) stream___IOS___init},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 56: IFStream < IStream: superclass init_table position */},
+  {(bigint) 4 /* 57: IFStream < IStream: superclass init_table position */},
   {(bigint) stream___BufferedIStream___read_char},
   {(bigint) stream___BufferedIStream___read},
   {(bigint) stream___IStream___read_line},
   {(bigint) stream___BufferedIStream___read_all},
   {(bigint) stream___BufferedIStream___append_line_to},
   {(bigint) stream___BufferedIStream___eof},
-  {(bigint) 5 /* 63: IFStream < BufferedIStream: superclass init_table position */},
+  {(bigint) 5 /* 64: IFStream < BufferedIStream: superclass init_table position */},
   {(bigint) file___IFStream___fill_buffer},
   {(bigint) file___IFStream___end_reached},
   {(bigint) stream___BufferedIStream___prepare_buffer},
-  {(bigint) 6 /* 67: IFStream < IFStream: superclass init_table position */},
+  {(bigint) 6 /* 68: IFStream < IFStream: superclass init_table position */},
   {(bigint) file___IFStream___reopen},
   {(bigint) file___IFStream___open},
+  {(bigint) file___IFStream___init},
   {(bigint) file___IFStream___without_file},
 };
 /* 0: Pointer to the classtable */
@@ -12020,23 +14471,38 @@ val_t NEW_IFStream(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_IFStream;
-  ATTR_stream___BufferedIStream____buffer_pos(obj) = TAG_Int((bigint)0);
-  ATTR_file___IFStream____end_reached(obj) = TAG_Bool((int)0);
+  ATTR_file___FStream____path(obj) =  NIT_NULL /*null*/;
+  ATTR_file___FStream____file(obj) =  NIT_NULL /*null*/;
+  ATTR_stream___BufferedIStream____buffer(obj) =  NIT_NULL /*null*/;
+  ATTR_stream___BufferedIStream____buffer_pos(obj) =  TAG_Int(0);
+  ATTR_file___IFStream____end_reached(obj) =  TAG_Bool(false);
   return OBJ2VAL(obj);
 }
-val_t NEW_file___IFStream___open(val_t p0) {
+val_t NEW_IFStream_stream___IOS___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_IFStream();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_IFStream_file___IFStream___open(val_t p0) {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_IFStream();
   file___IFStream___open(self, p0, init_table);
   return self;
 }
-val_t NEW_file___IFStream___without_file() {
+val_t NEW_IFStream_file___IFStream___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_IFStream();
+  file___IFStream___init(self, init_table);
+  return self;
+}
+val_t NEW_IFStream_file___IFStream___without_file() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_IFStream();
   file___IFStream___without_file(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_OFStream[60] = {
+const classtable_elt_t VFT_OFStream[62] = {
   {(bigint) 3139 /* 0: Identity */},
   {(bigint) 3 /* 1: OFStream < Object: superclass typecheck marker */},
   {(bigint) 75 /* 2: OFStream < NativeFileCapable: superclass typecheck marker */},
@@ -12090,12 +14556,14 @@ const classtable_elt_t VFT_OFStream[60] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: OFStream < IOS: superclass init_table position */},
   {(bigint) file___OFStream___close},
-  {(bigint) 4 /* 53: OFStream < OStream: superclass init_table position */},
+  {(bigint) stream___IOS___init},
+  {(bigint) 4 /* 54: OFStream < OStream: superclass init_table position */},
   {(bigint) file___OFStream___write},
   {(bigint) file___OFStream___is_writable},
-  {(bigint) 5 /* 56: OFStream < OFStream: superclass init_table position */},
+  {(bigint) 5 /* 57: OFStream < OFStream: superclass init_table position */},
   {(bigint) file___OFStream___write_native},
   {(bigint) file___OFStream___open},
+  {(bigint) file___OFStream___init},
   {(bigint) file___OFStream___without_file},
 };
 /* 0: Pointer to the classtable */
@@ -12106,22 +14574,36 @@ val_t NEW_OFStream(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_OFStream;
+  ATTR_file___FStream____path(obj) =  NIT_NULL /*null*/;
+  ATTR_file___FStream____file(obj) =  NIT_NULL /*null*/;
   ATTR_file___OFStream____writable(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_file___OFStream___open(val_t p0) {
+val_t NEW_OFStream_stream___IOS___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_OFStream();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_OFStream_file___OFStream___open(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_OFStream();
   file___OFStream___open(self, p0, init_table);
   return self;
 }
-val_t NEW_file___OFStream___without_file() {
+val_t NEW_OFStream_file___OFStream___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_OFStream();
+  file___OFStream___init(self, init_table);
+  return self;
+}
+val_t NEW_OFStream_file___OFStream___without_file() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_OFStream();
   file___OFStream___without_file(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_Stdin[73] = {
+const classtable_elt_t VFT_Stdin[75] = {
   {(bigint) 3619 /* 0: Identity */},
   {(bigint) 3 /* 1: Stdin < Object: superclass typecheck marker */},
   {(bigint) 75 /* 2: Stdin < NativeFileCapable: superclass typecheck marker */},
@@ -12175,25 +14657,27 @@ const classtable_elt_t VFT_Stdin[73] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: Stdin < IOS: superclass init_table position */},
   {(bigint) file___IFStream___close},
+  {(bigint) stream___IOS___init},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 56: Stdin < IStream: superclass init_table position */},
+  {(bigint) 4 /* 57: Stdin < IStream: superclass init_table position */},
   {(bigint) stream___BufferedIStream___read_char},
   {(bigint) stream___BufferedIStream___read},
   {(bigint) stream___IStream___read_line},
   {(bigint) stream___BufferedIStream___read_all},
   {(bigint) stream___BufferedIStream___append_line_to},
   {(bigint) stream___BufferedIStream___eof},
-  {(bigint) 5 /* 63: Stdin < BufferedIStream: superclass init_table position */},
+  {(bigint) 5 /* 64: Stdin < BufferedIStream: superclass init_table position */},
   {(bigint) file___IFStream___fill_buffer},
   {(bigint) file___IFStream___end_reached},
   {(bigint) stream___BufferedIStream___prepare_buffer},
-  {(bigint) 6 /* 67: Stdin < IFStream: superclass init_table position */},
+  {(bigint) 6 /* 68: Stdin < IFStream: superclass init_table position */},
   {(bigint) file___IFStream___reopen},
   {(bigint) file___IFStream___open},
+  {(bigint) file___IFStream___init},
   {(bigint) file___IFStream___without_file},
-  {(bigint) 7 /* 71: Stdin < Stdin: superclass init_table position */},
+  {(bigint) 7 /* 73: Stdin < Stdin: superclass init_table position */},
   {(bigint) file___Stdin___init},
 };
 /* 0: Pointer to the classtable */
@@ -12206,17 +14690,44 @@ val_t NEW_Stdin(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_Stdin;
-  ATTR_stream___BufferedIStream____buffer_pos(obj) = TAG_Int((bigint)0);
-  ATTR_file___IFStream____end_reached(obj) = TAG_Bool((int)0);
+  ATTR_file___FStream____path(obj) =  NIT_NULL /*null*/;
+  ATTR_file___FStream____file(obj) =  NIT_NULL /*null*/;
+  ATTR_stream___BufferedIStream____buffer(obj) =  NIT_NULL /*null*/;
+  ATTR_stream___BufferedIStream____buffer_pos(obj) =  TAG_Int(0);
+  ATTR_file___IFStream____end_reached(obj) =  TAG_Bool(false);
   return OBJ2VAL(obj);
 }
-val_t NEW_file___Stdin___init() {
+val_t NEW_Stdin_stream___IOS___init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stdin();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_Stdin_file___IFStream___open(val_t p0) {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stdin();
+  file___IFStream___open(self, p0, init_table);
+  return self;
+}
+val_t NEW_Stdin_file___IFStream___init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stdin();
+  file___IFStream___init(self, init_table);
+  return self;
+}
+val_t NEW_Stdin_file___IFStream___without_file() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stdin();
+  file___IFStream___without_file(self, init_table);
+  return self;
+}
+val_t NEW_Stdin_file___Stdin___init() {
   int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_Stdin();
   file___Stdin___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_Stdout[62] = {
+const classtable_elt_t VFT_Stdout[64] = {
   {(bigint) 3267 /* 0: Identity */},
   {(bigint) 3 /* 1: Stdout < Object: superclass typecheck marker */},
   {(bigint) 75 /* 2: Stdout < NativeFileCapable: superclass typecheck marker */},
@@ -12270,14 +14781,16 @@ const classtable_elt_t VFT_Stdout[62] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: Stdout < IOS: superclass init_table position */},
   {(bigint) file___OFStream___close},
-  {(bigint) 4 /* 53: Stdout < OStream: superclass init_table position */},
+  {(bigint) stream___IOS___init},
+  {(bigint) 4 /* 54: Stdout < OStream: superclass init_table position */},
   {(bigint) file___OFStream___write},
   {(bigint) file___OFStream___is_writable},
-  {(bigint) 5 /* 56: Stdout < OFStream: superclass init_table position */},
+  {(bigint) 5 /* 57: Stdout < OFStream: superclass init_table position */},
   {(bigint) file___OFStream___write_native},
   {(bigint) file___OFStream___open},
+  {(bigint) file___OFStream___init},
   {(bigint) file___OFStream___without_file},
-  {(bigint) 6 /* 60: Stdout < Stdout: superclass init_table position */},
+  {(bigint) 6 /* 62: Stdout < Stdout: superclass init_table position */},
   {(bigint) file___Stdout___init},
 };
 /* 0: Pointer to the classtable */
@@ -12288,16 +14801,42 @@ val_t NEW_Stdout(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_Stdout;
+  ATTR_file___FStream____path(obj) =  NIT_NULL /*null*/;
+  ATTR_file___FStream____file(obj) =  NIT_NULL /*null*/;
   ATTR_file___OFStream____writable(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_file___Stdout___init() {
+val_t NEW_Stdout_stream___IOS___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stdout();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_Stdout_file___OFStream___open(val_t p0) {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stdout();
+  file___OFStream___open(self, p0, init_table);
+  return self;
+}
+val_t NEW_Stdout_file___OFStream___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stdout();
+  file___OFStream___init(self, init_table);
+  return self;
+}
+val_t NEW_Stdout_file___OFStream___without_file() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stdout();
+  file___OFStream___without_file(self, init_table);
+  return self;
+}
+val_t NEW_Stdout_file___Stdout___init() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_Stdout();
   file___Stdout___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_Stderr[62] = {
+const classtable_elt_t VFT_Stderr[64] = {
   {(bigint) 3271 /* 0: Identity */},
   {(bigint) 3 /* 1: Stderr < Object: superclass typecheck marker */},
   {(bigint) 75 /* 2: Stderr < NativeFileCapable: superclass typecheck marker */},
@@ -12351,14 +14890,16 @@ const classtable_elt_t VFT_Stderr[62] = {
   {0} /* Class Hole :( */,
   {(bigint) 1 /* 51: Stderr < IOS: superclass init_table position */},
   {(bigint) file___OFStream___close},
-  {(bigint) 4 /* 53: Stderr < OStream: superclass init_table position */},
+  {(bigint) stream___IOS___init},
+  {(bigint) 4 /* 54: Stderr < OStream: superclass init_table position */},
   {(bigint) file___OFStream___write},
   {(bigint) file___OFStream___is_writable},
-  {(bigint) 5 /* 56: Stderr < OFStream: superclass init_table position */},
+  {(bigint) 5 /* 57: Stderr < OFStream: superclass init_table position */},
   {(bigint) file___OFStream___write_native},
   {(bigint) file___OFStream___open},
+  {(bigint) file___OFStream___init},
   {(bigint) file___OFStream___without_file},
-  {(bigint) 6 /* 60: Stderr < Stderr: superclass init_table position */},
+  {(bigint) 6 /* 62: Stderr < Stderr: superclass init_table position */},
   {(bigint) file___Stderr___init},
 };
 /* 0: Pointer to the classtable */
@@ -12369,10 +14910,36 @@ val_t NEW_Stderr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_Stderr;
+  ATTR_file___FStream____path(obj) =  NIT_NULL /*null*/;
+  ATTR_file___FStream____file(obj) =  NIT_NULL /*null*/;
   ATTR_file___OFStream____writable(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_file___Stderr___init() {
+val_t NEW_Stderr_stream___IOS___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stderr();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_Stderr_file___OFStream___open(val_t p0) {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stderr();
+  file___OFStream___open(self, p0, init_table);
+  return self;
+}
+val_t NEW_Stderr_file___OFStream___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stderr();
+  file___OFStream___init(self, init_table);
+  return self;
+}
+val_t NEW_Stderr_file___OFStream___without_file() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_Stderr();
+  file___OFStream___without_file(self, init_table);
+  return self;
+}
+val_t NEW_Stderr_file___Stderr___init() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_Stderr();
   file___Stderr___init(self, init_table);
@@ -12605,25 +15172,25 @@ val_t NEW_Process(void) {
   obj->vft = (classtable_elt_t*)VFT_Process;
   return OBJ2VAL(obj);
 }
-val_t NEW_exec___Process___init(val_t p0, val_t p1) {
+val_t NEW_Process_exec___Process___init(val_t p0, val_t p1) {
   int init_table[2] = {0, 0};
   val_t self = NEW_Process();
   exec___Process___init(self, p0, p1, init_table);
   return self;
 }
-val_t NEW_exec___Process___init_(val_t p0) {
+val_t NEW_Process_exec___Process___init_(val_t p0) {
   int init_table[2] = {0, 0};
   val_t self = NEW_Process();
   exec___Process___init_(self, p0, init_table);
   return self;
 }
-val_t NEW_exec___Process___execute(val_t p0, val_t p1, val_t p2) {
+val_t NEW_Process_exec___Process___execute(val_t p0, val_t p1, val_t p2) {
   int init_table[2] = {0, 0};
   val_t self = NEW_Process();
   exec___Process___execute(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_IProcess[69] = {
+const classtable_elt_t VFT_IProcess[70] = {
   {(bigint) 3187 /* 0: Identity */},
   {(bigint) 3 /* 1: IProcess < Object: superclass typecheck marker */},
   {(bigint) 43 /* 2: IProcess < Process: superclass typecheck marker */},
@@ -12677,10 +15244,11 @@ const classtable_elt_t VFT_IProcess[69] = {
   {(bigint) exec___Process___basic_exec_execute},
   {(bigint) 2 /* 51: IProcess < IOS: superclass init_table position */},
   {(bigint) exec___IProcess___close},
+  {(bigint) stream___IOS___init},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 3 /* 56: IProcess < IStream: superclass init_table position */},
+  {(bigint) 3 /* 57: IProcess < IStream: superclass init_table position */},
   {(bigint) exec___IProcess___read_char},
   {(bigint) stream___IStream___read},
   {(bigint) stream___IStream___read_line},
@@ -12690,7 +15258,7 @@ const classtable_elt_t VFT_IProcess[69] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 66: IProcess < IProcess: superclass init_table position */},
+  {(bigint) 4 /* 67: IProcess < IProcess: superclass init_table position */},
   {(bigint) exec___IProcess___init},
   {(bigint) exec___IProcess___init_},
 };
@@ -12704,19 +15272,43 @@ val_t NEW_IProcess(void) {
   obj->vft = (classtable_elt_t*)VFT_IProcess;
   return OBJ2VAL(obj);
 }
-val_t NEW_exec___IProcess___init(val_t p0, val_t p1) {
+val_t NEW_IProcess_exec___Process___init(val_t p0, val_t p1) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_IProcess();
+  exec___Process___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_IProcess_exec___Process___init_(val_t p0) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_IProcess();
+  exec___Process___init_(self, p0, init_table);
+  return self;
+}
+val_t NEW_IProcess_exec___Process___execute(val_t p0, val_t p1, val_t p2) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_IProcess();
+  exec___Process___execute(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_IProcess_stream___IOS___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_IProcess();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_IProcess_exec___IProcess___init(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_IProcess();
   exec___IProcess___init(self, p0, p1, init_table);
   return self;
 }
-val_t NEW_exec___IProcess___init_(val_t p0) {
+val_t NEW_IProcess_exec___IProcess___init_(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_IProcess();
   exec___IProcess___init_(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_OProcess[66] = {
+const classtable_elt_t VFT_OProcess[67] = {
   {(bigint) 3135 /* 0: Identity */},
   {(bigint) 3 /* 1: OProcess < Object: superclass typecheck marker */},
   {(bigint) 43 /* 2: OProcess < Process: superclass typecheck marker */},
@@ -12770,7 +15362,8 @@ const classtable_elt_t VFT_OProcess[66] = {
   {(bigint) exec___Process___basic_exec_execute},
   {(bigint) 2 /* 51: OProcess < IOS: superclass init_table position */},
   {(bigint) exec___OProcess___close},
-  {(bigint) 3 /* 53: OProcess < OStream: superclass init_table position */},
+  {(bigint) stream___IOS___init},
+  {(bigint) 3 /* 54: OProcess < OStream: superclass init_table position */},
   {(bigint) exec___OProcess___write},
   {(bigint) exec___OProcess___is_writable},
   {0} /* Class Hole :( */,
@@ -12780,7 +15373,7 @@ const classtable_elt_t VFT_OProcess[66] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 63: OProcess < OProcess: superclass init_table position */},
+  {(bigint) 4 /* 64: OProcess < OProcess: superclass init_table position */},
   {(bigint) exec___OProcess___init},
   {(bigint) exec___OProcess___init_},
 };
@@ -12793,19 +15386,43 @@ val_t NEW_OProcess(void) {
   obj->vft = (classtable_elt_t*)VFT_OProcess;
   return OBJ2VAL(obj);
 }
-val_t NEW_exec___OProcess___init(val_t p0, val_t p1) {
+val_t NEW_OProcess_exec___Process___init(val_t p0, val_t p1) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_OProcess();
+  exec___Process___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_OProcess_exec___Process___init_(val_t p0) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_OProcess();
+  exec___Process___init_(self, p0, init_table);
+  return self;
+}
+val_t NEW_OProcess_exec___Process___execute(val_t p0, val_t p1, val_t p2) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_OProcess();
+  exec___Process___execute(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OProcess_stream___IOS___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_OProcess();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_OProcess_exec___OProcess___init(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_OProcess();
   exec___OProcess___init(self, p0, p1, init_table);
   return self;
 }
-val_t NEW_exec___OProcess___init_(val_t p0) {
+val_t NEW_OProcess_exec___OProcess___init_(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_OProcess();
   exec___OProcess___init_(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_IOProcess[73] = {
+const classtable_elt_t VFT_IOProcess[74] = {
   {(bigint) 3307 /* 0: Identity */},
   {(bigint) 3 /* 1: IOProcess < Object: superclass typecheck marker */},
   {(bigint) 43 /* 2: IOProcess < Process: superclass typecheck marker */},
@@ -12859,24 +15476,25 @@ const classtable_elt_t VFT_IOProcess[73] = {
   {(bigint) exec___Process___basic_exec_execute},
   {(bigint) 2 /* 51: IOProcess < IOS: superclass init_table position */},
   {(bigint) exec___IOProcess___close},
-  {(bigint) 5 /* 53: IOProcess < OStream: superclass init_table position */},
+  {(bigint) stream___IOS___init},
+  {(bigint) 5 /* 54: IOProcess < OStream: superclass init_table position */},
   {(bigint) exec___OProcess___write},
   {(bigint) exec___OProcess___is_writable},
-  {(bigint) 3 /* 56: IOProcess < IStream: superclass init_table position */},
+  {(bigint) 3 /* 57: IOProcess < IStream: superclass init_table position */},
   {(bigint) exec___IProcess___read_char},
   {(bigint) stream___IStream___read},
   {(bigint) stream___IStream___read_line},
   {(bigint) stream___IStream___read_all},
   {(bigint) stream___IStream___append_line_to},
   {(bigint) exec___IProcess___eof},
-  {(bigint) 6 /* 63: IOProcess < OProcess: superclass init_table position */},
+  {(bigint) 6 /* 64: IOProcess < OProcess: superclass init_table position */},
   {(bigint) exec___OProcess___init},
   {(bigint) exec___OProcess___init_},
-  {(bigint) 4 /* 66: IOProcess < IProcess: superclass init_table position */},
+  {(bigint) 4 /* 67: IOProcess < IProcess: superclass init_table position */},
   {(bigint) exec___IProcess___init},
   {(bigint) exec___IProcess___init_},
-  {(bigint) 7 /* 69: IOProcess < IOStream: superclass init_table position */},
-  {(bigint) 8 /* 70: IOProcess < IOProcess: superclass init_table position */},
+  {(bigint) 7 /* 70: IOProcess < IOStream: superclass init_table position */},
+  {(bigint) 8 /* 71: IOProcess < IOProcess: superclass init_table position */},
   {(bigint) exec___IOProcess___init},
   {(bigint) exec___IOProcess___init_},
 };
@@ -12890,13 +15508,61 @@ val_t NEW_IOProcess(void) {
   obj->vft = (classtable_elt_t*)VFT_IOProcess;
   return OBJ2VAL(obj);
 }
-val_t NEW_exec___IOProcess___init(val_t p0, val_t p1) {
+val_t NEW_IOProcess_exec___Process___init(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_IOProcess();
+  exec___Process___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_IOProcess_exec___Process___init_(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_IOProcess();
+  exec___Process___init_(self, p0, init_table);
+  return self;
+}
+val_t NEW_IOProcess_exec___Process___execute(val_t p0, val_t p1, val_t p2) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_IOProcess();
+  exec___Process___execute(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_IOProcess_stream___IOS___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_IOProcess();
+  stream___IOS___init(self, init_table);
+  return self;
+}
+val_t NEW_IOProcess_exec___IProcess___init(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_IOProcess();
+  exec___IProcess___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_IOProcess_exec___IProcess___init_(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_IOProcess();
+  exec___IProcess___init_(self, p0, init_table);
+  return self;
+}
+val_t NEW_IOProcess_exec___OProcess___init(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_IOProcess();
+  exec___OProcess___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_IOProcess_exec___OProcess___init_(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_IOProcess();
+  exec___OProcess___init_(self, p0, init_table);
+  return self;
+}
+val_t NEW_IOProcess_exec___IOProcess___init(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_IOProcess();
   exec___IOProcess___init(self, p0, p1, init_table);
   return self;
 }
-val_t NEW_exec___IOProcess___init_(val_t p0) {
+val_t NEW_IOProcess_exec___IOProcess___init_(val_t p0) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_IOProcess();
   exec___IOProcess___init_(self, p0, init_table);
@@ -12961,8 +15627,8 @@ val_t BOX_NativeProcess(void * val) {
   box->val = val;
   return OBJ2VAL(box);
 }
-const classtable_elt_t VFT_List[98] = {
-  {(bigint) 3631 /* 0: Identity */},
+const classtable_elt_t VFT_List[100] = {
+  {(bigint) 3635 /* 0: Identity */},
   {(bigint) 3 /* 1: List < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -12972,7 +15638,7 @@ const classtable_elt_t VFT_List[98] = {
   {(bigint) 3035 /* 7: List < SimpleCollection: superclass typecheck marker */},
   {(bigint) 3143 /* 8: List < Map: superclass typecheck marker */},
   {(bigint) 3303 /* 9: List < IndexedCollection: superclass typecheck marker */},
-  {(bigint) 3631 /* 10: List < List: superclass typecheck marker */},
+  {(bigint) 3635 /* 10: List < List: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -13018,9 +15684,11 @@ const classtable_elt_t VFT_List[98] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: List < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: List < Collection: superclass init_table position */},
   {(bigint) list___List___iterator},
   {(bigint) list___List___is_empty},
   {(bigint) list___List___length},
@@ -13028,21 +15696,21 @@ const classtable_elt_t VFT_List[98] = {
   {(bigint) list___List___has_only},
   {(bigint) list___List___count},
   {(bigint) list___List___first},
-  {(bigint) 2 /* 66: List < RemovableCollection: superclass init_table position */},
+  {(bigint) 2 /* 68: List < RemovableCollection: superclass init_table position */},
   {(bigint) list___List___clear},
   {(bigint) list___List___remove},
   {(bigint) abstract_collection___RemovableCollection___remove_all},
-  {(bigint) 4 /* 70: List < SimpleCollection: superclass init_table position */},
+  {(bigint) 4 /* 72: List < SimpleCollection: superclass init_table position */},
   {(bigint) abstract_collection___IndexedCollection___add},
   {(bigint) abstract_collection___SimpleCollection___add_all},
   {(bigint) string___Map___map_join},
-  {(bigint) 3 /* 74: List < Map: superclass init_table position */},
+  {(bigint) 3 /* 76: List < Map: superclass init_table position */},
   {(bigint) list___List_____bra},
   {(bigint) list___List_____braeq},
   {(bigint) list___List___has_key},
   {(bigint) list___List___remove_at},
   {(bigint) abstract_collection___Map___recover_with},
-  {(bigint) 5 /* 80: List < IndexedCollection: superclass init_table position */},
+  {(bigint) 5 /* 82: List < IndexedCollection: superclass init_table position */},
   {(bigint) list___List___first__eq},
   {(bigint) list___List___last},
   {(bigint) list___List___last__eq},
@@ -13052,7 +15720,7 @@ const classtable_elt_t VFT_List[98] = {
   {(bigint) list___List___unshift},
   {(bigint) list___List___shift},
   {(bigint) abstract_collection___IndexedCollection___index_of},
-  {(bigint) 6 /* 90: List < List: superclass init_table position */},
+  {(bigint) 6 /* 92: List < List: superclass init_table position */},
   {(bigint) list___List___link},
   {(bigint) list___List___init},
   {(bigint) list___List___from},
@@ -13070,13 +15738,13 @@ val_t NEW_List(void) {
   obj->vft = (classtable_elt_t*)VFT_List;
   return OBJ2VAL(obj);
 }
-val_t NEW_list___List___init() {
+val_t NEW_List_list___List___init() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_List();
   list___List___init(self, init_table);
   return self;
 }
-val_t NEW_list___List___from(val_t p0) {
+val_t NEW_List_list___List___from(val_t p0) {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_List();
   list___List___from(self, p0, init_table);
@@ -13146,13 +15814,13 @@ val_t NEW_ListIterator(void) {
   ATTR_list___ListIterator____index(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_list___ListIterator___init(val_t p0) {
+val_t NEW_ListIterator_list___ListIterator___init(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ListIterator();
   list___ListIterator___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ListNode[76] = {
+const classtable_elt_t VFT_ListNode[78] = {
   {(bigint) 3179 /* 0: Identity */},
   {(bigint) 3 /* 1: ListNode < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -13209,9 +15877,11 @@ const classtable_elt_t VFT_ListNode[76] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: ListNode < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: ListNode < Collection: superclass init_table position */},
   {(bigint) abstract_collection___Container___iterator},
   {(bigint) abstract_collection___Container___is_empty},
   {(bigint) abstract_collection___Container___length},
@@ -13219,11 +15889,11 @@ const classtable_elt_t VFT_ListNode[76] = {
   {(bigint) abstract_collection___Container___has_only},
   {(bigint) abstract_collection___Container___count},
   {(bigint) abstract_collection___Container___first},
-  {(bigint) 2 /* 66: ListNode < Container: superclass init_table position */},
+  {(bigint) 2 /* 68: ListNode < Container: superclass init_table position */},
   {(bigint) abstract_collection___Container___init},
   {(bigint) abstract_collection___Container___item},
   {(bigint) abstract_collection___Container___item__eq},
-  {(bigint) 3 /* 70: ListNode < ListNode: superclass init_table position */},
+  {(bigint) 3 /* 72: ListNode < ListNode: superclass init_table position */},
   {(bigint) list___ListNode___init},
   {(bigint) list___ListNode___next},
   {(bigint) list___ListNode___next__eq},
@@ -13240,13 +15910,19 @@ val_t NEW_ListNode(void) {
   obj->vft = (classtable_elt_t*)VFT_ListNode;
   return OBJ2VAL(obj);
 }
-val_t NEW_list___ListNode___init(val_t p0) {
+val_t NEW_ListNode_abstract_collection___Container___init(val_t p0) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_ListNode();
+  abstract_collection___Container___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_ListNode_list___ListNode___init(val_t p0) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_ListNode();
   list___ListNode___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_Range[71] = {
+const classtable_elt_t VFT_Range[73] = {
   {(bigint) 2507 /* 0: Identity */},
   {(bigint) 3 /* 1: Range < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -13303,9 +15979,11 @@ const classtable_elt_t VFT_Range[71] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: Range < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: Range < Collection: superclass init_table position */},
   {(bigint) range___Range___iterator},
   {(bigint) range___Range___is_empty},
   {(bigint) range___Range___length},
@@ -13313,7 +15991,7 @@ const classtable_elt_t VFT_Range[71] = {
   {(bigint) range___Range___has_only},
   {(bigint) range___Range___count},
   {(bigint) range___Range___first},
-  {(bigint) 2 /* 66: Range < Range: superclass init_table position */},
+  {(bigint) 2 /* 68: Range < Range: superclass init_table position */},
   {(bigint) range___Range___last},
   {(bigint) range___Range___after},
   {(bigint) range___Range___init},
@@ -13329,13 +16007,13 @@ val_t NEW_Range(void) {
   obj->vft = (classtable_elt_t*)VFT_Range;
   return OBJ2VAL(obj);
 }
-val_t NEW_range___Range___init(val_t p0, val_t p1) {
+val_t NEW_Range_range___Range___init(val_t p0, val_t p1) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_Range();
   range___Range___init(self, p0, p1, init_table);
   return self;
 }
-val_t NEW_range___Range___without_last(val_t p0, val_t p1) {
+val_t NEW_Range_range___Range___without_last(val_t p0, val_t p1) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_Range();
   range___Range___without_last(self, p0, p1, init_table);
@@ -13399,13 +16077,13 @@ val_t NEW_IteratorRange(void) {
   obj->vft = (classtable_elt_t*)VFT_IteratorRange;
   return OBJ2VAL(obj);
 }
-val_t NEW_range___IteratorRange___init(val_t p0) {
+val_t NEW_IteratorRange_range___IteratorRange___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_IteratorRange();
   range___IteratorRange___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_PNode[61] = {
+const classtable_elt_t VFT_PNode[62] = {
   {(bigint) 63 /* 0: Identity */},
   {(bigint) 3 /* 1: PNode < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PNode < PNode: superclass typecheck marker */},
@@ -13464,6 +16142,7 @@ const classtable_elt_t VFT_PNode[61] = {
   {(bigint) parser_prod___PNode___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PNode < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -13476,7 +16155,13 @@ val_t NEW_PNode(void) {
   obj->vft = (classtable_elt_t*)VFT_PNode;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_Token[69] = {
+val_t NEW_PNode_parser_nodes___PNode___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_PNode();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_Token[70] = {
   {(bigint) 183 /* 0: Identity */},
   {(bigint) 3 /* 1: Token < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: Token < PNode: superclass typecheck marker */},
@@ -13535,6 +16220,7 @@ const classtable_elt_t VFT_Token[69] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: Token < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -13545,7 +16231,7 @@ const classtable_elt_t VFT_Token[69] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___Token___parser_index},
-  {(bigint) 2 /* 68: Token < Token: superclass init_table position */},
+  {(bigint) 2 /* 69: Token < Token: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Token::_parent */
@@ -13562,7 +16248,13 @@ val_t NEW_Token(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_Prod[67] = {
+val_t NEW_Token_parser_nodes___PNode___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_Token();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_Prod[68] = {
   {(bigint) 2511 /* 0: Identity */},
   {(bigint) 3 /* 1: Prod < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: Prod < PNode: superclass typecheck marker */},
@@ -13621,6 +16313,7 @@ const classtable_elt_t VFT_Prod[67] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: Prod < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -13629,7 +16322,7 @@ const classtable_elt_t VFT_Prod[67] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: Prod < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: Prod < Prod: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Prod::_parent */
@@ -13641,7 +16334,13 @@ val_t NEW_Prod(void) {
   obj->vft = (classtable_elt_t*)VFT_Prod;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_TEol[71] = {
+val_t NEW_Prod_parser_nodes___PNode___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_Prod();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TEol[72] = {
   {(bigint) 2975 /* 0: Identity */},
   {(bigint) 3 /* 1: TEol < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TEol < PNode: superclass typecheck marker */},
@@ -13700,6 +16399,7 @@ const classtable_elt_t VFT_TEol[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TEol < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -13710,9 +16410,9 @@ const classtable_elt_t VFT_TEol[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TEol___parser_index},
-  {(bigint) 2 /* 68: TEol < Token: superclass init_table position */},
-  {(bigint) lexer___TEol___init},
-  {(bigint) 3 /* 70: TEol < TEol: superclass init_table position */},
+  {(bigint) 2 /* 69: TEol < Token: superclass init_table position */},
+  {(bigint) lexer___TEol___init_tk},
+  {(bigint) 3 /* 71: TEol < TEol: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TEol::_parent */
@@ -13729,13 +16429,19 @@ val_t NEW_TEol(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TEol___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TEol_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TEol();
-  lexer___TEol___init(self, p0, p1, p2, p3, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TComment[71] = {
+val_t NEW_TEol_lexer___TEol___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TEol();
+  lexer___TEol___init_tk(self, p0, p1, p2, p3, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TComment[72] = {
   {(bigint) 2999 /* 0: Identity */},
   {(bigint) 3 /* 1: TComment < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TComment < PNode: superclass typecheck marker */},
@@ -13794,6 +16500,7 @@ const classtable_elt_t VFT_TComment[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TComment < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -13804,9 +16511,9 @@ const classtable_elt_t VFT_TComment[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TComment___parser_index},
-  {(bigint) 2 /* 68: TComment < Token: superclass init_table position */},
-  {(bigint) lexer___TComment___init},
-  {(bigint) 3 /* 70: TComment < TComment: superclass init_table position */},
+  {(bigint) 2 /* 69: TComment < Token: superclass init_table position */},
+  {(bigint) lexer___TComment___init_tk},
+  {(bigint) 3 /* 71: TComment < TComment: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TComment::_parent */
@@ -13823,13 +16530,19 @@ val_t NEW_TComment(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TComment___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TComment_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TComment();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TComment_lexer___TComment___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TComment();
-  lexer___TComment___init(self, p0, p1, p2, p3, init_table);
+  lexer___TComment___init_tk(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwpackage[71] = {
+const classtable_elt_t VFT_TKwpackage[72] = {
   {(bigint) 2831 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwpackage < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwpackage < PNode: superclass typecheck marker */},
@@ -13888,6 +16601,7 @@ const classtable_elt_t VFT_TKwpackage[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwpackage < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -13898,9 +16612,9 @@ const classtable_elt_t VFT_TKwpackage[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwpackage___parser_index},
-  {(bigint) 2 /* 68: TKwpackage < Token: superclass init_table position */},
-  {(bigint) lexer___TKwpackage___init},
-  {(bigint) 3 /* 70: TKwpackage < TKwpackage: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwpackage < Token: superclass init_table position */},
+  {(bigint) lexer___TKwpackage___init_tk},
+  {(bigint) 3 /* 71: TKwpackage < TKwpackage: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwpackage::_parent */
@@ -13917,13 +16631,19 @@ val_t NEW_TKwpackage(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwpackage___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwpackage_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwpackage();
-  lexer___TKwpackage___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwimport[71] = {
+val_t NEW_TKwpackage_lexer___TKwpackage___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwpackage();
+  lexer___TKwpackage___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwimport[72] = {
   {(bigint) 2887 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwimport < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwimport < PNode: superclass typecheck marker */},
@@ -13982,6 +16702,7 @@ const classtable_elt_t VFT_TKwimport[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwimport < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -13992,9 +16713,9 @@ const classtable_elt_t VFT_TKwimport[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwimport___parser_index},
-  {(bigint) 2 /* 68: TKwimport < Token: superclass init_table position */},
-  {(bigint) lexer___TKwimport___init},
-  {(bigint) 3 /* 70: TKwimport < TKwimport: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwimport < Token: superclass init_table position */},
+  {(bigint) lexer___TKwimport___init_tk},
+  {(bigint) 3 /* 71: TKwimport < TKwimport: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwimport::_parent */
@@ -14011,13 +16732,19 @@ val_t NEW_TKwimport(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwimport___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwimport_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwimport();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwimport_lexer___TKwimport___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwimport();
-  lexer___TKwimport___init(self, p0, p1, p2, init_table);
+  lexer___TKwimport___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwclass[71] = {
+const classtable_elt_t VFT_TKwclass[72] = {
   {(bigint) 2923 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwclass < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwclass < PNode: superclass typecheck marker */},
@@ -14076,6 +16803,7 @@ const classtable_elt_t VFT_TKwclass[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwclass < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -14086,9 +16814,9 @@ const classtable_elt_t VFT_TKwclass[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwclass___parser_index},
-  {(bigint) 2 /* 68: TKwclass < Token: superclass init_table position */},
-  {(bigint) lexer___TKwclass___init},
-  {(bigint) 3 /* 70: TKwclass < TKwclass: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwclass < Token: superclass init_table position */},
+  {(bigint) lexer___TKwclass___init_tk},
+  {(bigint) 3 /* 71: TKwclass < TKwclass: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwclass::_parent */
@@ -14105,13 +16833,19 @@ val_t NEW_TKwclass(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwclass___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwclass_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwclass();
-  lexer___TKwclass___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwabstract[71] = {
+val_t NEW_TKwclass_lexer___TKwclass___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwclass();
+  lexer___TKwclass___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwabstract[72] = {
   {(bigint) 2947 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwabstract < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwabstract < PNode: superclass typecheck marker */},
@@ -14170,6 +16904,7 @@ const classtable_elt_t VFT_TKwabstract[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwabstract < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -14180,9 +16915,9 @@ const classtable_elt_t VFT_TKwabstract[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwabstract___parser_index},
-  {(bigint) 2 /* 68: TKwabstract < Token: superclass init_table position */},
-  {(bigint) lexer___TKwabstract___init},
-  {(bigint) 3 /* 70: TKwabstract < TKwabstract: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwabstract < Token: superclass init_table position */},
+  {(bigint) lexer___TKwabstract___init_tk},
+  {(bigint) 3 /* 71: TKwabstract < TKwabstract: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwabstract::_parent */
@@ -14199,13 +16934,19 @@ val_t NEW_TKwabstract(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwabstract___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwabstract_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwabstract();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwabstract_lexer___TKwabstract___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwabstract();
-  lexer___TKwabstract___init(self, p0, p1, p2, init_table);
+  lexer___TKwabstract___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwinterface[71] = {
+const classtable_elt_t VFT_TKwinterface[72] = {
   {(bigint) 2875 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwinterface < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwinterface < PNode: superclass typecheck marker */},
@@ -14264,6 +17005,7 @@ const classtable_elt_t VFT_TKwinterface[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwinterface < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -14274,9 +17016,9 @@ const classtable_elt_t VFT_TKwinterface[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwinterface___parser_index},
-  {(bigint) 2 /* 68: TKwinterface < Token: superclass init_table position */},
-  {(bigint) lexer___TKwinterface___init},
-  {(bigint) 3 /* 70: TKwinterface < TKwinterface: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwinterface < Token: superclass init_table position */},
+  {(bigint) lexer___TKwinterface___init_tk},
+  {(bigint) 3 /* 71: TKwinterface < TKwinterface: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwinterface::_parent */
@@ -14293,13 +17035,19 @@ val_t NEW_TKwinterface(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwinterface___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwinterface_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwinterface();
-  lexer___TKwinterface___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwuniversal[71] = {
+val_t NEW_TKwinterface_lexer___TKwinterface___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwinterface();
+  lexer___TKwinterface___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwuniversal[72] = {
   {(bigint) 2783 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwuniversal < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwuniversal < PNode: superclass typecheck marker */},
@@ -14358,6 +17106,7 @@ const classtable_elt_t VFT_TKwuniversal[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwuniversal < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -14368,9 +17117,9 @@ const classtable_elt_t VFT_TKwuniversal[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwuniversal___parser_index},
-  {(bigint) 2 /* 68: TKwuniversal < Token: superclass init_table position */},
-  {(bigint) lexer___TKwuniversal___init},
-  {(bigint) 3 /* 70: TKwuniversal < TKwuniversal: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwuniversal < Token: superclass init_table position */},
+  {(bigint) lexer___TKwuniversal___init_tk},
+  {(bigint) 3 /* 71: TKwuniversal < TKwuniversal: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwuniversal::_parent */
@@ -14387,13 +17136,19 @@ val_t NEW_TKwuniversal(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwuniversal___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwuniversal_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwuniversal();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwuniversal_lexer___TKwuniversal___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwuniversal();
-  lexer___TKwuniversal___init(self, p0, p1, p2, init_table);
+  lexer___TKwuniversal___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwspecial[71] = {
+const classtable_elt_t VFT_TKwspecial[72] = {
   {(bigint) 2803 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwspecial < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwspecial < PNode: superclass typecheck marker */},
@@ -14452,6 +17207,7 @@ const classtable_elt_t VFT_TKwspecial[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwspecial < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -14462,9 +17218,9 @@ const classtable_elt_t VFT_TKwspecial[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwspecial___parser_index},
-  {(bigint) 2 /* 68: TKwspecial < Token: superclass init_table position */},
-  {(bigint) lexer___TKwspecial___init},
-  {(bigint) 3 /* 70: TKwspecial < TKwspecial: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwspecial < Token: superclass init_table position */},
+  {(bigint) lexer___TKwspecial___init_tk},
+  {(bigint) 3 /* 71: TKwspecial < TKwspecial: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwspecial::_parent */
@@ -14481,13 +17237,19 @@ val_t NEW_TKwspecial(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwspecial___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwspecial_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwspecial();
-  lexer___TKwspecial___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwend[71] = {
+val_t NEW_TKwspecial_lexer___TKwspecial___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwspecial();
+  lexer___TKwspecial___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwend[72] = {
   {(bigint) 2907 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwend < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwend < PNode: superclass typecheck marker */},
@@ -14546,6 +17308,7 @@ const classtable_elt_t VFT_TKwend[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwend < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -14556,9 +17319,9 @@ const classtable_elt_t VFT_TKwend[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwend___parser_index},
-  {(bigint) 2 /* 68: TKwend < Token: superclass init_table position */},
-  {(bigint) lexer___TKwend___init},
-  {(bigint) 3 /* 70: TKwend < TKwend: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwend < Token: superclass init_table position */},
+  {(bigint) lexer___TKwend___init_tk},
+  {(bigint) 3 /* 71: TKwend < TKwend: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwend::_parent */
@@ -14575,13 +17338,19 @@ val_t NEW_TKwend(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwend___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwend_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwend();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwend_lexer___TKwend___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwend();
-  lexer___TKwend___init(self, p0, p1, p2, init_table);
+  lexer___TKwend___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwmeth[71] = {
+const classtable_elt_t VFT_TKwmeth[72] = {
   {(bigint) 2855 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwmeth < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwmeth < PNode: superclass typecheck marker */},
@@ -14640,6 +17409,7 @@ const classtable_elt_t VFT_TKwmeth[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwmeth < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -14650,9 +17420,9 @@ const classtable_elt_t VFT_TKwmeth[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwmeth___parser_index},
-  {(bigint) 2 /* 68: TKwmeth < Token: superclass init_table position */},
-  {(bigint) lexer___TKwmeth___init},
-  {(bigint) 3 /* 70: TKwmeth < TKwmeth: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwmeth < Token: superclass init_table position */},
+  {(bigint) lexer___TKwmeth___init_tk},
+  {(bigint) 3 /* 71: TKwmeth < TKwmeth: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwmeth::_parent */
@@ -14669,13 +17439,19 @@ val_t NEW_TKwmeth(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwmeth___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwmeth_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwmeth();
-  lexer___TKwmeth___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwtype[71] = {
+val_t NEW_TKwmeth_lexer___TKwmeth___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwmeth();
+  lexer___TKwmeth___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwtype[72] = {
   {(bigint) 2787 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwtype < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwtype < PNode: superclass typecheck marker */},
@@ -14734,6 +17510,7 @@ const classtable_elt_t VFT_TKwtype[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwtype < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -14744,9 +17521,9 @@ const classtable_elt_t VFT_TKwtype[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwtype___parser_index},
-  {(bigint) 2 /* 68: TKwtype < Token: superclass init_table position */},
-  {(bigint) lexer___TKwtype___init},
-  {(bigint) 3 /* 70: TKwtype < TKwtype: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwtype < Token: superclass init_table position */},
+  {(bigint) lexer___TKwtype___init_tk},
+  {(bigint) 3 /* 71: TKwtype < TKwtype: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwtype::_parent */
@@ -14763,13 +17540,19 @@ val_t NEW_TKwtype(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwtype___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwtype_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwtype();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwtype_lexer___TKwtype___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwtype();
-  lexer___TKwtype___init(self, p0, p1, p2, init_table);
+  lexer___TKwtype___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwattr[71] = {
+const classtable_elt_t VFT_TKwattr[72] = {
   {(bigint) 2931 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwattr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwattr < PNode: superclass typecheck marker */},
@@ -14828,6 +17611,7 @@ const classtable_elt_t VFT_TKwattr[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwattr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -14838,9 +17622,9 @@ const classtable_elt_t VFT_TKwattr[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwattr___parser_index},
-  {(bigint) 2 /* 68: TKwattr < Token: superclass init_table position */},
-  {(bigint) lexer___TKwattr___init},
-  {(bigint) 3 /* 70: TKwattr < TKwattr: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwattr < Token: superclass init_table position */},
+  {(bigint) lexer___TKwattr___init_tk},
+  {(bigint) 3 /* 71: TKwattr < TKwattr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwattr::_parent */
@@ -14857,13 +17641,19 @@ val_t NEW_TKwattr(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwattr___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwattr_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwattr();
-  lexer___TKwattr___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwinit[71] = {
+val_t NEW_TKwattr_lexer___TKwattr___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwattr();
+  lexer___TKwattr___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwinit[72] = {
   {(bigint) 2879 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwinit < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwinit < PNode: superclass typecheck marker */},
@@ -14922,6 +17712,7 @@ const classtable_elt_t VFT_TKwinit[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwinit < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -14932,9 +17723,9 @@ const classtable_elt_t VFT_TKwinit[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwinit___parser_index},
-  {(bigint) 2 /* 68: TKwinit < Token: superclass init_table position */},
-  {(bigint) lexer___TKwinit___init},
-  {(bigint) 3 /* 70: TKwinit < TKwinit: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwinit < Token: superclass init_table position */},
+  {(bigint) lexer___TKwinit___init_tk},
+  {(bigint) 3 /* 71: TKwinit < TKwinit: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwinit::_parent */
@@ -14951,13 +17742,19 @@ val_t NEW_TKwinit(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwinit___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwinit_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwinit();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwinit_lexer___TKwinit___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwinit();
-  lexer___TKwinit___init(self, p0, p1, p2, init_table);
+  lexer___TKwinit___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwredef[71] = {
+const classtable_elt_t VFT_TKwredef[72] = {
   {(bigint) 2815 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwredef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwredef < PNode: superclass typecheck marker */},
@@ -15016,6 +17813,7 @@ const classtable_elt_t VFT_TKwredef[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwredef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -15026,9 +17824,9 @@ const classtable_elt_t VFT_TKwredef[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwredef___parser_index},
-  {(bigint) 2 /* 68: TKwredef < Token: superclass init_table position */},
-  {(bigint) lexer___TKwredef___init},
-  {(bigint) 3 /* 70: TKwredef < TKwredef: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwredef < Token: superclass init_table position */},
+  {(bigint) lexer___TKwredef___init_tk},
+  {(bigint) 3 /* 71: TKwredef < TKwredef: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwredef::_parent */
@@ -15045,13 +17843,19 @@ val_t NEW_TKwredef(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwredef___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwredef_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwredef();
-  lexer___TKwredef___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwis[71] = {
+val_t NEW_TKwredef_lexer___TKwredef___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwredef();
+  lexer___TKwredef___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwis[72] = {
   {(bigint) 2863 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwis < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwis < PNode: superclass typecheck marker */},
@@ -15110,6 +17914,7 @@ const classtable_elt_t VFT_TKwis[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwis < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -15120,9 +17925,9 @@ const classtable_elt_t VFT_TKwis[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwis___parser_index},
-  {(bigint) 2 /* 68: TKwis < Token: superclass init_table position */},
-  {(bigint) lexer___TKwis___init},
-  {(bigint) 3 /* 70: TKwis < TKwis: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwis < Token: superclass init_table position */},
+  {(bigint) lexer___TKwis___init_tk},
+  {(bigint) 3 /* 71: TKwis < TKwis: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwis::_parent */
@@ -15139,13 +17944,19 @@ val_t NEW_TKwis(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwis___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwis_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwis();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwis_lexer___TKwis___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwis();
-  lexer___TKwis___init(self, p0, p1, p2, init_table);
+  lexer___TKwis___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwdo[71] = {
+const classtable_elt_t VFT_TKwdo[72] = {
   {(bigint) 2915 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwdo < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwdo < PNode: superclass typecheck marker */},
@@ -15204,6 +18015,7 @@ const classtable_elt_t VFT_TKwdo[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwdo < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -15214,9 +18026,9 @@ const classtable_elt_t VFT_TKwdo[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwdo___parser_index},
-  {(bigint) 2 /* 68: TKwdo < Token: superclass init_table position */},
-  {(bigint) lexer___TKwdo___init},
-  {(bigint) 3 /* 70: TKwdo < TKwdo: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwdo < Token: superclass init_table position */},
+  {(bigint) lexer___TKwdo___init_tk},
+  {(bigint) 3 /* 71: TKwdo < TKwdo: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwdo::_parent */
@@ -15233,13 +18045,19 @@ val_t NEW_TKwdo(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwdo___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwdo_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwdo();
-  lexer___TKwdo___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwreadable[71] = {
+val_t NEW_TKwdo_lexer___TKwdo___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwdo();
+  lexer___TKwdo___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwreadable[72] = {
   {(bigint) 2819 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwreadable < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwreadable < PNode: superclass typecheck marker */},
@@ -15298,6 +18116,7 @@ const classtable_elt_t VFT_TKwreadable[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwreadable < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -15308,9 +18127,9 @@ const classtable_elt_t VFT_TKwreadable[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwreadable___parser_index},
-  {(bigint) 2 /* 68: TKwreadable < Token: superclass init_table position */},
-  {(bigint) lexer___TKwreadable___init},
-  {(bigint) 3 /* 70: TKwreadable < TKwreadable: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwreadable < Token: superclass init_table position */},
+  {(bigint) lexer___TKwreadable___init_tk},
+  {(bigint) 3 /* 71: TKwreadable < TKwreadable: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwreadable::_parent */
@@ -15327,13 +18146,19 @@ val_t NEW_TKwreadable(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwreadable___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwreadable_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwreadable();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwreadable_lexer___TKwreadable___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwreadable();
-  lexer___TKwreadable___init(self, p0, p1, p2, init_table);
+  lexer___TKwreadable___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwwritable[71] = {
+const classtable_elt_t VFT_TKwwritable[72] = {
   {(bigint) 2771 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwwritable < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwwritable < PNode: superclass typecheck marker */},
@@ -15392,6 +18217,7 @@ const classtable_elt_t VFT_TKwwritable[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwwritable < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -15402,9 +18228,9 @@ const classtable_elt_t VFT_TKwwritable[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwwritable___parser_index},
-  {(bigint) 2 /* 68: TKwwritable < Token: superclass init_table position */},
-  {(bigint) lexer___TKwwritable___init},
-  {(bigint) 3 /* 70: TKwwritable < TKwwritable: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwwritable < Token: superclass init_table position */},
+  {(bigint) lexer___TKwwritable___init_tk},
+  {(bigint) 3 /* 71: TKwwritable < TKwwritable: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwwritable::_parent */
@@ -15421,13 +18247,19 @@ val_t NEW_TKwwritable(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwwritable___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwwritable_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwwritable();
-  lexer___TKwwritable___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwvar[71] = {
+val_t NEW_TKwwritable_lexer___TKwwritable___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwwritable();
+  lexer___TKwwritable___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwvar[72] = {
   {(bigint) 2779 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwvar < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwvar < PNode: superclass typecheck marker */},
@@ -15486,6 +18318,7 @@ const classtable_elt_t VFT_TKwvar[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwvar < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -15496,9 +18329,9 @@ const classtable_elt_t VFT_TKwvar[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwvar___parser_index},
-  {(bigint) 2 /* 68: TKwvar < Token: superclass init_table position */},
-  {(bigint) lexer___TKwvar___init},
-  {(bigint) 3 /* 70: TKwvar < TKwvar: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwvar < Token: superclass init_table position */},
+  {(bigint) lexer___TKwvar___init_tk},
+  {(bigint) 3 /* 71: TKwvar < TKwvar: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwvar::_parent */
@@ -15515,13 +18348,19 @@ val_t NEW_TKwvar(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwvar___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwvar_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwvar();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwvar_lexer___TKwvar___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwvar();
-  lexer___TKwvar___init(self, p0, p1, p2, init_table);
+  lexer___TKwvar___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwintern[71] = {
+const classtable_elt_t VFT_TKwintern[72] = {
   {(bigint) 2871 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwintern < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwintern < PNode: superclass typecheck marker */},
@@ -15580,6 +18419,7 @@ const classtable_elt_t VFT_TKwintern[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwintern < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -15590,9 +18430,9 @@ const classtable_elt_t VFT_TKwintern[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwintern___parser_index},
-  {(bigint) 2 /* 68: TKwintern < Token: superclass init_table position */},
-  {(bigint) lexer___TKwintern___init},
-  {(bigint) 3 /* 70: TKwintern < TKwintern: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwintern < Token: superclass init_table position */},
+  {(bigint) lexer___TKwintern___init_tk},
+  {(bigint) 3 /* 71: TKwintern < TKwintern: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwintern::_parent */
@@ -15609,13 +18449,19 @@ val_t NEW_TKwintern(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwintern___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwintern_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwintern();
-  lexer___TKwintern___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwextern[71] = {
+val_t NEW_TKwintern_lexer___TKwintern___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwintern();
+  lexer___TKwintern___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwextern[72] = {
   {(bigint) 2903 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwextern < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwextern < PNode: superclass typecheck marker */},
@@ -15674,6 +18520,7 @@ const classtable_elt_t VFT_TKwextern[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwextern < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -15684,9 +18531,9 @@ const classtable_elt_t VFT_TKwextern[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwextern___parser_index},
-  {(bigint) 2 /* 68: TKwextern < Token: superclass init_table position */},
-  {(bigint) lexer___TKwextern___init},
-  {(bigint) 3 /* 70: TKwextern < TKwextern: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwextern < Token: superclass init_table position */},
+  {(bigint) lexer___TKwextern___init_tk},
+  {(bigint) 3 /* 71: TKwextern < TKwextern: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwextern::_parent */
@@ -15703,13 +18550,19 @@ val_t NEW_TKwextern(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwextern___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwextern_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwextern();
-  lexer___TKwextern___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwprotected[71] = {
+val_t NEW_TKwextern_lexer___TKwextern___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwextern();
+  lexer___TKwextern___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwprotected[72] = {
   {(bigint) 2823 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwprotected < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwprotected < PNode: superclass typecheck marker */},
@@ -15768,6 +18621,7 @@ const classtable_elt_t VFT_TKwprotected[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwprotected < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -15778,9 +18632,9 @@ const classtable_elt_t VFT_TKwprotected[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwprotected___parser_index},
-  {(bigint) 2 /* 68: TKwprotected < Token: superclass init_table position */},
-  {(bigint) lexer___TKwprotected___init},
-  {(bigint) 3 /* 70: TKwprotected < TKwprotected: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwprotected < Token: superclass init_table position */},
+  {(bigint) lexer___TKwprotected___init_tk},
+  {(bigint) 3 /* 71: TKwprotected < TKwprotected: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwprotected::_parent */
@@ -15797,13 +18651,19 @@ val_t NEW_TKwprotected(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwprotected___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwprotected_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwprotected();
-  lexer___TKwprotected___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwprivate[71] = {
+val_t NEW_TKwprotected_lexer___TKwprotected___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwprotected();
+  lexer___TKwprotected___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwprivate[72] = {
   {(bigint) 2827 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwprivate < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwprivate < PNode: superclass typecheck marker */},
@@ -15862,6 +18722,7 @@ const classtable_elt_t VFT_TKwprivate[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwprivate < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -15872,9 +18733,9 @@ const classtable_elt_t VFT_TKwprivate[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwprivate___parser_index},
-  {(bigint) 2 /* 68: TKwprivate < Token: superclass init_table position */},
-  {(bigint) lexer___TKwprivate___init},
-  {(bigint) 3 /* 70: TKwprivate < TKwprivate: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwprivate < Token: superclass init_table position */},
+  {(bigint) lexer___TKwprivate___init_tk},
+  {(bigint) 3 /* 71: TKwprivate < TKwprivate: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwprivate::_parent */
@@ -15891,13 +18752,19 @@ val_t NEW_TKwprivate(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwprivate___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwprivate_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwprivate();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwprivate_lexer___TKwprivate___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwprivate();
-  lexer___TKwprivate___init(self, p0, p1, p2, init_table);
+  lexer___TKwprivate___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwintrude[71] = {
+const classtable_elt_t VFT_TKwintrude[72] = {
   {(bigint) 2867 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwintrude < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwintrude < PNode: superclass typecheck marker */},
@@ -15956,6 +18823,7 @@ const classtable_elt_t VFT_TKwintrude[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwintrude < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -15966,9 +18834,9 @@ const classtable_elt_t VFT_TKwintrude[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwintrude___parser_index},
-  {(bigint) 2 /* 68: TKwintrude < Token: superclass init_table position */},
-  {(bigint) lexer___TKwintrude___init},
-  {(bigint) 3 /* 70: TKwintrude < TKwintrude: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwintrude < Token: superclass init_table position */},
+  {(bigint) lexer___TKwintrude___init_tk},
+  {(bigint) 3 /* 71: TKwintrude < TKwintrude: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwintrude::_parent */
@@ -15985,13 +18853,19 @@ val_t NEW_TKwintrude(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwintrude___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwintrude_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwintrude();
-  lexer___TKwintrude___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwif[71] = {
+val_t NEW_TKwintrude_lexer___TKwintrude___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwintrude();
+  lexer___TKwintrude___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwif[72] = {
   {(bigint) 2891 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwif < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwif < PNode: superclass typecheck marker */},
@@ -16050,6 +18924,7 @@ const classtable_elt_t VFT_TKwif[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwif < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -16060,9 +18935,9 @@ const classtable_elt_t VFT_TKwif[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwif___parser_index},
-  {(bigint) 2 /* 68: TKwif < Token: superclass init_table position */},
-  {(bigint) lexer___TKwif___init},
-  {(bigint) 3 /* 70: TKwif < TKwif: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwif < Token: superclass init_table position */},
+  {(bigint) lexer___TKwif___init_tk},
+  {(bigint) 3 /* 71: TKwif < TKwif: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwif::_parent */
@@ -16079,13 +18954,19 @@ val_t NEW_TKwif(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwif___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwif_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwif();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwif_lexer___TKwif___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwif();
-  lexer___TKwif___init(self, p0, p1, p2, init_table);
+  lexer___TKwif___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwthen[71] = {
+const classtable_elt_t VFT_TKwthen[72] = {
   {(bigint) 2795 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwthen < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwthen < PNode: superclass typecheck marker */},
@@ -16144,6 +19025,7 @@ const classtable_elt_t VFT_TKwthen[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwthen < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -16154,9 +19036,9 @@ const classtable_elt_t VFT_TKwthen[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwthen___parser_index},
-  {(bigint) 2 /* 68: TKwthen < Token: superclass init_table position */},
-  {(bigint) lexer___TKwthen___init},
-  {(bigint) 3 /* 70: TKwthen < TKwthen: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwthen < Token: superclass init_table position */},
+  {(bigint) lexer___TKwthen___init_tk},
+  {(bigint) 3 /* 71: TKwthen < TKwthen: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwthen::_parent */
@@ -16173,13 +19055,19 @@ val_t NEW_TKwthen(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwthen___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwthen_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwthen();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwthen_lexer___TKwthen___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwthen();
-  lexer___TKwthen___init(self, p0, p1, p2, init_table);
+  lexer___TKwthen___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwelse[71] = {
+const classtable_elt_t VFT_TKwelse[72] = {
   {(bigint) 2911 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwelse < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwelse < PNode: superclass typecheck marker */},
@@ -16238,6 +19126,7 @@ const classtable_elt_t VFT_TKwelse[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwelse < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -16248,9 +19137,9 @@ const classtable_elt_t VFT_TKwelse[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwelse___parser_index},
-  {(bigint) 2 /* 68: TKwelse < Token: superclass init_table position */},
-  {(bigint) lexer___TKwelse___init},
-  {(bigint) 3 /* 70: TKwelse < TKwelse: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwelse < Token: superclass init_table position */},
+  {(bigint) lexer___TKwelse___init_tk},
+  {(bigint) 3 /* 71: TKwelse < TKwelse: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwelse::_parent */
@@ -16267,13 +19156,19 @@ val_t NEW_TKwelse(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwelse___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwelse_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwelse();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwelse_lexer___TKwelse___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwelse();
-  lexer___TKwelse___init(self, p0, p1, p2, init_table);
+  lexer___TKwelse___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwwhile[71] = {
+const classtable_elt_t VFT_TKwwhile[72] = {
   {(bigint) 2775 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwwhile < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwwhile < PNode: superclass typecheck marker */},
@@ -16332,6 +19227,7 @@ const classtable_elt_t VFT_TKwwhile[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwwhile < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -16342,9 +19238,9 @@ const classtable_elt_t VFT_TKwwhile[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwwhile___parser_index},
-  {(bigint) 2 /* 68: TKwwhile < Token: superclass init_table position */},
-  {(bigint) lexer___TKwwhile___init},
-  {(bigint) 3 /* 70: TKwwhile < TKwwhile: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwwhile < Token: superclass init_table position */},
+  {(bigint) lexer___TKwwhile___init_tk},
+  {(bigint) 3 /* 71: TKwwhile < TKwwhile: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwwhile::_parent */
@@ -16361,13 +19257,19 @@ val_t NEW_TKwwhile(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwwhile___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwwhile_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwwhile();
-  lexer___TKwwhile___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwfor[71] = {
+val_t NEW_TKwwhile_lexer___TKwwhile___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwwhile();
+  lexer___TKwwhile___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwfor[72] = {
   {(bigint) 2895 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwfor < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwfor < PNode: superclass typecheck marker */},
@@ -16426,6 +19328,7 @@ const classtable_elt_t VFT_TKwfor[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwfor < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -16436,9 +19339,9 @@ const classtable_elt_t VFT_TKwfor[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwfor___parser_index},
-  {(bigint) 2 /* 68: TKwfor < Token: superclass init_table position */},
-  {(bigint) lexer___TKwfor___init},
-  {(bigint) 3 /* 70: TKwfor < TKwfor: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwfor < Token: superclass init_table position */},
+  {(bigint) lexer___TKwfor___init_tk},
+  {(bigint) 3 /* 71: TKwfor < TKwfor: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwfor::_parent */
@@ -16455,13 +19358,19 @@ val_t NEW_TKwfor(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwfor___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwfor_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwfor();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwfor_lexer___TKwfor___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwfor();
-  lexer___TKwfor___init(self, p0, p1, p2, init_table);
+  lexer___TKwfor___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwin[71] = {
+const classtable_elt_t VFT_TKwin[72] = {
   {(bigint) 2883 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwin < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwin < PNode: superclass typecheck marker */},
@@ -16520,6 +19429,7 @@ const classtable_elt_t VFT_TKwin[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwin < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -16530,9 +19440,9 @@ const classtable_elt_t VFT_TKwin[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwin___parser_index},
-  {(bigint) 2 /* 68: TKwin < Token: superclass init_table position */},
-  {(bigint) lexer___TKwin___init},
-  {(bigint) 3 /* 70: TKwin < TKwin: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwin < Token: superclass init_table position */},
+  {(bigint) lexer___TKwin___init_tk},
+  {(bigint) 3 /* 71: TKwin < TKwin: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwin::_parent */
@@ -16549,13 +19459,19 @@ val_t NEW_TKwin(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwin___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwin_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwin();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwin_lexer___TKwin___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwin();
-  lexer___TKwin___init(self, p0, p1, p2, init_table);
+  lexer___TKwin___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwand[71] = {
+const classtable_elt_t VFT_TKwand[72] = {
   {(bigint) 2943 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwand < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwand < PNode: superclass typecheck marker */},
@@ -16614,6 +19530,7 @@ const classtable_elt_t VFT_TKwand[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwand < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -16624,9 +19541,9 @@ const classtable_elt_t VFT_TKwand[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwand___parser_index},
-  {(bigint) 2 /* 68: TKwand < Token: superclass init_table position */},
-  {(bigint) lexer___TKwand___init},
-  {(bigint) 3 /* 70: TKwand < TKwand: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwand < Token: superclass init_table position */},
+  {(bigint) lexer___TKwand___init_tk},
+  {(bigint) 3 /* 71: TKwand < TKwand: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwand::_parent */
@@ -16643,13 +19560,19 @@ val_t NEW_TKwand(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwand___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwand_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwand();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwand_lexer___TKwand___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwand();
-  lexer___TKwand___init(self, p0, p1, p2, init_table);
+  lexer___TKwand___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwor[71] = {
+const classtable_elt_t VFT_TKwor[72] = {
   {(bigint) 2835 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwor < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwor < PNode: superclass typecheck marker */},
@@ -16708,6 +19631,7 @@ const classtable_elt_t VFT_TKwor[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwor < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -16718,9 +19642,9 @@ const classtable_elt_t VFT_TKwor[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwor___parser_index},
-  {(bigint) 2 /* 68: TKwor < Token: superclass init_table position */},
-  {(bigint) lexer___TKwor___init},
-  {(bigint) 3 /* 70: TKwor < TKwor: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwor < Token: superclass init_table position */},
+  {(bigint) lexer___TKwor___init_tk},
+  {(bigint) 3 /* 71: TKwor < TKwor: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwor::_parent */
@@ -16737,13 +19661,19 @@ val_t NEW_TKwor(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwor___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwor_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwor();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwor_lexer___TKwor___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwor();
-  lexer___TKwor___init(self, p0, p1, p2, init_table);
+  lexer___TKwor___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwnot[71] = {
+const classtable_elt_t VFT_TKwnot[72] = {
   {(bigint) 2847 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwnot < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwnot < PNode: superclass typecheck marker */},
@@ -16802,6 +19732,7 @@ const classtable_elt_t VFT_TKwnot[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwnot < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -16812,9 +19743,9 @@ const classtable_elt_t VFT_TKwnot[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwnot___parser_index},
-  {(bigint) 2 /* 68: TKwnot < Token: superclass init_table position */},
-  {(bigint) lexer___TKwnot___init},
-  {(bigint) 3 /* 70: TKwnot < TKwnot: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwnot < Token: superclass init_table position */},
+  {(bigint) lexer___TKwnot___init_tk},
+  {(bigint) 3 /* 71: TKwnot < TKwnot: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwnot::_parent */
@@ -16831,13 +19762,19 @@ val_t NEW_TKwnot(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwnot___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwnot_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwnot();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwnot_lexer___TKwnot___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwnot();
-  lexer___TKwnot___init(self, p0, p1, p2, init_table);
+  lexer___TKwnot___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwreturn[71] = {
+const classtable_elt_t VFT_TKwreturn[72] = {
   {(bigint) 2811 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwreturn < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwreturn < PNode: superclass typecheck marker */},
@@ -16896,6 +19833,7 @@ const classtable_elt_t VFT_TKwreturn[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwreturn < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -16906,9 +19844,9 @@ const classtable_elt_t VFT_TKwreturn[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwreturn___parser_index},
-  {(bigint) 2 /* 68: TKwreturn < Token: superclass init_table position */},
-  {(bigint) lexer___TKwreturn___init},
-  {(bigint) 3 /* 70: TKwreturn < TKwreturn: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwreturn < Token: superclass init_table position */},
+  {(bigint) lexer___TKwreturn___init_tk},
+  {(bigint) 3 /* 71: TKwreturn < TKwreturn: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwreturn::_parent */
@@ -16925,13 +19863,19 @@ val_t NEW_TKwreturn(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwreturn___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwreturn_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwreturn();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwreturn_lexer___TKwreturn___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwreturn();
-  lexer___TKwreturn___init(self, p0, p1, p2, init_table);
+  lexer___TKwreturn___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwcontinue[71] = {
+const classtable_elt_t VFT_TKwcontinue[72] = {
   {(bigint) 2919 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwcontinue < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwcontinue < PNode: superclass typecheck marker */},
@@ -16990,6 +19934,7 @@ const classtable_elt_t VFT_TKwcontinue[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwcontinue < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -17000,9 +19945,9 @@ const classtable_elt_t VFT_TKwcontinue[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwcontinue___parser_index},
-  {(bigint) 2 /* 68: TKwcontinue < Token: superclass init_table position */},
-  {(bigint) lexer___TKwcontinue___init},
-  {(bigint) 3 /* 70: TKwcontinue < TKwcontinue: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwcontinue < Token: superclass init_table position */},
+  {(bigint) lexer___TKwcontinue___init_tk},
+  {(bigint) 3 /* 71: TKwcontinue < TKwcontinue: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwcontinue::_parent */
@@ -17019,13 +19964,19 @@ val_t NEW_TKwcontinue(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwcontinue___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwcontinue_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwcontinue();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwcontinue_lexer___TKwcontinue___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwcontinue();
-  lexer___TKwcontinue___init(self, p0, p1, p2, init_table);
+  lexer___TKwcontinue___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwbreak[71] = {
+const classtable_elt_t VFT_TKwbreak[72] = {
   {(bigint) 2927 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwbreak < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwbreak < PNode: superclass typecheck marker */},
@@ -17084,6 +20035,7 @@ const classtable_elt_t VFT_TKwbreak[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwbreak < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -17094,9 +20046,9 @@ const classtable_elt_t VFT_TKwbreak[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwbreak___parser_index},
-  {(bigint) 2 /* 68: TKwbreak < Token: superclass init_table position */},
-  {(bigint) lexer___TKwbreak___init},
-  {(bigint) 3 /* 70: TKwbreak < TKwbreak: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwbreak < Token: superclass init_table position */},
+  {(bigint) lexer___TKwbreak___init_tk},
+  {(bigint) 3 /* 71: TKwbreak < TKwbreak: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwbreak::_parent */
@@ -17113,13 +20065,19 @@ val_t NEW_TKwbreak(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwbreak___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwbreak_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwbreak();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwbreak_lexer___TKwbreak___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwbreak();
-  lexer___TKwbreak___init(self, p0, p1, p2, init_table);
+  lexer___TKwbreak___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwabort[71] = {
+const classtable_elt_t VFT_TKwabort[72] = {
   {(bigint) 2951 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwabort < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwabort < PNode: superclass typecheck marker */},
@@ -17178,6 +20136,7 @@ const classtable_elt_t VFT_TKwabort[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwabort < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -17188,9 +20147,9 @@ const classtable_elt_t VFT_TKwabort[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwabort___parser_index},
-  {(bigint) 2 /* 68: TKwabort < Token: superclass init_table position */},
-  {(bigint) lexer___TKwabort___init},
-  {(bigint) 3 /* 70: TKwabort < TKwabort: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwabort < Token: superclass init_table position */},
+  {(bigint) lexer___TKwabort___init_tk},
+  {(bigint) 3 /* 71: TKwabort < TKwabort: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwabort::_parent */
@@ -17207,13 +20166,19 @@ val_t NEW_TKwabort(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwabort___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwabort_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwabort();
-  lexer___TKwabort___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwassert[71] = {
+val_t NEW_TKwabort_lexer___TKwabort___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwabort();
+  lexer___TKwabort___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwassert[72] = {
   {(bigint) 2935 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwassert < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwassert < PNode: superclass typecheck marker */},
@@ -17272,6 +20237,7 @@ const classtable_elt_t VFT_TKwassert[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwassert < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -17282,9 +20248,9 @@ const classtable_elt_t VFT_TKwassert[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwassert___parser_index},
-  {(bigint) 2 /* 68: TKwassert < Token: superclass init_table position */},
-  {(bigint) lexer___TKwassert___init},
-  {(bigint) 3 /* 70: TKwassert < TKwassert: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwassert < Token: superclass init_table position */},
+  {(bigint) lexer___TKwassert___init_tk},
+  {(bigint) 3 /* 71: TKwassert < TKwassert: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwassert::_parent */
@@ -17301,13 +20267,19 @@ val_t NEW_TKwassert(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwassert___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwassert_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwassert();
-  lexer___TKwassert___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwnew[71] = {
+val_t NEW_TKwassert_lexer___TKwassert___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwassert();
+  lexer___TKwassert___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwnew[72] = {
   {(bigint) 2851 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwnew < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwnew < PNode: superclass typecheck marker */},
@@ -17366,6 +20338,7 @@ const classtable_elt_t VFT_TKwnew[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwnew < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -17376,9 +20349,9 @@ const classtable_elt_t VFT_TKwnew[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwnew___parser_index},
-  {(bigint) 2 /* 68: TKwnew < Token: superclass init_table position */},
-  {(bigint) lexer___TKwnew___init},
-  {(bigint) 3 /* 70: TKwnew < TKwnew: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwnew < Token: superclass init_table position */},
+  {(bigint) lexer___TKwnew___init_tk},
+  {(bigint) 3 /* 71: TKwnew < TKwnew: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwnew::_parent */
@@ -17395,13 +20368,19 @@ val_t NEW_TKwnew(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwnew___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwnew_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwnew();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwnew_lexer___TKwnew___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwnew();
-  lexer___TKwnew___init(self, p0, p1, p2, init_table);
+  lexer___TKwnew___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwisa[71] = {
+const classtable_elt_t VFT_TKwisa[72] = {
   {(bigint) 2859 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwisa < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwisa < PNode: superclass typecheck marker */},
@@ -17460,6 +20439,7 @@ const classtable_elt_t VFT_TKwisa[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwisa < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -17470,9 +20450,9 @@ const classtable_elt_t VFT_TKwisa[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwisa___parser_index},
-  {(bigint) 2 /* 68: TKwisa < Token: superclass init_table position */},
-  {(bigint) lexer___TKwisa___init},
-  {(bigint) 3 /* 70: TKwisa < TKwisa: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwisa < Token: superclass init_table position */},
+  {(bigint) lexer___TKwisa___init_tk},
+  {(bigint) 3 /* 71: TKwisa < TKwisa: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwisa::_parent */
@@ -17489,13 +20469,19 @@ val_t NEW_TKwisa(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwisa___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwisa_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwisa();
-  lexer___TKwisa___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwonce[71] = {
+val_t NEW_TKwisa_lexer___TKwisa___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwisa();
+  lexer___TKwisa___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwonce[72] = {
   {(bigint) 2839 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwonce < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwonce < PNode: superclass typecheck marker */},
@@ -17554,6 +20540,7 @@ const classtable_elt_t VFT_TKwonce[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwonce < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -17564,9 +20551,9 @@ const classtable_elt_t VFT_TKwonce[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwonce___parser_index},
-  {(bigint) 2 /* 68: TKwonce < Token: superclass init_table position */},
-  {(bigint) lexer___TKwonce___init},
-  {(bigint) 3 /* 70: TKwonce < TKwonce: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwonce < Token: superclass init_table position */},
+  {(bigint) lexer___TKwonce___init_tk},
+  {(bigint) 3 /* 71: TKwonce < TKwonce: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwonce::_parent */
@@ -17583,13 +20570,19 @@ val_t NEW_TKwonce(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwonce___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwonce_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwonce();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwonce_lexer___TKwonce___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwonce();
-  lexer___TKwonce___init(self, p0, p1, p2, init_table);
+  lexer___TKwonce___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwsuper[71] = {
+const classtable_elt_t VFT_TKwsuper[72] = {
   {(bigint) 2799 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwsuper < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwsuper < PNode: superclass typecheck marker */},
@@ -17648,6 +20641,7 @@ const classtable_elt_t VFT_TKwsuper[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwsuper < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -17658,9 +20652,9 @@ const classtable_elt_t VFT_TKwsuper[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwsuper___parser_index},
-  {(bigint) 2 /* 68: TKwsuper < Token: superclass init_table position */},
-  {(bigint) lexer___TKwsuper___init},
-  {(bigint) 3 /* 70: TKwsuper < TKwsuper: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwsuper < Token: superclass init_table position */},
+  {(bigint) lexer___TKwsuper___init_tk},
+  {(bigint) 3 /* 71: TKwsuper < TKwsuper: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwsuper::_parent */
@@ -17677,13 +20671,19 @@ val_t NEW_TKwsuper(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwsuper___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwsuper_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwsuper();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwsuper_lexer___TKwsuper___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwsuper();
-  lexer___TKwsuper___init(self, p0, p1, p2, init_table);
+  lexer___TKwsuper___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwself[71] = {
+const classtable_elt_t VFT_TKwself[72] = {
   {(bigint) 2807 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwself < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwself < PNode: superclass typecheck marker */},
@@ -17742,6 +20742,7 @@ const classtable_elt_t VFT_TKwself[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwself < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -17752,9 +20753,9 @@ const classtable_elt_t VFT_TKwself[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwself___parser_index},
-  {(bigint) 2 /* 68: TKwself < Token: superclass init_table position */},
-  {(bigint) lexer___TKwself___init},
-  {(bigint) 3 /* 70: TKwself < TKwself: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwself < Token: superclass init_table position */},
+  {(bigint) lexer___TKwself___init_tk},
+  {(bigint) 3 /* 71: TKwself < TKwself: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwself::_parent */
@@ -17771,13 +20772,19 @@ val_t NEW_TKwself(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwself___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwself_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwself();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwself_lexer___TKwself___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwself();
-  lexer___TKwself___init(self, p0, p1, p2, init_table);
+  lexer___TKwself___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwtrue[71] = {
+const classtable_elt_t VFT_TKwtrue[72] = {
   {(bigint) 2791 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwtrue < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwtrue < PNode: superclass typecheck marker */},
@@ -17836,6 +20843,7 @@ const classtable_elt_t VFT_TKwtrue[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwtrue < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -17846,9 +20854,9 @@ const classtable_elt_t VFT_TKwtrue[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwtrue___parser_index},
-  {(bigint) 2 /* 68: TKwtrue < Token: superclass init_table position */},
-  {(bigint) lexer___TKwtrue___init},
-  {(bigint) 3 /* 70: TKwtrue < TKwtrue: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwtrue < Token: superclass init_table position */},
+  {(bigint) lexer___TKwtrue___init_tk},
+  {(bigint) 3 /* 71: TKwtrue < TKwtrue: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwtrue::_parent */
@@ -17865,13 +20873,19 @@ val_t NEW_TKwtrue(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwtrue___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwtrue_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwtrue();
-  lexer___TKwtrue___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwfalse[71] = {
+val_t NEW_TKwtrue_lexer___TKwtrue___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwtrue();
+  lexer___TKwtrue___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TKwfalse[72] = {
   {(bigint) 2899 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwfalse < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwfalse < PNode: superclass typecheck marker */},
@@ -17930,6 +20944,7 @@ const classtable_elt_t VFT_TKwfalse[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwfalse < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -17940,9 +20955,9 @@ const classtable_elt_t VFT_TKwfalse[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwfalse___parser_index},
-  {(bigint) 2 /* 68: TKwfalse < Token: superclass init_table position */},
-  {(bigint) lexer___TKwfalse___init},
-  {(bigint) 3 /* 70: TKwfalse < TKwfalse: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwfalse < Token: superclass init_table position */},
+  {(bigint) lexer___TKwfalse___init_tk},
+  {(bigint) 3 /* 71: TKwfalse < TKwfalse: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwfalse::_parent */
@@ -17959,13 +20974,19 @@ val_t NEW_TKwfalse(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwfalse___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwfalse_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwfalse();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwfalse_lexer___TKwfalse___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwfalse();
-  lexer___TKwfalse___init(self, p0, p1, p2, init_table);
+  lexer___TKwfalse___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwnull[71] = {
+const classtable_elt_t VFT_TKwnull[72] = {
   {(bigint) 2843 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwnull < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwnull < PNode: superclass typecheck marker */},
@@ -18024,6 +21045,7 @@ const classtable_elt_t VFT_TKwnull[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwnull < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -18034,9 +21056,9 @@ const classtable_elt_t VFT_TKwnull[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwnull___parser_index},
-  {(bigint) 2 /* 68: TKwnull < Token: superclass init_table position */},
-  {(bigint) lexer___TKwnull___init},
-  {(bigint) 3 /* 70: TKwnull < TKwnull: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwnull < Token: superclass init_table position */},
+  {(bigint) lexer___TKwnull___init_tk},
+  {(bigint) 3 /* 71: TKwnull < TKwnull: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwnull::_parent */
@@ -18053,13 +21075,19 @@ val_t NEW_TKwnull(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwnull___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwnull_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwnull();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwnull_lexer___TKwnull___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwnull();
-  lexer___TKwnull___init(self, p0, p1, p2, init_table);
+  lexer___TKwnull___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TKwas[71] = {
+const classtable_elt_t VFT_TKwas[72] = {
   {(bigint) 2939 /* 0: Identity */},
   {(bigint) 3 /* 1: TKwas < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TKwas < PNode: superclass typecheck marker */},
@@ -18118,6 +21146,7 @@ const classtable_elt_t VFT_TKwas[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TKwas < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -18128,9 +21157,9 @@ const classtable_elt_t VFT_TKwas[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TKwas___parser_index},
-  {(bigint) 2 /* 68: TKwas < Token: superclass init_table position */},
-  {(bigint) lexer___TKwas___init},
-  {(bigint) 3 /* 70: TKwas < TKwas: superclass init_table position */},
+  {(bigint) 2 /* 69: TKwas < Token: superclass init_table position */},
+  {(bigint) lexer___TKwas___init_tk},
+  {(bigint) 3 /* 71: TKwas < TKwas: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwas::_parent */
@@ -18147,13 +21176,19 @@ val_t NEW_TKwas(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TKwas___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TKwas_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwas();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TKwas_lexer___TKwas___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TKwas();
-  lexer___TKwas___init(self, p0, p1, p2, init_table);
+  lexer___TKwas___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TOpar[71] = {
+const classtable_elt_t VFT_TOpar[72] = {
   {(bigint) 2735 /* 0: Identity */},
   {(bigint) 3 /* 1: TOpar < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TOpar < PNode: superclass typecheck marker */},
@@ -18212,6 +21247,7 @@ const classtable_elt_t VFT_TOpar[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TOpar < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -18222,9 +21258,9 @@ const classtable_elt_t VFT_TOpar[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TOpar___parser_index},
-  {(bigint) 2 /* 68: TOpar < Token: superclass init_table position */},
-  {(bigint) lexer___TOpar___init},
-  {(bigint) 3 /* 70: TOpar < TOpar: superclass init_table position */},
+  {(bigint) 2 /* 69: TOpar < Token: superclass init_table position */},
+  {(bigint) lexer___TOpar___init_tk},
+  {(bigint) 3 /* 71: TOpar < TOpar: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TOpar::_parent */
@@ -18241,13 +21277,19 @@ val_t NEW_TOpar(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TOpar___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TOpar_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TOpar();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TOpar_lexer___TOpar___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TOpar();
-  lexer___TOpar___init(self, p0, p1, p2, init_table);
+  lexer___TOpar___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TCpar[71] = {
+const classtable_elt_t VFT_TCpar[72] = {
   {(bigint) 2995 /* 0: Identity */},
   {(bigint) 3 /* 1: TCpar < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TCpar < PNode: superclass typecheck marker */},
@@ -18306,6 +21348,7 @@ const classtable_elt_t VFT_TCpar[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TCpar < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -18316,9 +21359,9 @@ const classtable_elt_t VFT_TCpar[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TCpar___parser_index},
-  {(bigint) 2 /* 68: TCpar < Token: superclass init_table position */},
-  {(bigint) lexer___TCpar___init},
-  {(bigint) 3 /* 70: TCpar < TCpar: superclass init_table position */},
+  {(bigint) 2 /* 69: TCpar < Token: superclass init_table position */},
+  {(bigint) lexer___TCpar___init_tk},
+  {(bigint) 3 /* 71: TCpar < TCpar: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TCpar::_parent */
@@ -18335,13 +21378,19 @@ val_t NEW_TCpar(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TCpar___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TCpar_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TCpar();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TCpar_lexer___TCpar___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TCpar();
-  lexer___TCpar___init(self, p0, p1, p2, init_table);
+  lexer___TCpar___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TObra[71] = {
+const classtable_elt_t VFT_TObra[72] = {
   {(bigint) 2739 /* 0: Identity */},
   {(bigint) 3 /* 1: TObra < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TObra < PNode: superclass typecheck marker */},
@@ -18400,6 +21449,7 @@ const classtable_elt_t VFT_TObra[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TObra < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -18410,9 +21460,9 @@ const classtable_elt_t VFT_TObra[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TObra___parser_index},
-  {(bigint) 2 /* 68: TObra < Token: superclass init_table position */},
-  {(bigint) lexer___TObra___init},
-  {(bigint) 3 /* 70: TObra < TObra: superclass init_table position */},
+  {(bigint) 2 /* 69: TObra < Token: superclass init_table position */},
+  {(bigint) lexer___TObra___init_tk},
+  {(bigint) 3 /* 71: TObra < TObra: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TObra::_parent */
@@ -18429,13 +21479,19 @@ val_t NEW_TObra(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TObra___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TObra_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TObra();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TObra_lexer___TObra___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TObra();
-  lexer___TObra___init(self, p0, p1, p2, init_table);
+  lexer___TObra___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TCbra[71] = {
+const classtable_elt_t VFT_TCbra[72] = {
   {(bigint) 3019 /* 0: Identity */},
   {(bigint) 3 /* 1: TCbra < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TCbra < PNode: superclass typecheck marker */},
@@ -18494,6 +21550,7 @@ const classtable_elt_t VFT_TCbra[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TCbra < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -18504,9 +21561,9 @@ const classtable_elt_t VFT_TCbra[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TCbra___parser_index},
-  {(bigint) 2 /* 68: TCbra < Token: superclass init_table position */},
-  {(bigint) lexer___TCbra___init},
-  {(bigint) 3 /* 70: TCbra < TCbra: superclass init_table position */},
+  {(bigint) 2 /* 69: TCbra < Token: superclass init_table position */},
+  {(bigint) lexer___TCbra___init_tk},
+  {(bigint) 3 /* 71: TCbra < TCbra: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TCbra::_parent */
@@ -18523,13 +21580,19 @@ val_t NEW_TCbra(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TCbra___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TCbra_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TCbra();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TCbra_lexer___TCbra___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TCbra();
-  lexer___TCbra___init(self, p0, p1, p2, init_table);
+  lexer___TCbra___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TComma[71] = {
+const classtable_elt_t VFT_TComma[72] = {
   {(bigint) 3003 /* 0: Identity */},
   {(bigint) 3 /* 1: TComma < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TComma < PNode: superclass typecheck marker */},
@@ -18588,6 +21651,7 @@ const classtable_elt_t VFT_TComma[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TComma < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -18598,9 +21662,9 @@ const classtable_elt_t VFT_TComma[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TComma___parser_index},
-  {(bigint) 2 /* 68: TComma < Token: superclass init_table position */},
-  {(bigint) lexer___TComma___init},
-  {(bigint) 3 /* 70: TComma < TComma: superclass init_table position */},
+  {(bigint) 2 /* 69: TComma < Token: superclass init_table position */},
+  {(bigint) lexer___TComma___init_tk},
+  {(bigint) 3 /* 71: TComma < TComma: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TComma::_parent */
@@ -18617,13 +21681,19 @@ val_t NEW_TComma(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TComma___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TComma_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TComma();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TComma_lexer___TComma___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TComma();
-  lexer___TComma___init(self, p0, p1, p2, init_table);
+  lexer___TComma___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TColumn[71] = {
+const classtable_elt_t VFT_TColumn[72] = {
   {(bigint) 3007 /* 0: Identity */},
   {(bigint) 3 /* 1: TColumn < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TColumn < PNode: superclass typecheck marker */},
@@ -18682,6 +21752,7 @@ const classtable_elt_t VFT_TColumn[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TColumn < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -18692,9 +21763,9 @@ const classtable_elt_t VFT_TColumn[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TColumn___parser_index},
-  {(bigint) 2 /* 68: TColumn < Token: superclass init_table position */},
-  {(bigint) lexer___TColumn___init},
-  {(bigint) 3 /* 70: TColumn < TColumn: superclass init_table position */},
+  {(bigint) 2 /* 69: TColumn < Token: superclass init_table position */},
+  {(bigint) lexer___TColumn___init_tk},
+  {(bigint) 3 /* 71: TColumn < TColumn: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TColumn::_parent */
@@ -18711,13 +21782,19 @@ val_t NEW_TColumn(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TColumn___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TColumn_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TColumn();
-  lexer___TColumn___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TQuad[71] = {
+val_t NEW_TColumn_lexer___TColumn___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TColumn();
+  lexer___TColumn___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TQuad[72] = {
   {(bigint) 2719 /* 0: Identity */},
   {(bigint) 3 /* 1: TQuad < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TQuad < PNode: superclass typecheck marker */},
@@ -18776,6 +21853,7 @@ const classtable_elt_t VFT_TQuad[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TQuad < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -18786,9 +21864,9 @@ const classtable_elt_t VFT_TQuad[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TQuad___parser_index},
-  {(bigint) 2 /* 68: TQuad < Token: superclass init_table position */},
-  {(bigint) lexer___TQuad___init},
-  {(bigint) 3 /* 70: TQuad < TQuad: superclass init_table position */},
+  {(bigint) 2 /* 69: TQuad < Token: superclass init_table position */},
+  {(bigint) lexer___TQuad___init_tk},
+  {(bigint) 3 /* 71: TQuad < TQuad: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TQuad::_parent */
@@ -18805,13 +21883,19 @@ val_t NEW_TQuad(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TQuad___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TQuad_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TQuad();
-  lexer___TQuad___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TAssign[71] = {
+val_t NEW_TQuad_lexer___TQuad___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TQuad();
+  lexer___TQuad___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TAssign[72] = {
   {(bigint) 3027 /* 0: Identity */},
   {(bigint) 3 /* 1: TAssign < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TAssign < PNode: superclass typecheck marker */},
@@ -18870,6 +21954,7 @@ const classtable_elt_t VFT_TAssign[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TAssign < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -18880,9 +21965,9 @@ const classtable_elt_t VFT_TAssign[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TAssign___parser_index},
-  {(bigint) 2 /* 68: TAssign < Token: superclass init_table position */},
-  {(bigint) lexer___TAssign___init},
-  {(bigint) 3 /* 70: TAssign < TAssign: superclass init_table position */},
+  {(bigint) 2 /* 69: TAssign < Token: superclass init_table position */},
+  {(bigint) lexer___TAssign___init_tk},
+  {(bigint) 3 /* 71: TAssign < TAssign: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TAssign::_parent */
@@ -18899,13 +21984,19 @@ val_t NEW_TAssign(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TAssign___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TAssign_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TAssign();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TAssign_lexer___TAssign___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TAssign();
-  lexer___TAssign___init(self, p0, p1, p2, init_table);
+  lexer___TAssign___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TPluseq[71] = {
+const classtable_elt_t VFT_TPluseq[72] = {
   {(bigint) 2723 /* 0: Identity */},
   {(bigint) 3 /* 1: TPluseq < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TPluseq < PNode: superclass typecheck marker */},
@@ -18964,6 +22055,7 @@ const classtable_elt_t VFT_TPluseq[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TPluseq < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -18974,9 +22066,9 @@ const classtable_elt_t VFT_TPluseq[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TPluseq___parser_index},
-  {(bigint) 2 /* 68: TPluseq < Token: superclass init_table position */},
-  {(bigint) lexer___TPluseq___init},
-  {(bigint) 3 /* 70: TPluseq < TPluseq: superclass init_table position */},
+  {(bigint) 2 /* 69: TPluseq < Token: superclass init_table position */},
+  {(bigint) lexer___TPluseq___init_tk},
+  {(bigint) 3 /* 71: TPluseq < TPluseq: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TPluseq::_parent */
@@ -18993,13 +22085,19 @@ val_t NEW_TPluseq(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TPluseq___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TPluseq_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TPluseq();
-  lexer___TPluseq___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TMinuseq[71] = {
+val_t NEW_TPluseq_lexer___TPluseq___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TPluseq();
+  lexer___TPluseq___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TMinuseq[72] = {
   {(bigint) 2751 /* 0: Identity */},
   {(bigint) 3 /* 1: TMinuseq < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TMinuseq < PNode: superclass typecheck marker */},
@@ -19058,6 +22156,7 @@ const classtable_elt_t VFT_TMinuseq[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TMinuseq < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -19068,9 +22167,9 @@ const classtable_elt_t VFT_TMinuseq[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TMinuseq___parser_index},
-  {(bigint) 2 /* 68: TMinuseq < Token: superclass init_table position */},
-  {(bigint) lexer___TMinuseq___init},
-  {(bigint) 3 /* 70: TMinuseq < TMinuseq: superclass init_table position */},
+  {(bigint) 2 /* 69: TMinuseq < Token: superclass init_table position */},
+  {(bigint) lexer___TMinuseq___init_tk},
+  {(bigint) 3 /* 71: TMinuseq < TMinuseq: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TMinuseq::_parent */
@@ -19087,13 +22186,19 @@ val_t NEW_TMinuseq(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TMinuseq___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TMinuseq_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TMinuseq();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TMinuseq_lexer___TMinuseq___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TMinuseq();
-  lexer___TMinuseq___init(self, p0, p1, p2, init_table);
+  lexer___TMinuseq___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TDotdotdot[71] = {
+const classtable_elt_t VFT_TDotdotdot[72] = {
   {(bigint) 2983 /* 0: Identity */},
   {(bigint) 3 /* 1: TDotdotdot < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TDotdotdot < PNode: superclass typecheck marker */},
@@ -19152,6 +22257,7 @@ const classtable_elt_t VFT_TDotdotdot[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TDotdotdot < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -19162,9 +22268,9 @@ const classtable_elt_t VFT_TDotdotdot[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TDotdotdot___parser_index},
-  {(bigint) 2 /* 68: TDotdotdot < Token: superclass init_table position */},
-  {(bigint) lexer___TDotdotdot___init},
-  {(bigint) 3 /* 70: TDotdotdot < TDotdotdot: superclass init_table position */},
+  {(bigint) 2 /* 69: TDotdotdot < Token: superclass init_table position */},
+  {(bigint) lexer___TDotdotdot___init_tk},
+  {(bigint) 3 /* 71: TDotdotdot < TDotdotdot: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TDotdotdot::_parent */
@@ -19181,13 +22287,19 @@ val_t NEW_TDotdotdot(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TDotdotdot___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TDotdotdot_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TDotdotdot();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TDotdotdot_lexer___TDotdotdot___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TDotdotdot();
-  lexer___TDotdotdot___init(self, p0, p1, p2, init_table);
+  lexer___TDotdotdot___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TDotdot[71] = {
+const classtable_elt_t VFT_TDotdot[72] = {
   {(bigint) 2987 /* 0: Identity */},
   {(bigint) 3 /* 1: TDotdot < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TDotdot < PNode: superclass typecheck marker */},
@@ -19246,6 +22358,7 @@ const classtable_elt_t VFT_TDotdot[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TDotdot < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -19256,9 +22369,9 @@ const classtable_elt_t VFT_TDotdot[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TDotdot___parser_index},
-  {(bigint) 2 /* 68: TDotdot < Token: superclass init_table position */},
-  {(bigint) lexer___TDotdot___init},
-  {(bigint) 3 /* 70: TDotdot < TDotdot: superclass init_table position */},
+  {(bigint) 2 /* 69: TDotdot < Token: superclass init_table position */},
+  {(bigint) lexer___TDotdot___init_tk},
+  {(bigint) 3 /* 71: TDotdot < TDotdot: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TDotdot::_parent */
@@ -19275,13 +22388,19 @@ val_t NEW_TDotdot(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TDotdot___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TDotdot_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TDotdot();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TDotdot_lexer___TDotdot___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TDotdot();
-  lexer___TDotdot___init(self, p0, p1, p2, init_table);
+  lexer___TDotdot___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TDot[71] = {
+const classtable_elt_t VFT_TDot[72] = {
   {(bigint) 2991 /* 0: Identity */},
   {(bigint) 3 /* 1: TDot < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TDot < PNode: superclass typecheck marker */},
@@ -19340,6 +22459,7 @@ const classtable_elt_t VFT_TDot[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TDot < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -19350,9 +22470,9 @@ const classtable_elt_t VFT_TDot[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TDot___parser_index},
-  {(bigint) 2 /* 68: TDot < Token: superclass init_table position */},
-  {(bigint) lexer___TDot___init},
-  {(bigint) 3 /* 70: TDot < TDot: superclass init_table position */},
+  {(bigint) 2 /* 69: TDot < Token: superclass init_table position */},
+  {(bigint) lexer___TDot___init_tk},
+  {(bigint) 3 /* 71: TDot < TDot: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TDot::_parent */
@@ -19369,13 +22489,19 @@ val_t NEW_TDot(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TDot___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TDot_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TDot();
-  lexer___TDot___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TPlus[71] = {
+val_t NEW_TDot_lexer___TDot___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TDot();
+  lexer___TDot___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TPlus[72] = {
   {(bigint) 2727 /* 0: Identity */},
   {(bigint) 3 /* 1: TPlus < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TPlus < PNode: superclass typecheck marker */},
@@ -19434,6 +22560,7 @@ const classtable_elt_t VFT_TPlus[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TPlus < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -19444,9 +22571,9 @@ const classtable_elt_t VFT_TPlus[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TPlus___parser_index},
-  {(bigint) 2 /* 68: TPlus < Token: superclass init_table position */},
-  {(bigint) lexer___TPlus___init},
-  {(bigint) 3 /* 70: TPlus < TPlus: superclass init_table position */},
+  {(bigint) 2 /* 69: TPlus < Token: superclass init_table position */},
+  {(bigint) lexer___TPlus___init_tk},
+  {(bigint) 3 /* 71: TPlus < TPlus: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TPlus::_parent */
@@ -19463,13 +22590,19 @@ val_t NEW_TPlus(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TPlus___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TPlus_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TPlus();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TPlus_lexer___TPlus___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TPlus();
-  lexer___TPlus___init(self, p0, p1, p2, init_table);
+  lexer___TPlus___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TMinus[71] = {
+const classtable_elt_t VFT_TMinus[72] = {
   {(bigint) 2755 /* 0: Identity */},
   {(bigint) 3 /* 1: TMinus < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TMinus < PNode: superclass typecheck marker */},
@@ -19528,6 +22661,7 @@ const classtable_elt_t VFT_TMinus[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TMinus < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -19538,9 +22672,9 @@ const classtable_elt_t VFT_TMinus[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TMinus___parser_index},
-  {(bigint) 2 /* 68: TMinus < Token: superclass init_table position */},
-  {(bigint) lexer___TMinus___init},
-  {(bigint) 3 /* 70: TMinus < TMinus: superclass init_table position */},
+  {(bigint) 2 /* 69: TMinus < Token: superclass init_table position */},
+  {(bigint) lexer___TMinus___init_tk},
+  {(bigint) 3 /* 71: TMinus < TMinus: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TMinus::_parent */
@@ -19557,13 +22691,19 @@ val_t NEW_TMinus(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TMinus___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TMinus_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TMinus();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TMinus_lexer___TMinus___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TMinus();
-  lexer___TMinus___init(self, p0, p1, p2, init_table);
+  lexer___TMinus___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TStar[71] = {
+const classtable_elt_t VFT_TStar[72] = {
   {(bigint) 2711 /* 0: Identity */},
   {(bigint) 3 /* 1: TStar < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TStar < PNode: superclass typecheck marker */},
@@ -19622,6 +22762,7 @@ const classtable_elt_t VFT_TStar[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TStar < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -19632,9 +22773,9 @@ const classtable_elt_t VFT_TStar[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TStar___parser_index},
-  {(bigint) 2 /* 68: TStar < Token: superclass init_table position */},
-  {(bigint) lexer___TStar___init},
-  {(bigint) 3 /* 70: TStar < TStar: superclass init_table position */},
+  {(bigint) 2 /* 69: TStar < Token: superclass init_table position */},
+  {(bigint) lexer___TStar___init_tk},
+  {(bigint) 3 /* 71: TStar < TStar: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TStar::_parent */
@@ -19651,13 +22792,19 @@ val_t NEW_TStar(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TStar___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TStar_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TStar();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TStar_lexer___TStar___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TStar();
-  lexer___TStar___init(self, p0, p1, p2, init_table);
+  lexer___TStar___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TSlash[71] = {
+const classtable_elt_t VFT_TSlash[72] = {
   {(bigint) 2715 /* 0: Identity */},
   {(bigint) 3 /* 1: TSlash < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TSlash < PNode: superclass typecheck marker */},
@@ -19716,6 +22863,7 @@ const classtable_elt_t VFT_TSlash[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TSlash < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -19726,9 +22874,9 @@ const classtable_elt_t VFT_TSlash[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TSlash___parser_index},
-  {(bigint) 2 /* 68: TSlash < Token: superclass init_table position */},
-  {(bigint) lexer___TSlash___init},
-  {(bigint) 3 /* 70: TSlash < TSlash: superclass init_table position */},
+  {(bigint) 2 /* 69: TSlash < Token: superclass init_table position */},
+  {(bigint) lexer___TSlash___init_tk},
+  {(bigint) 3 /* 71: TSlash < TSlash: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TSlash::_parent */
@@ -19745,13 +22893,19 @@ val_t NEW_TSlash(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TSlash___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TSlash_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TSlash();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TSlash_lexer___TSlash___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TSlash();
-  lexer___TSlash___init(self, p0, p1, p2, init_table);
+  lexer___TSlash___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TPercent[71] = {
+const classtable_elt_t VFT_TPercent[72] = {
   {(bigint) 2731 /* 0: Identity */},
   {(bigint) 3 /* 1: TPercent < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TPercent < PNode: superclass typecheck marker */},
@@ -19810,6 +22964,7 @@ const classtable_elt_t VFT_TPercent[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TPercent < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -19820,9 +22975,9 @@ const classtable_elt_t VFT_TPercent[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TPercent___parser_index},
-  {(bigint) 2 /* 68: TPercent < Token: superclass init_table position */},
-  {(bigint) lexer___TPercent___init},
-  {(bigint) 3 /* 70: TPercent < TPercent: superclass init_table position */},
+  {(bigint) 2 /* 69: TPercent < Token: superclass init_table position */},
+  {(bigint) lexer___TPercent___init_tk},
+  {(bigint) 3 /* 71: TPercent < TPercent: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TPercent::_parent */
@@ -19839,13 +22994,19 @@ val_t NEW_TPercent(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TPercent___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TPercent_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TPercent();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TPercent_lexer___TPercent___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TPercent();
-  lexer___TPercent___init(self, p0, p1, p2, init_table);
+  lexer___TPercent___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TEq[71] = {
+const classtable_elt_t VFT_TEq[72] = {
   {(bigint) 2971 /* 0: Identity */},
   {(bigint) 3 /* 1: TEq < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TEq < PNode: superclass typecheck marker */},
@@ -19904,6 +23065,7 @@ const classtable_elt_t VFT_TEq[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TEq < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -19914,9 +23076,9 @@ const classtable_elt_t VFT_TEq[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TEq___parser_index},
-  {(bigint) 2 /* 68: TEq < Token: superclass init_table position */},
-  {(bigint) lexer___TEq___init},
-  {(bigint) 3 /* 70: TEq < TEq: superclass init_table position */},
+  {(bigint) 2 /* 69: TEq < Token: superclass init_table position */},
+  {(bigint) lexer___TEq___init_tk},
+  {(bigint) 3 /* 71: TEq < TEq: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TEq::_parent */
@@ -19933,13 +23095,19 @@ val_t NEW_TEq(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TEq___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TEq_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TEq();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TEq_lexer___TEq___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TEq();
-  lexer___TEq___init(self, p0, p1, p2, init_table);
+  lexer___TEq___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TNe[71] = {
+const classtable_elt_t VFT_TNe[72] = {
   {(bigint) 2747 /* 0: Identity */},
   {(bigint) 3 /* 1: TNe < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TNe < PNode: superclass typecheck marker */},
@@ -19998,6 +23166,7 @@ const classtable_elt_t VFT_TNe[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TNe < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -20008,9 +23177,9 @@ const classtable_elt_t VFT_TNe[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TNe___parser_index},
-  {(bigint) 2 /* 68: TNe < Token: superclass init_table position */},
-  {(bigint) lexer___TNe___init},
-  {(bigint) 3 /* 70: TNe < TNe: superclass init_table position */},
+  {(bigint) 2 /* 69: TNe < Token: superclass init_table position */},
+  {(bigint) lexer___TNe___init_tk},
+  {(bigint) 3 /* 71: TNe < TNe: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TNe::_parent */
@@ -20027,13 +23196,19 @@ val_t NEW_TNe(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TNe___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TNe_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TNe();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TNe_lexer___TNe___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TNe();
-  lexer___TNe___init(self, p0, p1, p2, init_table);
+  lexer___TNe___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TLt[71] = {
+const classtable_elt_t VFT_TLt[72] = {
   {(bigint) 2763 /* 0: Identity */},
   {(bigint) 3 /* 1: TLt < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TLt < PNode: superclass typecheck marker */},
@@ -20092,6 +23267,7 @@ const classtable_elt_t VFT_TLt[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TLt < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -20102,9 +23278,9 @@ const classtable_elt_t VFT_TLt[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TLt___parser_index},
-  {(bigint) 2 /* 68: TLt < Token: superclass init_table position */},
-  {(bigint) lexer___TLt___init},
-  {(bigint) 3 /* 70: TLt < TLt: superclass init_table position */},
+  {(bigint) 2 /* 69: TLt < Token: superclass init_table position */},
+  {(bigint) lexer___TLt___init_tk},
+  {(bigint) 3 /* 71: TLt < TLt: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TLt::_parent */
@@ -20121,13 +23297,19 @@ val_t NEW_TLt(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TLt___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TLt_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TLt();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TLt_lexer___TLt___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TLt();
-  lexer___TLt___init(self, p0, p1, p2, init_table);
+  lexer___TLt___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TLe[71] = {
+const classtable_elt_t VFT_TLe[72] = {
   {(bigint) 2767 /* 0: Identity */},
   {(bigint) 3 /* 1: TLe < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TLe < PNode: superclass typecheck marker */},
@@ -20186,6 +23368,7 @@ const classtable_elt_t VFT_TLe[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TLe < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -20196,9 +23379,9 @@ const classtable_elt_t VFT_TLe[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TLe___parser_index},
-  {(bigint) 2 /* 68: TLe < Token: superclass init_table position */},
-  {(bigint) lexer___TLe___init},
-  {(bigint) 3 /* 70: TLe < TLe: superclass init_table position */},
+  {(bigint) 2 /* 69: TLe < Token: superclass init_table position */},
+  {(bigint) lexer___TLe___init_tk},
+  {(bigint) 3 /* 71: TLe < TLe: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TLe::_parent */
@@ -20215,13 +23398,19 @@ val_t NEW_TLe(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TLe___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TLe_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TLe();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TLe_lexer___TLe___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TLe();
-  lexer___TLe___init(self, p0, p1, p2, init_table);
+  lexer___TLe___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TGt[71] = {
+const classtable_elt_t VFT_TGt[72] = {
   {(bigint) 2959 /* 0: Identity */},
   {(bigint) 3 /* 1: TGt < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TGt < PNode: superclass typecheck marker */},
@@ -20280,6 +23469,7 @@ const classtable_elt_t VFT_TGt[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TGt < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -20290,9 +23480,9 @@ const classtable_elt_t VFT_TGt[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TGt___parser_index},
-  {(bigint) 2 /* 68: TGt < Token: superclass init_table position */},
-  {(bigint) lexer___TGt___init},
-  {(bigint) 3 /* 70: TGt < TGt: superclass init_table position */},
+  {(bigint) 2 /* 69: TGt < Token: superclass init_table position */},
+  {(bigint) lexer___TGt___init_tk},
+  {(bigint) 3 /* 71: TGt < TGt: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TGt::_parent */
@@ -20309,13 +23499,19 @@ val_t NEW_TGt(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TGt___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TGt_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TGt();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TGt_lexer___TGt___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TGt();
-  lexer___TGt___init(self, p0, p1, p2, init_table);
+  lexer___TGt___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TGe[71] = {
+const classtable_elt_t VFT_TGe[72] = {
   {(bigint) 2963 /* 0: Identity */},
   {(bigint) 3 /* 1: TGe < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TGe < PNode: superclass typecheck marker */},
@@ -20374,6 +23570,7 @@ const classtable_elt_t VFT_TGe[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TGe < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -20384,9 +23581,9 @@ const classtable_elt_t VFT_TGe[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TGe___parser_index},
-  {(bigint) 2 /* 68: TGe < Token: superclass init_table position */},
-  {(bigint) lexer___TGe___init},
-  {(bigint) 3 /* 70: TGe < TGe: superclass init_table position */},
+  {(bigint) 2 /* 69: TGe < Token: superclass init_table position */},
+  {(bigint) lexer___TGe___init_tk},
+  {(bigint) 3 /* 71: TGe < TGe: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TGe::_parent */
@@ -20403,13 +23600,19 @@ val_t NEW_TGe(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TGe___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TGe_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TGe();
-  lexer___TGe___init(self, p0, p1, p2, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TStarship[71] = {
+val_t NEW_TGe_lexer___TGe___init_tk(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TGe();
+  lexer___TGe___init_tk(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TStarship[72] = {
   {(bigint) 2707 /* 0: Identity */},
   {(bigint) 3 /* 1: TStarship < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TStarship < PNode: superclass typecheck marker */},
@@ -20468,6 +23671,7 @@ const classtable_elt_t VFT_TStarship[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TStarship < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -20478,9 +23682,9 @@ const classtable_elt_t VFT_TStarship[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TStarship___parser_index},
-  {(bigint) 2 /* 68: TStarship < Token: superclass init_table position */},
-  {(bigint) lexer___TStarship___init},
-  {(bigint) 3 /* 70: TStarship < TStarship: superclass init_table position */},
+  {(bigint) 2 /* 69: TStarship < Token: superclass init_table position */},
+  {(bigint) lexer___TStarship___init_tk},
+  {(bigint) 3 /* 71: TStarship < TStarship: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TStarship::_parent */
@@ -20497,13 +23701,19 @@ val_t NEW_TStarship(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TStarship___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_TStarship_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TStarship();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TStarship_lexer___TStarship___init_tk(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TStarship();
-  lexer___TStarship___init(self, p0, p1, p2, init_table);
+  lexer___TStarship___init_tk(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_TClassid[71] = {
+const classtable_elt_t VFT_TClassid[72] = {
   {(bigint) 3011 /* 0: Identity */},
   {(bigint) 3 /* 1: TClassid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TClassid < PNode: superclass typecheck marker */},
@@ -20562,6 +23772,7 @@ const classtable_elt_t VFT_TClassid[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TClassid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -20572,9 +23783,9 @@ const classtable_elt_t VFT_TClassid[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TClassid___parser_index},
-  {(bigint) 2 /* 68: TClassid < Token: superclass init_table position */},
-  {(bigint) lexer___TClassid___init},
-  {(bigint) 3 /* 70: TClassid < TClassid: superclass init_table position */},
+  {(bigint) 2 /* 69: TClassid < Token: superclass init_table position */},
+  {(bigint) lexer___TClassid___init_tk},
+  {(bigint) 3 /* 71: TClassid < TClassid: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TClassid::_parent */
@@ -20591,13 +23802,19 @@ val_t NEW_TClassid(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TClassid___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TClassid_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TClassid();
-  lexer___TClassid___init(self, p0, p1, p2, p3, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TId[71] = {
+val_t NEW_TClassid_lexer___TClassid___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TClassid();
+  lexer___TClassid___init_tk(self, p0, p1, p2, p3, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TId[72] = {
   {(bigint) 2955 /* 0: Identity */},
   {(bigint) 3 /* 1: TId < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TId < PNode: superclass typecheck marker */},
@@ -20656,6 +23873,7 @@ const classtable_elt_t VFT_TId[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TId < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -20666,9 +23884,9 @@ const classtable_elt_t VFT_TId[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TId___parser_index},
-  {(bigint) 2 /* 68: TId < Token: superclass init_table position */},
-  {(bigint) lexer___TId___init},
-  {(bigint) 3 /* 70: TId < TId: superclass init_table position */},
+  {(bigint) 2 /* 69: TId < Token: superclass init_table position */},
+  {(bigint) lexer___TId___init_tk},
+  {(bigint) 3 /* 71: TId < TId: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TId::_parent */
@@ -20685,13 +23903,19 @@ val_t NEW_TId(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TId___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TId_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TId();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TId_lexer___TId___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TId();
-  lexer___TId___init(self, p0, p1, p2, p3, init_table);
+  lexer___TId___init_tk(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_TAttrid[71] = {
+const classtable_elt_t VFT_TAttrid[72] = {
   {(bigint) 3023 /* 0: Identity */},
   {(bigint) 3 /* 1: TAttrid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TAttrid < PNode: superclass typecheck marker */},
@@ -20750,6 +23974,7 @@ const classtable_elt_t VFT_TAttrid[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TAttrid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -20760,9 +23985,9 @@ const classtable_elt_t VFT_TAttrid[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TAttrid___parser_index},
-  {(bigint) 2 /* 68: TAttrid < Token: superclass init_table position */},
-  {(bigint) lexer___TAttrid___init},
-  {(bigint) 3 /* 70: TAttrid < TAttrid: superclass init_table position */},
+  {(bigint) 2 /* 69: TAttrid < Token: superclass init_table position */},
+  {(bigint) lexer___TAttrid___init_tk},
+  {(bigint) 3 /* 71: TAttrid < TAttrid: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TAttrid::_parent */
@@ -20779,13 +24004,19 @@ val_t NEW_TAttrid(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TAttrid___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TAttrid_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TAttrid();
-  lexer___TAttrid___init(self, p0, p1, p2, p3, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TNumber[71] = {
+val_t NEW_TAttrid_lexer___TAttrid___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TAttrid();
+  lexer___TAttrid___init_tk(self, p0, p1, p2, p3, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TNumber[72] = {
   {(bigint) 2743 /* 0: Identity */},
   {(bigint) 3 /* 1: TNumber < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TNumber < PNode: superclass typecheck marker */},
@@ -20844,6 +24075,7 @@ const classtable_elt_t VFT_TNumber[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TNumber < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -20854,9 +24086,9 @@ const classtable_elt_t VFT_TNumber[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TNumber___parser_index},
-  {(bigint) 2 /* 68: TNumber < Token: superclass init_table position */},
-  {(bigint) lexer___TNumber___init},
-  {(bigint) 3 /* 70: TNumber < TNumber: superclass init_table position */},
+  {(bigint) 2 /* 69: TNumber < Token: superclass init_table position */},
+  {(bigint) lexer___TNumber___init_tk},
+  {(bigint) 3 /* 71: TNumber < TNumber: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TNumber::_parent */
@@ -20873,13 +24105,19 @@ val_t NEW_TNumber(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TNumber___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TNumber_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TNumber();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TNumber_lexer___TNumber___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TNumber();
-  lexer___TNumber___init(self, p0, p1, p2, p3, init_table);
+  lexer___TNumber___init_tk(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_TFloat[71] = {
+const classtable_elt_t VFT_TFloat[72] = {
   {(bigint) 2967 /* 0: Identity */},
   {(bigint) 3 /* 1: TFloat < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TFloat < PNode: superclass typecheck marker */},
@@ -20938,6 +24176,7 @@ const classtable_elt_t VFT_TFloat[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TFloat < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -20948,9 +24187,9 @@ const classtable_elt_t VFT_TFloat[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TFloat___parser_index},
-  {(bigint) 2 /* 68: TFloat < Token: superclass init_table position */},
-  {(bigint) lexer___TFloat___init},
-  {(bigint) 3 /* 70: TFloat < TFloat: superclass init_table position */},
+  {(bigint) 2 /* 69: TFloat < Token: superclass init_table position */},
+  {(bigint) lexer___TFloat___init_tk},
+  {(bigint) 3 /* 71: TFloat < TFloat: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TFloat::_parent */
@@ -20967,13 +24206,19 @@ val_t NEW_TFloat(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TFloat___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TFloat_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TFloat();
-  lexer___TFloat___init(self, p0, p1, p2, p3, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TChar[71] = {
+val_t NEW_TFloat_lexer___TFloat___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TFloat();
+  lexer___TFloat___init_tk(self, p0, p1, p2, p3, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TChar[72] = {
   {(bigint) 3015 /* 0: Identity */},
   {(bigint) 3 /* 1: TChar < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TChar < PNode: superclass typecheck marker */},
@@ -21032,6 +24277,7 @@ const classtable_elt_t VFT_TChar[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TChar < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -21042,9 +24288,9 @@ const classtable_elt_t VFT_TChar[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TChar___parser_index},
-  {(bigint) 2 /* 68: TChar < Token: superclass init_table position */},
-  {(bigint) lexer___TChar___init},
-  {(bigint) 3 /* 70: TChar < TChar: superclass init_table position */},
+  {(bigint) 2 /* 69: TChar < Token: superclass init_table position */},
+  {(bigint) lexer___TChar___init_tk},
+  {(bigint) 3 /* 71: TChar < TChar: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TChar::_parent */
@@ -21061,13 +24307,19 @@ val_t NEW_TChar(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TChar___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TChar_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TChar();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TChar_lexer___TChar___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TChar();
-  lexer___TChar___init(self, p0, p1, p2, p3, init_table);
+  lexer___TChar___init_tk(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_TString[71] = {
+const classtable_elt_t VFT_TString[72] = {
   {(bigint) 2699 /* 0: Identity */},
   {(bigint) 3 /* 1: TString < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TString < PNode: superclass typecheck marker */},
@@ -21126,6 +24378,7 @@ const classtable_elt_t VFT_TString[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TString < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -21136,9 +24389,9 @@ const classtable_elt_t VFT_TString[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TString___parser_index},
-  {(bigint) 2 /* 68: TString < Token: superclass init_table position */},
-  {(bigint) lexer___TString___init},
-  {(bigint) 3 /* 70: TString < TString: superclass init_table position */},
+  {(bigint) 2 /* 69: TString < Token: superclass init_table position */},
+  {(bigint) lexer___TString___init_tk},
+  {(bigint) 3 /* 71: TString < TString: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TString::_parent */
@@ -21155,13 +24408,19 @@ val_t NEW_TString(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TString___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TString_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TString();
-  lexer___TString___init(self, p0, p1, p2, p3, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TStartString[71] = {
+val_t NEW_TString_lexer___TString___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TString();
+  lexer___TString___init_tk(self, p0, p1, p2, p3, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TStartString[72] = {
   {(bigint) 2703 /* 0: Identity */},
   {(bigint) 3 /* 1: TStartString < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TStartString < PNode: superclass typecheck marker */},
@@ -21220,6 +24479,7 @@ const classtable_elt_t VFT_TStartString[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TStartString < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -21230,9 +24490,9 @@ const classtable_elt_t VFT_TStartString[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TStartString___parser_index},
-  {(bigint) 2 /* 68: TStartString < Token: superclass init_table position */},
-  {(bigint) lexer___TStartString___init},
-  {(bigint) 3 /* 70: TStartString < TStartString: superclass init_table position */},
+  {(bigint) 2 /* 69: TStartString < Token: superclass init_table position */},
+  {(bigint) lexer___TStartString___init_tk},
+  {(bigint) 3 /* 71: TStartString < TStartString: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TStartString::_parent */
@@ -21249,13 +24509,19 @@ val_t NEW_TStartString(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TStartString___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TStartString_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TStartString();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TStartString_lexer___TStartString___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TStartString();
-  lexer___TStartString___init(self, p0, p1, p2, p3, init_table);
+  lexer___TStartString___init_tk(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_TMidString[71] = {
+const classtable_elt_t VFT_TMidString[72] = {
   {(bigint) 2759 /* 0: Identity */},
   {(bigint) 3 /* 1: TMidString < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TMidString < PNode: superclass typecheck marker */},
@@ -21314,6 +24580,7 @@ const classtable_elt_t VFT_TMidString[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TMidString < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -21324,9 +24591,9 @@ const classtable_elt_t VFT_TMidString[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TMidString___parser_index},
-  {(bigint) 2 /* 68: TMidString < Token: superclass init_table position */},
-  {(bigint) lexer___TMidString___init},
-  {(bigint) 3 /* 70: TMidString < TMidString: superclass init_table position */},
+  {(bigint) 2 /* 69: TMidString < Token: superclass init_table position */},
+  {(bigint) lexer___TMidString___init_tk},
+  {(bigint) 3 /* 71: TMidString < TMidString: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TMidString::_parent */
@@ -21343,13 +24610,19 @@ val_t NEW_TMidString(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TMidString___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TMidString_parser_nodes___PNode___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TMidString();
-  lexer___TMidString___init(self, p0, p1, p2, p3, init_table);
+  parser_nodes___PNode___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TEndString[71] = {
+val_t NEW_TMidString_lexer___TMidString___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TMidString();
+  lexer___TMidString___init_tk(self, p0, p1, p2, p3, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TEndString[72] = {
   {(bigint) 2979 /* 0: Identity */},
   {(bigint) 3 /* 1: TEndString < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: TEndString < PNode: superclass typecheck marker */},
@@ -21408,6 +24681,7 @@ const classtable_elt_t VFT_TEndString[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: TEndString < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -21418,9 +24692,9 @@ const classtable_elt_t VFT_TEndString[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___TEndString___parser_index},
-  {(bigint) 2 /* 68: TEndString < Token: superclass init_table position */},
-  {(bigint) lexer___TEndString___init},
-  {(bigint) 3 /* 70: TEndString < TEndString: superclass init_table position */},
+  {(bigint) 2 /* 69: TEndString < Token: superclass init_table position */},
+  {(bigint) lexer___TEndString___init_tk},
+  {(bigint) 3 /* 71: TEndString < TEndString: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TEndString::_parent */
@@ -21437,13 +24711,19 @@ val_t NEW_TEndString(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___TEndString___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_TEndString_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TEndString();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_TEndString_lexer___TEndString___init_tk(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TEndString();
-  lexer___TEndString___init(self, p0, p1, p2, p3, init_table);
+  lexer___TEndString___init_tk(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_EOF[71] = {
+const classtable_elt_t VFT_EOF[73] = {
   {(bigint) 3207 /* 0: Identity */},
   {(bigint) 3 /* 1: EOF < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: EOF < PNode: superclass typecheck marker */},
@@ -21502,6 +24782,7 @@ const classtable_elt_t VFT_EOF[71] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: EOF < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -21512,9 +24793,10 @@ const classtable_elt_t VFT_EOF[71] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___EOF___parser_index},
-  {(bigint) 2 /* 68: EOF < Token: superclass init_table position */},
+  {(bigint) 2 /* 69: EOF < Token: superclass init_table position */},
   {(bigint) lexer___EOF___init},
-  {(bigint) 3 /* 70: EOF < EOF: superclass init_table position */},
+  {(bigint) 3 /* 71: EOF < EOF: superclass init_table position */},
+  {(bigint) parser_nodes___EOF___noinit},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute EOF::_parent */
@@ -21531,13 +24813,25 @@ val_t NEW_EOF(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___EOF___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_EOF_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_EOF();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_EOF_parser_nodes___EOF___noinit() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_EOF();
+  parser_nodes___EOF___noinit(self, init_table);
+  return self;
+}
+val_t NEW_EOF_lexer___EOF___init(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_EOF();
   lexer___EOF___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_PError[75] = {
+const classtable_elt_t VFT_PError[78] = {
   {(bigint) 3279 /* 0: Identity */},
   {(bigint) 3 /* 1: PError < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PError < PNode: superclass typecheck marker */},
@@ -21596,6 +24890,7 @@ const classtable_elt_t VFT_PError[75] = {
   {(bigint) parser_prod___Token___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PError < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -21606,13 +24901,15 @@ const classtable_elt_t VFT_PError[75] = {
   {(bigint) lexer___Token___line},
   {(bigint) lexer___Token___pos},
   {(bigint) lexer___EOF___parser_index},
-  {(bigint) 2 /* 68: PError < Token: superclass init_table position */},
+  {(bigint) 2 /* 69: PError < Token: superclass init_table position */},
   {(bigint) lexer___EOF___init},
-  {(bigint) 3 /* 70: PError < EOF: superclass init_table position */},
+  {(bigint) 3 /* 71: PError < EOF: superclass init_table position */},
+  {(bigint) parser_nodes___EOF___noinit},
   {(bigint) lexer___PError___message},
   {(bigint) lexer___PError___message__eq},
   {(bigint) lexer___PError___init_error},
-  {(bigint) 4 /* 74: PError < PError: superclass init_table position */},
+  {(bigint) 4 /* 76: PError < PError: superclass init_table position */},
+  {(bigint) parser_nodes___PError___noinit},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PError::_parent */
@@ -21630,13 +24927,37 @@ val_t NEW_PError(void) {
   ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___PError___init_error(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_PError_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_PError();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_PError_parser_nodes___EOF___noinit() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_PError();
+  parser_nodes___EOF___noinit(self, init_table);
+  return self;
+}
+val_t NEW_PError_parser_nodes___PError___noinit() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_PError();
+  parser_nodes___PError___noinit(self, init_table);
+  return self;
+}
+val_t NEW_PError_lexer___EOF___init(val_t p0, val_t p1, val_t p2) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_PError();
+  lexer___EOF___init(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_PError_lexer___PError___init_error(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_PError();
   lexer___PError___init_error(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_PModule[68] = {
+const classtable_elt_t VFT_PModule[69] = {
   {(bigint) 3079 /* 0: Identity */},
   {(bigint) 3 /* 1: PModule < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PModule < PNode: superclass typecheck marker */},
@@ -21695,6 +25016,7 @@ const classtable_elt_t VFT_PModule[68] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PModule < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -21703,8 +25025,8 @@ const classtable_elt_t VFT_PModule[68] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PModule < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: PModule < PModule: superclass init_table position */},
+  {(bigint) 2 /* 67: PModule < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: PModule < PModule: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PModule::_parent */
@@ -21716,7 +25038,13 @@ val_t NEW_PModule(void) {
   obj->vft = (classtable_elt_t*)VFT_PModule;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PPackagedecl[68] = {
+val_t NEW_PModule_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PModule();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PPackagedecl[69] = {
   {(bigint) 3075 /* 0: Identity */},
   {(bigint) 3 /* 1: PPackagedecl < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PPackagedecl < PNode: superclass typecheck marker */},
@@ -21775,6 +25103,7 @@ const classtable_elt_t VFT_PPackagedecl[68] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PPackagedecl < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -21783,8 +25112,8 @@ const classtable_elt_t VFT_PPackagedecl[68] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PPackagedecl < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: PPackagedecl < PPackagedecl: superclass init_table position */},
+  {(bigint) 2 /* 67: PPackagedecl < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: PPackagedecl < PPackagedecl: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PPackagedecl::_parent */
@@ -21796,7 +25125,13 @@ val_t NEW_PPackagedecl(void) {
   obj->vft = (classtable_elt_t*)VFT_PPackagedecl;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PImport[70] = {
+val_t NEW_PPackagedecl_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PPackagedecl();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PImport[71] = {
   {(bigint) 3087 /* 0: Identity */},
   {(bigint) 3 /* 1: PImport < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PImport < PNode: superclass typecheck marker */},
@@ -21855,6 +25190,7 @@ const classtable_elt_t VFT_PImport[70] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PImport < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -21863,10 +25199,10 @@ const classtable_elt_t VFT_PImport[70] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PImport < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: PImport < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PImport___module_name},
   {(bigint) mmbuilder___PImport___visibility_level},
-  {(bigint) 3 /* 69: PImport < PImport: superclass init_table position */},
+  {(bigint) 3 /* 70: PImport < PImport: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PImport::_parent */
@@ -21878,7 +25214,13 @@ val_t NEW_PImport(void) {
   obj->vft = (classtable_elt_t*)VFT_PImport;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PVisibility[69] = {
+val_t NEW_PImport_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PImport();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PVisibility[70] = {
   {(bigint) 3047 /* 0: Identity */},
   {(bigint) 3 /* 1: PVisibility < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PVisibility < PNode: superclass typecheck marker */},
@@ -21937,6 +25279,7 @@ const classtable_elt_t VFT_PVisibility[69] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PVisibility < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -21945,9 +25288,9 @@ const classtable_elt_t VFT_PVisibility[69] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PVisibility < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: PVisibility < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PVisibility___level},
-  {(bigint) 3 /* 68: PVisibility < PVisibility: superclass init_table position */},
+  {(bigint) 3 /* 69: PVisibility < PVisibility: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PVisibility::_parent */
@@ -21959,7 +25302,13 @@ val_t NEW_PVisibility(void) {
   obj->vft = (classtable_elt_t*)VFT_PVisibility;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PClassdef[75] = {
+val_t NEW_PVisibility_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PVisibility();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PClassdef[76] = {
   {(bigint) 3107 /* 0: Identity */},
   {(bigint) 3 /* 1: PClassdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PClassdef < PNode: superclass typecheck marker */},
@@ -22018,6 +25367,7 @@ const classtable_elt_t VFT_PClassdef[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PClassdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PClassdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -22026,14 +25376,14 @@ const classtable_elt_t VFT_PClassdef[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PClassdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: PClassdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PClassdef___name},
   {(bigint) mmbuilder___PClassdef___arity},
   {(bigint) mmbuilder___PClassdef___visibility_level},
   {(bigint) mmbuilder___PNode___accept_class_builder},
   {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
   {(bigint) mmbuilder___PClassdef___local_class},
-  {(bigint) 3 /* 73: PClassdef < PClassdef: superclass init_table position */},
+  {(bigint) 3 /* 74: PClassdef < PClassdef: superclass init_table position */},
   {(bigint) typing___PNode___accept_typing},
 };
 /* 0: Pointer to the classtable */
@@ -22047,7 +25397,13 @@ val_t NEW_PClassdef(void) {
   obj->vft = (classtable_elt_t*)VFT_PClassdef;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PClasskind[71] = {
+val_t NEW_PClassdef_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PClassdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PClasskind[72] = {
   {(bigint) 3103 /* 0: Identity */},
   {(bigint) 3 /* 1: PClasskind < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PClasskind < PNode: superclass typecheck marker */},
@@ -22106,6 +25462,7 @@ const classtable_elt_t VFT_PClasskind[71] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PClasskind < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -22114,11 +25471,11 @@ const classtable_elt_t VFT_PClasskind[71] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PClasskind < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: PClasskind < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PClasskind___is_interface},
   {(bigint) mmbuilder___PClasskind___is_universal},
   {(bigint) mmbuilder___PClasskind___is_abstract},
-  {(bigint) 3 /* 70: PClasskind < PClasskind: superclass init_table position */},
+  {(bigint) 3 /* 71: PClasskind < PClasskind: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PClasskind::_parent */
@@ -22130,7 +25487,13 @@ val_t NEW_PClasskind(void) {
   obj->vft = (classtable_elt_t*)VFT_PClasskind;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PFormaldef[68] = {
+val_t NEW_PClasskind_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PClasskind();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PFormaldef[69] = {
   {(bigint) 3091 /* 0: Identity */},
   {(bigint) 3 /* 1: PFormaldef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PFormaldef < PNode: superclass typecheck marker */},
@@ -22189,6 +25552,7 @@ const classtable_elt_t VFT_PFormaldef[68] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PFormaldef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -22197,8 +25561,8 @@ const classtable_elt_t VFT_PFormaldef[68] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PFormaldef < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: PFormaldef < PFormaldef: superclass init_table position */},
+  {(bigint) 2 /* 67: PFormaldef < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: PFormaldef < PFormaldef: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PFormaldef::_parent */
@@ -22210,7 +25574,13 @@ val_t NEW_PFormaldef(void) {
   obj->vft = (classtable_elt_t*)VFT_PFormaldef;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PSuperclass[68] = {
+val_t NEW_PFormaldef_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PFormaldef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PSuperclass[69] = {
   {(bigint) 3055 /* 0: Identity */},
   {(bigint) 3 /* 1: PSuperclass < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PSuperclass < PNode: superclass typecheck marker */},
@@ -22269,6 +25639,7 @@ const classtable_elt_t VFT_PSuperclass[68] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PSuperclass < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -22277,8 +25648,8 @@ const classtable_elt_t VFT_PSuperclass[68] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PSuperclass < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: PSuperclass < PSuperclass: superclass init_table position */},
+  {(bigint) 2 /* 67: PSuperclass < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: PSuperclass < PSuperclass: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PSuperclass::_parent */
@@ -22290,7 +25661,13 @@ val_t NEW_PSuperclass(void) {
   obj->vft = (classtable_elt_t*)VFT_PSuperclass;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PPropdef[74] = {
+val_t NEW_PSuperclass_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PSuperclass();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PPropdef[75] = {
   {(bigint) 3067 /* 0: Identity */},
   {(bigint) 3 /* 1: PPropdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PPropdef < PNode: superclass typecheck marker */},
@@ -22349,6 +25726,7 @@ const classtable_elt_t VFT_PPropdef[74] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PPropdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -22357,12 +25735,12 @@ const classtable_elt_t VFT_PPropdef[74] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PPropdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: PPropdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PPropdef___process_and_check},
   {(bigint) mmbuilder___PPropdef___do_and_check_intro},
   {(bigint) mmbuilder___PPropdef___inherit_signature},
   {(bigint) mmbuilder___PPropdef___do_and_check_redef},
-  {(bigint) 3 /* 71: PPropdef < PPropdef: superclass init_table position */},
+  {(bigint) 3 /* 72: PPropdef < PPropdef: superclass init_table position */},
   {(bigint) parser_nodes___PPropdef___n_doc},
   {(bigint) parser_nodes___PPropdef___n_doc__eq},
 };
@@ -22375,9 +25753,16 @@ val_t NEW_PPropdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_PPropdef;
+  ATTR_parser_nodes___PPropdef____n_doc(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PAble[70] = {
+val_t NEW_PPropdef_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PPropdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PAble[71] = {
   {(bigint) 3115 /* 0: Identity */},
   {(bigint) 3 /* 1: PAble < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PAble < PNode: superclass typecheck marker */},
@@ -22436,6 +25821,7 @@ const classtable_elt_t VFT_PAble[70] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PAble < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -22444,8 +25830,8 @@ const classtable_elt_t VFT_PAble[70] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PAble < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: PAble < PAble: superclass init_table position */},
+  {(bigint) 2 /* 67: PAble < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: PAble < PAble: superclass init_table position */},
   {(bigint) parser_nodes___PAble___n_kwredef},
   {(bigint) parser_nodes___PAble___n_kwredef__eq},
 };
@@ -22458,9 +25844,16 @@ val_t NEW_PAble(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_PAble;
+  ATTR_parser_nodes___PAble____n_kwredef(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PMethid[70] = {
+val_t NEW_PAble_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PAble();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PMethid[71] = {
   {(bigint) 3083 /* 0: Identity */},
   {(bigint) 3 /* 1: PMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PMethid < PNode: superclass typecheck marker */},
@@ -22519,6 +25912,7 @@ const classtable_elt_t VFT_PMethid[70] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -22527,10 +25921,10 @@ const classtable_elt_t VFT_PMethid[70] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: PMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: PMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: PMethid < PMethid: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PMethid::_parent */
@@ -22543,7 +25937,13 @@ val_t NEW_PMethid(void) {
   obj->vft = (classtable_elt_t*)VFT_PMethid;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PSignature[69] = {
+val_t NEW_PMethid_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PSignature[70] = {
   {(bigint) 3059 /* 0: Identity */},
   {(bigint) 3 /* 1: PSignature < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PSignature < PNode: superclass typecheck marker */},
@@ -22602,6 +26002,7 @@ const classtable_elt_t VFT_PSignature[69] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PSignature < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -22610,9 +26011,9 @@ const classtable_elt_t VFT_PSignature[69] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PSignature < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: PSignature < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PSignature___check_visibility},
-  {(bigint) 3 /* 68: PSignature < PSignature: superclass init_table position */},
+  {(bigint) 3 /* 69: PSignature < PSignature: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PSignature::_parent */
@@ -22624,7 +26025,13 @@ val_t NEW_PSignature(void) {
   obj->vft = (classtable_elt_t*)VFT_PSignature;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PParam[79] = {
+val_t NEW_PSignature_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PSignature();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PParam[80] = {
   {(bigint) 3071 /* 0: Identity */},
   {(bigint) 3 /* 1: PParam < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PParam < PNode: superclass typecheck marker */},
@@ -22683,6 +26090,7 @@ const classtable_elt_t VFT_PParam[79] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PParam < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PParam___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PParam___after_typing},
@@ -22691,14 +26099,14 @@ const classtable_elt_t VFT_PParam[79] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PParam < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: PParam < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PParam___stype},
   {(bigint) mmbuilder___PParam___stype__eq},
   {(bigint) mmbuilder___PNode___accept_property_verifier},
   {(bigint) mmbuilder___PParam___is_vararg},
   {(bigint) mmbuilder___PParam___position},
   {(bigint) mmbuilder___PParam___variable},
-  {(bigint) 3 /* 73: PParam < PParam: superclass init_table position */},
+  {(bigint) 3 /* 74: PParam < PParam: superclass init_table position */},
   {(bigint) parser_nodes___PParam___n_id},
   {(bigint) parser_nodes___PParam___n_id__eq},
   {(bigint) parser_nodes___PParam___n_type},
@@ -22718,10 +26126,18 @@ val_t NEW_PParam(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_PParam;
+  ATTR_parser_nodes___PParam____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___PParam____n_type(obj) =  NIT_NULL /*null*/;
   ATTR_mmbuilder___PParam____position(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PType[74] = {
+val_t NEW_PParam_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PParam();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PType[75] = {
   {(bigint) 3051 /* 0: Identity */},
   {(bigint) 3 /* 1: PType < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PType < PNode: superclass typecheck marker */},
@@ -22780,6 +26196,7 @@ const classtable_elt_t VFT_PType[74] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PType < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PType___after_typing},
@@ -22788,13 +26205,13 @@ const classtable_elt_t VFT_PType[74] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PType < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: PType < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PType___check_visibility},
   {(bigint) syntax_base___PType___get_local_class},
   {(bigint) syntax_base___PType___get_stype},
   {(bigint) syntax_base___PType___get_unchecked_stype},
   {(bigint) syntax_base___PType___check_conform},
-  {(bigint) 3 /* 72: PType < PType: superclass init_table position */},
+  {(bigint) 3 /* 73: PType < PType: superclass init_table position */},
   {(bigint) typing___PType___stype},
 };
 /* 0: Pointer to the classtable */
@@ -22808,7 +26225,13 @@ val_t NEW_PType(void) {
   obj->vft = (classtable_elt_t*)VFT_PType;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PExpr[76] = {
+val_t NEW_PType_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PType();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PExpr[77] = {
   {(bigint) 3095 /* 0: Identity */},
   {(bigint) 3 /* 1: PExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PExpr < PNode: superclass typecheck marker */},
@@ -22867,6 +26290,7 @@ const classtable_elt_t VFT_PExpr[76] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -22875,12 +26299,12 @@ const classtable_elt_t VFT_PExpr[76] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: PExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: PExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: PExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -22898,7 +26322,13 @@ val_t NEW_PExpr(void) {
   obj->vft = (classtable_elt_t*)VFT_PExpr;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PAssignOp[69] = {
+val_t NEW_PExpr_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PAssignOp[70] = {
   {(bigint) 3111 /* 0: Identity */},
   {(bigint) 3 /* 1: PAssignOp < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PAssignOp < PNode: superclass typecheck marker */},
@@ -22957,6 +26387,7 @@ const classtable_elt_t VFT_PAssignOp[69] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PAssignOp < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -22965,9 +26396,9 @@ const classtable_elt_t VFT_PAssignOp[69] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PAssignOp < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: PAssignOp < Prod: superclass init_table position */},
   {(bigint) typing___PAssignOp___method_name},
-  {(bigint) 3 /* 68: PAssignOp < PAssignOp: superclass init_table position */},
+  {(bigint) 3 /* 69: PAssignOp < PAssignOp: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PAssignOp::_parent */
@@ -22979,7 +26410,13 @@ val_t NEW_PAssignOp(void) {
   obj->vft = (classtable_elt_t*)VFT_PAssignOp;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PQualified[68] = {
+val_t NEW_PAssignOp_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PAssignOp();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PQualified[69] = {
   {(bigint) 3063 /* 0: Identity */},
   {(bigint) 3 /* 1: PQualified < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PQualified < PNode: superclass typecheck marker */},
@@ -23038,6 +26475,7 @@ const classtable_elt_t VFT_PQualified[68] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PQualified < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -23046,8 +26484,8 @@ const classtable_elt_t VFT_PQualified[68] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PQualified < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: PQualified < PQualified: superclass init_table position */},
+  {(bigint) 2 /* 67: PQualified < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: PQualified < PQualified: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PQualified::_parent */
@@ -23059,7 +26497,13 @@ val_t NEW_PQualified(void) {
   obj->vft = (classtable_elt_t*)VFT_PQualified;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PDoc[68] = {
+val_t NEW_PQualified_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PQualified();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_PDoc[69] = {
   {(bigint) 3099 /* 0: Identity */},
   {(bigint) 3 /* 1: PDoc < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: PDoc < PNode: superclass typecheck marker */},
@@ -23118,6 +26562,7 @@ const classtable_elt_t VFT_PDoc[68] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: PDoc < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -23126,8 +26571,8 @@ const classtable_elt_t VFT_PDoc[68] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: PDoc < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: PDoc < PDoc: superclass init_table position */},
+  {(bigint) 2 /* 67: PDoc < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: PDoc < PDoc: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PDoc::_parent */
@@ -23139,7 +26584,13 @@ val_t NEW_PDoc(void) {
   obj->vft = (classtable_elt_t*)VFT_PDoc;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_AModule[78] = {
+val_t NEW_PDoc_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PDoc();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_AModule[79] = {
   {(bigint) 3455 /* 0: Identity */},
   {(bigint) 3 /* 1: AModule < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AModule < PNode: superclass typecheck marker */},
@@ -23198,6 +26649,7 @@ const classtable_elt_t VFT_AModule[78] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AModule < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -23206,12 +26658,12 @@ const classtable_elt_t VFT_AModule[78] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AModule < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: AModule < PModule: superclass init_table position */},
+  {(bigint) 2 /* 67: AModule < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: AModule < PModule: superclass init_table position */},
   {(bigint) mmbuilder___AModule___import_super_modules},
   {(bigint) parser_prod___AModule___empty_init},
   {(bigint) parser_prod___AModule___init_amodule},
-  {(bigint) 4 /* 71: AModule < AModule: superclass init_table position */},
+  {(bigint) 4 /* 72: AModule < AModule: superclass init_table position */},
   {(bigint) parser_nodes___AModule___n_packagedecl},
   {(bigint) parser_prod___AModule___n_packagedecl__eq},
   {(bigint) parser_nodes___AModule___n_imports},
@@ -23230,21 +26682,30 @@ val_t NEW_AModule(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AModule;
+  ATTR_parser_nodes___AModule____n_packagedecl(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AModule____n_imports(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AModule____n_classdefs(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AModule___empty_init() {
+val_t NEW_AModule_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AModule();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AModule_parser_prod___AModule___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AModule();
   parser_prod___AModule___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AModule___init_amodule(val_t p0, val_t p1, val_t p2) {
+val_t NEW_AModule_parser_prod___AModule___init_amodule(val_t p0, val_t p1, val_t p2) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AModule();
   parser_prod___AModule___init_amodule(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_APackagedecl[77] = {
+const classtable_elt_t VFT_APackagedecl[78] = {
   {(bigint) 3439 /* 0: Identity */},
   {(bigint) 3 /* 1: APackagedecl < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: APackagedecl < PNode: superclass typecheck marker */},
@@ -23303,6 +26764,7 @@ const classtable_elt_t VFT_APackagedecl[77] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: APackagedecl < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -23311,11 +26773,11 @@ const classtable_elt_t VFT_APackagedecl[77] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: APackagedecl < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: APackagedecl < PPackagedecl: superclass init_table position */},
+  {(bigint) 2 /* 67: APackagedecl < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: APackagedecl < PPackagedecl: superclass init_table position */},
   {(bigint) parser_prod___APackagedecl___empty_init},
   {(bigint) parser_prod___APackagedecl___init_apackagedecl},
-  {(bigint) 4 /* 70: APackagedecl < APackagedecl: superclass init_table position */},
+  {(bigint) 4 /* 71: APackagedecl < APackagedecl: superclass init_table position */},
   {(bigint) parser_nodes___APackagedecl___n_doc},
   {(bigint) parser_prod___APackagedecl___n_doc__eq},
   {(bigint) parser_nodes___APackagedecl___n_kwpackage},
@@ -23334,21 +26796,30 @@ val_t NEW_APackagedecl(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_APackagedecl;
+  ATTR_parser_nodes___APackagedecl____n_doc(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___APackagedecl____n_kwpackage(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___APackagedecl____n_id(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___APackagedecl___empty_init() {
+val_t NEW_APackagedecl_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_APackagedecl();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_APackagedecl_parser_prod___APackagedecl___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APackagedecl();
   parser_prod___APackagedecl___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___APackagedecl___init_apackagedecl(val_t p0, val_t p1, val_t p2) {
+val_t NEW_APackagedecl_parser_prod___APackagedecl___init_apackagedecl(val_t p0, val_t p1, val_t p2) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APackagedecl();
   parser_prod___APackagedecl___init_apackagedecl(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_AImport[79] = {
+const classtable_elt_t VFT_AImport[80] = {
   {(bigint) 3495 /* 0: Identity */},
   {(bigint) 3 /* 1: AImport < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AImport < PNode: superclass typecheck marker */},
@@ -23407,6 +26878,7 @@ const classtable_elt_t VFT_AImport[79] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AImport < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -23415,13 +26887,13 @@ const classtable_elt_t VFT_AImport[79] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AImport < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AImport < Prod: superclass init_table position */},
   {(bigint) mmbuilder___AImport___module_name},
   {(bigint) mmbuilder___AImport___visibility_level},
-  {(bigint) 3 /* 69: AImport < PImport: superclass init_table position */},
+  {(bigint) 3 /* 70: AImport < PImport: superclass init_table position */},
   {(bigint) parser_prod___AImport___empty_init},
   {(bigint) parser_prod___AImport___init_aimport},
-  {(bigint) 4 /* 72: AImport < AImport: superclass init_table position */},
+  {(bigint) 4 /* 73: AImport < AImport: superclass init_table position */},
   {(bigint) parser_nodes___AImport___n_visibility},
   {(bigint) parser_prod___AImport___n_visibility__eq},
   {(bigint) parser_nodes___AImport___n_kwimport},
@@ -23440,21 +26912,30 @@ val_t NEW_AImport(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AImport;
+  ATTR_parser_nodes___AImport____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AImport____n_kwimport(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AImport____n_id(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AImport___empty_init() {
+val_t NEW_AImport_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AImport();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AImport_parser_prod___AImport___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AImport();
   parser_prod___AImport___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AImport___init_aimport(val_t p0, val_t p1, val_t p2) {
+val_t NEW_AImport_parser_prod___AImport___init_aimport(val_t p0, val_t p1, val_t p2) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AImport();
   parser_prod___AImport___init_aimport(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_ANoImport[79] = {
+const classtable_elt_t VFT_ANoImport[80] = {
   {(bigint) 3447 /* 0: Identity */},
   {(bigint) 3 /* 1: ANoImport < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ANoImport < PNode: superclass typecheck marker */},
@@ -23513,6 +26994,7 @@ const classtable_elt_t VFT_ANoImport[79] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ANoImport < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -23521,13 +27003,13 @@ const classtable_elt_t VFT_ANoImport[79] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ANoImport < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ANoImport < Prod: superclass init_table position */},
   {(bigint) mmbuilder___ANoImport___module_name},
   {(bigint) mmbuilder___PImport___visibility_level},
-  {(bigint) 3 /* 69: ANoImport < PImport: superclass init_table position */},
+  {(bigint) 3 /* 70: ANoImport < PImport: superclass init_table position */},
   {(bigint) parser_prod___ANoImport___empty_init},
   {(bigint) parser_prod___ANoImport___init_anoimport},
-  {(bigint) 4 /* 72: ANoImport < ANoImport: superclass init_table position */},
+  {(bigint) 4 /* 73: ANoImport < ANoImport: superclass init_table position */},
   {(bigint) parser_nodes___ANoImport___n_visibility},
   {(bigint) parser_prod___ANoImport___n_visibility__eq},
   {(bigint) parser_nodes___ANoImport___n_kwimport},
@@ -23546,21 +27028,30 @@ val_t NEW_ANoImport(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ANoImport;
+  ATTR_parser_nodes___ANoImport____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ANoImport____n_kwimport(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ANoImport____n_kwend(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ANoImport___empty_init() {
+val_t NEW_ANoImport_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ANoImport();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ANoImport_parser_prod___ANoImport___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ANoImport();
   parser_prod___ANoImport___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ANoImport___init_anoimport(val_t p0, val_t p1, val_t p2) {
+val_t NEW_ANoImport_parser_prod___ANoImport___init_anoimport(val_t p0, val_t p1, val_t p2) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ANoImport();
   parser_prod___ANoImport___init_anoimport(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_APublicVisibility[72] = {
+const classtable_elt_t VFT_APublicVisibility[73] = {
   {(bigint) 3407 /* 0: Identity */},
   {(bigint) 3 /* 1: APublicVisibility < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: APublicVisibility < PNode: superclass typecheck marker */},
@@ -23619,6 +27110,7 @@ const classtable_elt_t VFT_APublicVisibility[72] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: APublicVisibility < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -23627,12 +27119,12 @@ const classtable_elt_t VFT_APublicVisibility[72] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: APublicVisibility < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: APublicVisibility < Prod: superclass init_table position */},
   {(bigint) mmbuilder___APublicVisibility___level},
-  {(bigint) 3 /* 68: APublicVisibility < PVisibility: superclass init_table position */},
+  {(bigint) 3 /* 69: APublicVisibility < PVisibility: superclass init_table position */},
   {(bigint) parser_prod___APublicVisibility___empty_init},
   {(bigint) parser_prod___APublicVisibility___init_apublicvisibility},
-  {(bigint) 4 /* 71: APublicVisibility < APublicVisibility: superclass init_table position */},
+  {(bigint) 4 /* 72: APublicVisibility < APublicVisibility: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute APublicVisibility::_parent */
@@ -23644,19 +27136,25 @@ val_t NEW_APublicVisibility(void) {
   obj->vft = (classtable_elt_t*)VFT_APublicVisibility;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___APublicVisibility___empty_init() {
+val_t NEW_APublicVisibility_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_APublicVisibility();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_APublicVisibility_parser_prod___APublicVisibility___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APublicVisibility();
   parser_prod___APublicVisibility___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___APublicVisibility___init_apublicvisibility() {
+val_t NEW_APublicVisibility_parser_prod___APublicVisibility___init_apublicvisibility() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APublicVisibility();
   parser_prod___APublicVisibility___init_apublicvisibility(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_APrivateVisibility[74] = {
+const classtable_elt_t VFT_APrivateVisibility[75] = {
   {(bigint) 3419 /* 0: Identity */},
   {(bigint) 3 /* 1: APrivateVisibility < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: APrivateVisibility < PNode: superclass typecheck marker */},
@@ -23715,6 +27213,7 @@ const classtable_elt_t VFT_APrivateVisibility[74] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: APrivateVisibility < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -23723,12 +27222,12 @@ const classtable_elt_t VFT_APrivateVisibility[74] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: APrivateVisibility < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: APrivateVisibility < Prod: superclass init_table position */},
   {(bigint) mmbuilder___APrivateVisibility___level},
-  {(bigint) 3 /* 68: APrivateVisibility < PVisibility: superclass init_table position */},
+  {(bigint) 3 /* 69: APrivateVisibility < PVisibility: superclass init_table position */},
   {(bigint) parser_prod___APrivateVisibility___empty_init},
   {(bigint) parser_prod___APrivateVisibility___init_aprivatevisibility},
-  {(bigint) 4 /* 71: APrivateVisibility < APrivateVisibility: superclass init_table position */},
+  {(bigint) 4 /* 72: APrivateVisibility < APrivateVisibility: superclass init_table position */},
   {(bigint) parser_nodes___APrivateVisibility___n_kwprivate},
   {(bigint) parser_prod___APrivateVisibility___n_kwprivate__eq},
 };
@@ -23741,21 +27240,28 @@ val_t NEW_APrivateVisibility(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_APrivateVisibility;
+  ATTR_parser_nodes___APrivateVisibility____n_kwprivate(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___APrivateVisibility___empty_init() {
+val_t NEW_APrivateVisibility_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_APrivateVisibility();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_APrivateVisibility_parser_prod___APrivateVisibility___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APrivateVisibility();
   parser_prod___APrivateVisibility___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___APrivateVisibility___init_aprivatevisibility(val_t p0) {
+val_t NEW_APrivateVisibility_parser_prod___APrivateVisibility___init_aprivatevisibility(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APrivateVisibility();
   parser_prod___APrivateVisibility___init_aprivatevisibility(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AProtectedVisibility[74] = {
+const classtable_elt_t VFT_AProtectedVisibility[75] = {
   {(bigint) 3415 /* 0: Identity */},
   {(bigint) 3 /* 1: AProtectedVisibility < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AProtectedVisibility < PNode: superclass typecheck marker */},
@@ -23814,6 +27320,7 @@ const classtable_elt_t VFT_AProtectedVisibility[74] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AProtectedVisibility < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -23822,12 +27329,12 @@ const classtable_elt_t VFT_AProtectedVisibility[74] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AProtectedVisibility < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AProtectedVisibility < Prod: superclass init_table position */},
   {(bigint) mmbuilder___AProtectedVisibility___level},
-  {(bigint) 3 /* 68: AProtectedVisibility < PVisibility: superclass init_table position */},
+  {(bigint) 3 /* 69: AProtectedVisibility < PVisibility: superclass init_table position */},
   {(bigint) parser_prod___AProtectedVisibility___empty_init},
   {(bigint) parser_prod___AProtectedVisibility___init_aprotectedvisibility},
-  {(bigint) 4 /* 71: AProtectedVisibility < AProtectedVisibility: superclass init_table position */},
+  {(bigint) 4 /* 72: AProtectedVisibility < AProtectedVisibility: superclass init_table position */},
   {(bigint) parser_nodes___AProtectedVisibility___n_kwprotected},
   {(bigint) parser_prod___AProtectedVisibility___n_kwprotected__eq},
 };
@@ -23840,21 +27347,28 @@ val_t NEW_AProtectedVisibility(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_AProtectedVisibility;
+  ATTR_parser_nodes___AProtectedVisibility____n_kwprotected(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AProtectedVisibility___empty_init() {
+val_t NEW_AProtectedVisibility_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AProtectedVisibility();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AProtectedVisibility();
   parser_prod___AProtectedVisibility___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t p0) {
+val_t NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AProtectedVisibility();
   parser_prod___AProtectedVisibility___init_aprotectedvisibility(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AIntrudeVisibility[74] = {
+const classtable_elt_t VFT_AIntrudeVisibility[75] = {
   {(bigint) 3483 /* 0: Identity */},
   {(bigint) 3 /* 1: AIntrudeVisibility < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AIntrudeVisibility < PNode: superclass typecheck marker */},
@@ -23913,6 +27427,7 @@ const classtable_elt_t VFT_AIntrudeVisibility[74] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AIntrudeVisibility < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -23921,12 +27436,12 @@ const classtable_elt_t VFT_AIntrudeVisibility[74] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AIntrudeVisibility < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AIntrudeVisibility < Prod: superclass init_table position */},
   {(bigint) mmbuilder___AIntrudeVisibility___level},
-  {(bigint) 3 /* 68: AIntrudeVisibility < PVisibility: superclass init_table position */},
+  {(bigint) 3 /* 69: AIntrudeVisibility < PVisibility: superclass init_table position */},
   {(bigint) parser_prod___AIntrudeVisibility___empty_init},
   {(bigint) parser_prod___AIntrudeVisibility___init_aintrudevisibility},
-  {(bigint) 4 /* 71: AIntrudeVisibility < AIntrudeVisibility: superclass init_table position */},
+  {(bigint) 4 /* 72: AIntrudeVisibility < AIntrudeVisibility: superclass init_table position */},
   {(bigint) parser_nodes___AIntrudeVisibility___n_kwintrude},
   {(bigint) parser_prod___AIntrudeVisibility___n_kwintrude__eq},
 };
@@ -23939,21 +27454,28 @@ val_t NEW_AIntrudeVisibility(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_AIntrudeVisibility;
+  ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AIntrudeVisibility___empty_init() {
+val_t NEW_AIntrudeVisibility_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AIntrudeVisibility();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AIntrudeVisibility();
   parser_prod___AIntrudeVisibility___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t p0) {
+val_t NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AIntrudeVisibility();
   parser_prod___AIntrudeVisibility___init_aintrudevisibility(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AClassdef[95] = {
+const classtable_elt_t VFT_AClassdef[96] = {
   {(bigint) 3551 /* 0: Identity */},
   {(bigint) 3 /* 1: AClassdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AClassdef < PNode: superclass typecheck marker */},
@@ -24012,6 +27534,7 @@ const classtable_elt_t VFT_AClassdef[95] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AClassdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PClassdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -24020,19 +27543,19 @@ const classtable_elt_t VFT_AClassdef[95] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AClassdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AClassdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___AClassdef___name},
   {(bigint) mmbuilder___AClassdef___arity},
   {(bigint) mmbuilder___AClassdef___visibility_level},
   {(bigint) mmbuilder___PNode___accept_class_builder},
   {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
   {(bigint) mmbuilder___PClassdef___local_class},
-  {(bigint) 3 /* 73: AClassdef < PClassdef: superclass init_table position */},
+  {(bigint) 3 /* 74: AClassdef < PClassdef: superclass init_table position */},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) mmbuilder___PNode___accept_class_verifier},
   {(bigint) parser_prod___AClassdef___empty_init},
   {(bigint) parser_prod___AClassdef___init_aclassdef},
-  {(bigint) 4 /* 78: AClassdef < AClassdef: superclass init_table position */},
+  {(bigint) 4 /* 79: AClassdef < AClassdef: superclass init_table position */},
   {(bigint) parser_nodes___AClassdef___n_doc},
   {(bigint) parser_prod___AClassdef___n_doc__eq},
   {(bigint) parser_nodes___AClassdef___n_kwredef},
@@ -24067,21 +27590,35 @@ val_t NEW_AClassdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_AClassdef;
+  ATTR_parser_nodes___AClassdef____n_doc(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AClassdef____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AClassdef____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AClassdef____n_classkind(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AClassdef____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AClassdef____n_formaldefs(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AClassdef____n_superclasses(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AClassdef____n_propdefs(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AClassdef___empty_init() {
+val_t NEW_AClassdef_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AClassdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AClassdef_parser_prod___AClassdef___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AClassdef();
   parser_prod___AClassdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AClassdef___init_aclassdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7) {
+val_t NEW_AClassdef_parser_prod___AClassdef___init_aclassdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AClassdef();
   parser_prod___AClassdef___init_aclassdef(self, p0, p1, p2, p3, p4, p5, p6, p7, init_table);
   return self;
 }
-const classtable_elt_t VFT_ATopClassdef[80] = {
+const classtable_elt_t VFT_ATopClassdef[81] = {
   {(bigint) 3351 /* 0: Identity */},
   {(bigint) 3 /* 1: ATopClassdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ATopClassdef < PNode: superclass typecheck marker */},
@@ -24140,6 +27677,7 @@ const classtable_elt_t VFT_ATopClassdef[80] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ATopClassdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PClassdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -24148,18 +27686,18 @@ const classtable_elt_t VFT_ATopClassdef[80] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ATopClassdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ATopClassdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___ATopClassdef___name},
   {(bigint) mmbuilder___PClassdef___arity},
   {(bigint) mmbuilder___PClassdef___visibility_level},
   {(bigint) mmbuilder___PNode___accept_class_builder},
   {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
   {(bigint) mmbuilder___PClassdef___local_class},
-  {(bigint) 3 /* 73: ATopClassdef < PClassdef: superclass init_table position */},
+  {(bigint) 3 /* 74: ATopClassdef < PClassdef: superclass init_table position */},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) parser_prod___ATopClassdef___empty_init},
   {(bigint) parser_prod___ATopClassdef___init_atopclassdef},
-  {(bigint) 4 /* 77: ATopClassdef < ATopClassdef: superclass init_table position */},
+  {(bigint) 4 /* 78: ATopClassdef < ATopClassdef: superclass init_table position */},
   {(bigint) parser_nodes___ATopClassdef___n_propdefs},
   {(bigint) parser_nodes___ATopClassdef___n_propdefs__eq},
 };
@@ -24173,21 +27711,28 @@ val_t NEW_ATopClassdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_ATopClassdef;
+  ATTR_parser_nodes___ATopClassdef____n_propdefs(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ATopClassdef___empty_init() {
+val_t NEW_ATopClassdef_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ATopClassdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ATopClassdef_parser_prod___ATopClassdef___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ATopClassdef();
   parser_prod___ATopClassdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ATopClassdef___init_atopclassdef(val_t p0) {
+val_t NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ATopClassdef();
   parser_prod___ATopClassdef___init_atopclassdef(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AMainClassdef[80] = {
+const classtable_elt_t VFT_AMainClassdef[81] = {
   {(bigint) 3471 /* 0: Identity */},
   {(bigint) 3 /* 1: AMainClassdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AMainClassdef < PNode: superclass typecheck marker */},
@@ -24246,6 +27791,7 @@ const classtable_elt_t VFT_AMainClassdef[80] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AMainClassdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PClassdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -24254,18 +27800,18 @@ const classtable_elt_t VFT_AMainClassdef[80] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AMainClassdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AMainClassdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___AMainClassdef___name},
   {(bigint) mmbuilder___PClassdef___arity},
   {(bigint) mmbuilder___PClassdef___visibility_level},
   {(bigint) mmbuilder___PNode___accept_class_builder},
   {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
   {(bigint) mmbuilder___PClassdef___local_class},
-  {(bigint) 3 /* 73: AMainClassdef < PClassdef: superclass init_table position */},
+  {(bigint) 3 /* 74: AMainClassdef < PClassdef: superclass init_table position */},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) parser_prod___AMainClassdef___empty_init},
   {(bigint) parser_prod___AMainClassdef___init_amainclassdef},
-  {(bigint) 4 /* 77: AMainClassdef < AMainClassdef: superclass init_table position */},
+  {(bigint) 4 /* 78: AMainClassdef < AMainClassdef: superclass init_table position */},
   {(bigint) parser_nodes___AMainClassdef___n_propdefs},
   {(bigint) parser_nodes___AMainClassdef___n_propdefs__eq},
 };
@@ -24279,21 +27825,28 @@ val_t NEW_AMainClassdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AMainClassdef;
+  ATTR_parser_nodes___AMainClassdef____n_propdefs(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AMainClassdef___empty_init() {
+val_t NEW_AMainClassdef_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AMainClassdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AMainClassdef_parser_prod___AMainClassdef___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AMainClassdef();
   parser_prod___AMainClassdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AMainClassdef___init_amainclassdef(val_t p0) {
+val_t NEW_AMainClassdef_parser_prod___AMainClassdef___init_amainclassdef(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AMainClassdef();
   parser_prod___AMainClassdef___init_amainclassdef(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AConcreteClasskind[76] = {
+const classtable_elt_t VFT_AConcreteClasskind[77] = {
   {(bigint) 3547 /* 0: Identity */},
   {(bigint) 3 /* 1: AConcreteClasskind < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AConcreteClasskind < PNode: superclass typecheck marker */},
@@ -24352,6 +27905,7 @@ const classtable_elt_t VFT_AConcreteClasskind[76] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AConcreteClasskind < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -24360,14 +27914,14 @@ const classtable_elt_t VFT_AConcreteClasskind[76] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AConcreteClasskind < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AConcreteClasskind < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PClasskind___is_interface},
   {(bigint) mmbuilder___PClasskind___is_universal},
   {(bigint) mmbuilder___PClasskind___is_abstract},
-  {(bigint) 3 /* 70: AConcreteClasskind < PClasskind: superclass init_table position */},
+  {(bigint) 3 /* 71: AConcreteClasskind < PClasskind: superclass init_table position */},
   {(bigint) parser_prod___AConcreteClasskind___empty_init},
   {(bigint) parser_prod___AConcreteClasskind___init_aconcreteclasskind},
-  {(bigint) 4 /* 73: AConcreteClasskind < AConcreteClasskind: superclass init_table position */},
+  {(bigint) 4 /* 74: AConcreteClasskind < AConcreteClasskind: superclass init_table position */},
   {(bigint) parser_nodes___AConcreteClasskind___n_kwclass},
   {(bigint) parser_prod___AConcreteClasskind___n_kwclass__eq},
 };
@@ -24380,21 +27934,28 @@ val_t NEW_AConcreteClasskind(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_AConcreteClasskind;
+  ATTR_parser_nodes___AConcreteClasskind____n_kwclass(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AConcreteClasskind___empty_init() {
+val_t NEW_AConcreteClasskind_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AConcreteClasskind();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AConcreteClasskind_parser_prod___AConcreteClasskind___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AConcreteClasskind();
   parser_prod___AConcreteClasskind___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AConcreteClasskind___init_aconcreteclasskind(val_t p0) {
+val_t NEW_AConcreteClasskind_parser_prod___AConcreteClasskind___init_aconcreteclasskind(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AConcreteClasskind();
   parser_prod___AConcreteClasskind___init_aconcreteclasskind(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAbstractClasskind[78] = {
+const classtable_elt_t VFT_AAbstractClasskind[79] = {
   {(bigint) 3607 /* 0: Identity */},
   {(bigint) 3 /* 1: AAbstractClasskind < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAbstractClasskind < PNode: superclass typecheck marker */},
@@ -24453,6 +28014,7 @@ const classtable_elt_t VFT_AAbstractClasskind[78] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAbstractClasskind < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -24461,14 +28023,14 @@ const classtable_elt_t VFT_AAbstractClasskind[78] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAbstractClasskind < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAbstractClasskind < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PClasskind___is_interface},
   {(bigint) mmbuilder___PClasskind___is_universal},
   {(bigint) mmbuilder___AAbstractClasskind___is_abstract},
-  {(bigint) 3 /* 70: AAbstractClasskind < PClasskind: superclass init_table position */},
+  {(bigint) 3 /* 71: AAbstractClasskind < PClasskind: superclass init_table position */},
   {(bigint) parser_prod___AAbstractClasskind___empty_init},
   {(bigint) parser_prod___AAbstractClasskind___init_aabstractclasskind},
-  {(bigint) 4 /* 73: AAbstractClasskind < AAbstractClasskind: superclass init_table position */},
+  {(bigint) 4 /* 74: AAbstractClasskind < AAbstractClasskind: superclass init_table position */},
   {(bigint) parser_nodes___AAbstractClasskind___n_kwabstract},
   {(bigint) parser_prod___AAbstractClasskind___n_kwabstract__eq},
   {(bigint) parser_nodes___AAbstractClasskind___n_kwclass},
@@ -24484,21 +28046,29 @@ val_t NEW_AAbstractClasskind(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AAbstractClasskind;
+  ATTR_parser_nodes___AAbstractClasskind____n_kwabstract(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAbstractClasskind____n_kwclass(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AAbstractClasskind___empty_init() {
+val_t NEW_AAbstractClasskind_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AAbstractClasskind();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAbstractClasskind();
   parser_prod___AAbstractClasskind___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t p0, val_t p1) {
+val_t NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAbstractClasskind();
   parser_prod___AAbstractClasskind___init_aabstractclasskind(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AInterfaceClasskind[76] = {
+const classtable_elt_t VFT_AInterfaceClasskind[77] = {
   {(bigint) 3487 /* 0: Identity */},
   {(bigint) 3 /* 1: AInterfaceClasskind < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AInterfaceClasskind < PNode: superclass typecheck marker */},
@@ -24557,6 +28127,7 @@ const classtable_elt_t VFT_AInterfaceClasskind[76] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AInterfaceClasskind < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -24565,14 +28136,14 @@ const classtable_elt_t VFT_AInterfaceClasskind[76] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AInterfaceClasskind < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AInterfaceClasskind < Prod: superclass init_table position */},
   {(bigint) mmbuilder___AInterfaceClasskind___is_interface},
   {(bigint) mmbuilder___PClasskind___is_universal},
   {(bigint) mmbuilder___PClasskind___is_abstract},
-  {(bigint) 3 /* 70: AInterfaceClasskind < PClasskind: superclass init_table position */},
+  {(bigint) 3 /* 71: AInterfaceClasskind < PClasskind: superclass init_table position */},
   {(bigint) parser_prod___AInterfaceClasskind___empty_init},
   {(bigint) parser_prod___AInterfaceClasskind___init_ainterfaceclasskind},
-  {(bigint) 4 /* 73: AInterfaceClasskind < AInterfaceClasskind: superclass init_table position */},
+  {(bigint) 4 /* 74: AInterfaceClasskind < AInterfaceClasskind: superclass init_table position */},
   {(bigint) parser_nodes___AInterfaceClasskind___n_kwinterface},
   {(bigint) parser_prod___AInterfaceClasskind___n_kwinterface__eq},
 };
@@ -24585,21 +28156,28 @@ val_t NEW_AInterfaceClasskind(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_AInterfaceClasskind;
+  ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AInterfaceClasskind___empty_init() {
+val_t NEW_AInterfaceClasskind_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AInterfaceClasskind();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AInterfaceClasskind();
   parser_prod___AInterfaceClasskind___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t p0) {
+val_t NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AInterfaceClasskind();
   parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AUniversalClasskind[76] = {
+const classtable_elt_t VFT_AUniversalClasskind[77] = {
   {(bigint) 3339 /* 0: Identity */},
   {(bigint) 3 /* 1: AUniversalClasskind < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AUniversalClasskind < PNode: superclass typecheck marker */},
@@ -24658,6 +28236,7 @@ const classtable_elt_t VFT_AUniversalClasskind[76] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AUniversalClasskind < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -24666,14 +28245,14 @@ const classtable_elt_t VFT_AUniversalClasskind[76] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AUniversalClasskind < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AUniversalClasskind < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PClasskind___is_interface},
   {(bigint) mmbuilder___AUniversalClasskind___is_universal},
   {(bigint) mmbuilder___PClasskind___is_abstract},
-  {(bigint) 3 /* 70: AUniversalClasskind < PClasskind: superclass init_table position */},
+  {(bigint) 3 /* 71: AUniversalClasskind < PClasskind: superclass init_table position */},
   {(bigint) parser_prod___AUniversalClasskind___empty_init},
   {(bigint) parser_prod___AUniversalClasskind___init_auniversalclasskind},
-  {(bigint) 4 /* 73: AUniversalClasskind < AUniversalClasskind: superclass init_table position */},
+  {(bigint) 4 /* 74: AUniversalClasskind < AUniversalClasskind: superclass init_table position */},
   {(bigint) parser_nodes___AUniversalClasskind___n_kwuniversal},
   {(bigint) parser_prod___AUniversalClasskind___n_kwuniversal__eq},
 };
@@ -24686,21 +28265,28 @@ val_t NEW_AUniversalClasskind(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_AUniversalClasskind;
+  ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AUniversalClasskind___empty_init() {
+val_t NEW_AUniversalClasskind_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AUniversalClasskind();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AUniversalClasskind();
   parser_prod___AUniversalClasskind___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t p0) {
+val_t NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AUniversalClasskind();
   parser_prod___AUniversalClasskind___init_auniversalclasskind(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AFormaldef[77] = {
+const classtable_elt_t VFT_AFormaldef[78] = {
   {(bigint) 3519 /* 0: Identity */},
   {(bigint) 3 /* 1: AFormaldef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AFormaldef < PNode: superclass typecheck marker */},
@@ -24759,6 +28345,7 @@ const classtable_elt_t VFT_AFormaldef[77] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AFormaldef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -24767,13 +28354,13 @@ const classtable_elt_t VFT_AFormaldef[77] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AFormaldef < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: AFormaldef < PFormaldef: superclass init_table position */},
+  {(bigint) 2 /* 67: AFormaldef < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: AFormaldef < PFormaldef: superclass init_table position */},
   {(bigint) mmbuilder___PNode___accept_class_builder},
   {(bigint) mmbuilder___PNode___accept_class_verifier},
   {(bigint) parser_prod___AFormaldef___empty_init},
   {(bigint) parser_prod___AFormaldef___init_aformaldef},
-  {(bigint) 4 /* 72: AFormaldef < AFormaldef: superclass init_table position */},
+  {(bigint) 4 /* 73: AFormaldef < AFormaldef: superclass init_table position */},
   {(bigint) parser_nodes___AFormaldef___n_id},
   {(bigint) parser_prod___AFormaldef___n_id__eq},
   {(bigint) parser_nodes___AFormaldef___n_type},
@@ -24790,21 +28377,29 @@ val_t NEW_AFormaldef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AFormaldef;
+  ATTR_parser_nodes___AFormaldef____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AFormaldef____n_type(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AFormaldef___empty_init() {
+val_t NEW_AFormaldef_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AFormaldef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AFormaldef_parser_prod___AFormaldef___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AFormaldef();
   parser_prod___AFormaldef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AFormaldef___init_aformaldef(val_t p0, val_t p1) {
+val_t NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AFormaldef();
   parser_prod___AFormaldef___init_aformaldef(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ASuperclass[79] = {
+const classtable_elt_t VFT_ASuperclass[80] = {
   {(bigint) 3359 /* 0: Identity */},
   {(bigint) 3 /* 1: ASuperclass < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ASuperclass < PNode: superclass typecheck marker */},
@@ -24863,6 +28458,7 @@ const classtable_elt_t VFT_ASuperclass[79] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ASuperclass < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -24871,15 +28467,15 @@ const classtable_elt_t VFT_ASuperclass[79] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ASuperclass < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: ASuperclass < PSuperclass: superclass init_table position */},
+  {(bigint) 2 /* 67: ASuperclass < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: ASuperclass < PSuperclass: superclass init_table position */},
   {(bigint) mmbuilder___ASuperclass___ancestor},
   {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
   {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
   {(bigint) mmbuilder___PNode___accept_class_verifier},
   {(bigint) parser_prod___ASuperclass___empty_init},
   {(bigint) parser_prod___ASuperclass___init_asuperclass},
-  {(bigint) 4 /* 74: ASuperclass < ASuperclass: superclass init_table position */},
+  {(bigint) 4 /* 75: ASuperclass < ASuperclass: superclass init_table position */},
   {(bigint) parser_nodes___ASuperclass___n_kwspecial},
   {(bigint) parser_prod___ASuperclass___n_kwspecial__eq},
   {(bigint) parser_nodes___ASuperclass___n_type},
@@ -24896,21 +28492,29 @@ val_t NEW_ASuperclass(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ASuperclass;
+  ATTR_parser_nodes___ASuperclass____n_kwspecial(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ASuperclass____n_type(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ASuperclass___empty_init() {
+val_t NEW_ASuperclass_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ASuperclass();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ASuperclass_parser_prod___ASuperclass___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ASuperclass();
   parser_prod___ASuperclass___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ASuperclass___init_asuperclass(val_t p0, val_t p1) {
+val_t NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ASuperclass();
   parser_prod___ASuperclass___init_asuperclass(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAttrPropdef[100] = {
+const classtable_elt_t VFT_AAttrPropdef[101] = {
   {(bigint) 3579 /* 0: Identity */},
   {(bigint) 3 /* 1: AAttrPropdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAttrPropdef < PNode: superclass typecheck marker */},
@@ -24969,6 +28573,7 @@ const classtable_elt_t VFT_AAttrPropdef[100] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAttrPropdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___AAttrPropdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -24977,12 +28582,12 @@ const classtable_elt_t VFT_AAttrPropdef[100] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAttrPropdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAttrPropdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PPropdef___process_and_check},
   {(bigint) mmbuilder___PPropdef___do_and_check_intro},
   {(bigint) mmbuilder___PPropdef___inherit_signature},
   {(bigint) mmbuilder___PPropdef___do_and_check_redef},
-  {(bigint) 3 /* 71: AAttrPropdef < PPropdef: superclass init_table position */},
+  {(bigint) 3 /* 72: AAttrPropdef < PPropdef: superclass init_table position */},
   {(bigint) parser_nodes___PPropdef___n_doc},
   {(bigint) parser_prod___AAttrPropdef___n_doc__eq},
   {(bigint) mmbuilder___PNode___accept_property_builder},
@@ -24993,7 +28598,7 @@ const classtable_elt_t VFT_AAttrPropdef[100] = {
   {(bigint) mmbuilder___AAttrPropdef___writemethod},
   {(bigint) parser_prod___AAttrPropdef___empty_init},
   {(bigint) parser_prod___AAttrPropdef___init_aattrpropdef},
-  {(bigint) 4 /* 82: AAttrPropdef < AAttrPropdef: superclass init_table position */},
+  {(bigint) 4 /* 83: AAttrPropdef < AAttrPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AAttrPropdef___n_kwredef},
   {(bigint) parser_prod___AAttrPropdef___n_kwredef__eq},
   {(bigint) parser_nodes___AAttrPropdef___n_visibility},
@@ -25032,21 +28637,36 @@ val_t NEW_AAttrPropdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 16);
   obj->vft = (classtable_elt_t*)VFT_AAttrPropdef;
-  return OBJ2VAL(obj);
+  ATTR_parser_nodes___PPropdef____n_doc(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrPropdef____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrPropdef____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrPropdef____n_kwattr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrPropdef____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrPropdef____n_type(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrPropdef____n_readable(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrPropdef____n_writable(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrPropdef____n_expr(obj) =  NIT_NULL /*null*/;
+  return OBJ2VAL(obj);
+}
+val_t NEW_AAttrPropdef_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AAttrPropdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
 }
-val_t NEW_parser_prod___AAttrPropdef___empty_init() {
+val_t NEW_AAttrPropdef_parser_prod___AAttrPropdef___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAttrPropdef();
   parser_prod___AAttrPropdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AAttrPropdef___init_aattrpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, val_t p8) {
+val_t NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, val_t p8) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAttrPropdef();
   parser_prod___AAttrPropdef___init_aattrpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8, init_table);
   return self;
 }
-const classtable_elt_t VFT_AMethPropdef[93] = {
+const classtable_elt_t VFT_AMethPropdef[94] = {
   {(bigint) 3467 /* 0: Identity */},
   {(bigint) 3 /* 1: AMethPropdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AMethPropdef < PNode: superclass typecheck marker */},
@@ -25105,6 +28725,7 @@ const classtable_elt_t VFT_AMethPropdef[93] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AMethPropdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AMethPropdef___accept_control_flow},
   {(bigint) typing___AMethPropdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -25113,12 +28734,12 @@ const classtable_elt_t VFT_AMethPropdef[93] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AMethPropdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AMethPropdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PPropdef___process_and_check},
   {(bigint) mmbuilder___PPropdef___do_and_check_intro},
   {(bigint) mmbuilder___PPropdef___inherit_signature},
   {(bigint) mmbuilder___PPropdef___do_and_check_redef},
-  {(bigint) 3 /* 71: AMethPropdef < PPropdef: superclass init_table position */},
+  {(bigint) 3 /* 72: AMethPropdef < PPropdef: superclass init_table position */},
   {(bigint) parser_nodes___PPropdef___n_doc},
   {(bigint) parser_prod___AMethPropdef___n_doc__eq},
   {(bigint) compiling_methods___AMethPropdef___do_compile_inside},
@@ -25129,7 +28750,7 @@ const classtable_elt_t VFT_AMethPropdef[93] = {
   {(bigint) mmbuilder___AMethPropdef___method},
   {(bigint) parser_prod___AMethPropdef___empty_init},
   {(bigint) parser_prod___AMethPropdef___init_amethpropdef},
-  {(bigint) 4 /* 82: AMethPropdef < AMethPropdef: superclass init_table position */},
+  {(bigint) 4 /* 83: AMethPropdef < AMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AMethPropdef___n_kwredef},
   {(bigint) parser_prod___AMethPropdef___n_kwredef__eq},
   {(bigint) parser_nodes___AMethPropdef___n_visibility},
@@ -25156,28 +28777,39 @@ val_t NEW_AMethPropdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 11);
   obj->vft = (classtable_elt_t*)VFT_AMethPropdef;
+  ATTR_parser_nodes___PPropdef____n_doc(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_methid(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_signature(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AMethPropdef___empty_init() {
+val_t NEW_AMethPropdef_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AMethPropdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AMethPropdef_parser_prod___AMethPropdef___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AMethPropdef();
   parser_prod___AMethPropdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
+val_t NEW_AMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AMethPropdef();
   parser_prod___AMethPropdef___init_amethpropdef(self, p0, p1, p2, p3, p4, init_table);
   return self;
 }
-const classtable_elt_t VFT_ADeferredMethPropdef[98] = {
-  {(bigint) 3747 /* 0: Identity */},
+const classtable_elt_t VFT_ADeferredMethPropdef[99] = {
+  {(bigint) 3751 /* 0: Identity */},
   {(bigint) 3 /* 1: ADeferredMethPropdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ADeferredMethPropdef < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ADeferredMethPropdef < Prod: superclass typecheck marker */},
   {(bigint) 3067 /* 4: ADeferredMethPropdef < PPropdef: superclass typecheck marker */},
   {(bigint) 3467 /* 5: ADeferredMethPropdef < AMethPropdef: superclass typecheck marker */},
-  {(bigint) 3747 /* 6: ADeferredMethPropdef < ADeferredMethPropdef: superclass typecheck marker */},
+  {(bigint) 3751 /* 6: ADeferredMethPropdef < ADeferredMethPropdef: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -25229,6 +28861,7 @@ const classtable_elt_t VFT_ADeferredMethPropdef[98] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ADeferredMethPropdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AMethPropdef___accept_control_flow},
   {(bigint) typing___AMethPropdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -25237,12 +28870,12 @@ const classtable_elt_t VFT_ADeferredMethPropdef[98] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ADeferredMethPropdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ADeferredMethPropdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PPropdef___process_and_check},
   {(bigint) mmbuilder___PPropdef___do_and_check_intro},
   {(bigint) mmbuilder___PPropdef___inherit_signature},
   {(bigint) mmbuilder___PPropdef___do_and_check_redef},
-  {(bigint) 3 /* 71: ADeferredMethPropdef < PPropdef: superclass init_table position */},
+  {(bigint) 3 /* 72: ADeferredMethPropdef < PPropdef: superclass init_table position */},
   {(bigint) parser_nodes___PPropdef___n_doc},
   {(bigint) parser_prod___ADeferredMethPropdef___n_doc__eq},
   {(bigint) compiling_methods___ADeferredMethPropdef___do_compile_inside},
@@ -25253,7 +28886,7 @@ const classtable_elt_t VFT_ADeferredMethPropdef[98] = {
   {(bigint) mmbuilder___AMethPropdef___method},
   {(bigint) parser_prod___AMethPropdef___empty_init},
   {(bigint) parser_prod___AMethPropdef___init_amethpropdef},
-  {(bigint) 4 /* 82: ADeferredMethPropdef < AMethPropdef: superclass init_table position */},
+  {(bigint) 4 /* 83: ADeferredMethPropdef < AMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AMethPropdef___n_kwredef},
   {(bigint) parser_prod___ADeferredMethPropdef___n_kwredef__eq},
   {(bigint) parser_nodes___AMethPropdef___n_visibility},
@@ -25266,7 +28899,7 @@ const classtable_elt_t VFT_ADeferredMethPropdef[98] = {
   {(bigint) typing___PNode___accept_typing},
   {(bigint) parser_prod___ADeferredMethPropdef___empty_init},
   {(bigint) parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef},
-  {(bigint) 5 /* 95: ADeferredMethPropdef < ADeferredMethPropdef: superclass init_table position */},
+  {(bigint) 5 /* 96: ADeferredMethPropdef < ADeferredMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___ADeferredMethPropdef___n_kwmeth},
   {(bigint) parser_prod___ADeferredMethPropdef___n_kwmeth__eq},
 };
@@ -25286,28 +28919,52 @@ val_t NEW_ADeferredMethPropdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 12);
   obj->vft = (classtable_elt_t*)VFT_ADeferredMethPropdef;
+  ATTR_parser_nodes___PPropdef____n_doc(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_methid(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_signature(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ADeferredMethPropdef___empty_init() {
+val_t NEW_ADeferredMethPropdef_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ADeferredMethPropdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ADeferredMethPropdef_parser_prod___AMethPropdef___empty_init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ADeferredMethPropdef();
+  parser_prod___AMethPropdef___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ADeferredMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ADeferredMethPropdef();
+  parser_prod___AMethPropdef___init_amethpropdef(self, p0, p1, p2, p3, p4, init_table);
+  return self;
+}
+val_t NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ADeferredMethPropdef();
   parser_prod___ADeferredMethPropdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5) {
+val_t NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ADeferredMethPropdef();
   parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(self, p0, p1, p2, p3, p4, p5, init_table);
   return self;
 }
-const classtable_elt_t VFT_AInternMethPropdef[98] = {
-  {(bigint) 3719 /* 0: Identity */},
+const classtable_elt_t VFT_AInternMethPropdef[99] = {
+  {(bigint) 3723 /* 0: Identity */},
   {(bigint) 3 /* 1: AInternMethPropdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AInternMethPropdef < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AInternMethPropdef < Prod: superclass typecheck marker */},
   {(bigint) 3067 /* 4: AInternMethPropdef < PPropdef: superclass typecheck marker */},
   {(bigint) 3467 /* 5: AInternMethPropdef < AMethPropdef: superclass typecheck marker */},
-  {(bigint) 3719 /* 6: AInternMethPropdef < AInternMethPropdef: superclass typecheck marker */},
+  {(bigint) 3723 /* 6: AInternMethPropdef < AInternMethPropdef: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -25359,6 +29016,7 @@ const classtable_elt_t VFT_AInternMethPropdef[98] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AInternMethPropdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AMethPropdef___accept_control_flow},
   {(bigint) typing___AMethPropdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -25367,12 +29025,12 @@ const classtable_elt_t VFT_AInternMethPropdef[98] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AInternMethPropdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AInternMethPropdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PPropdef___process_and_check},
   {(bigint) mmbuilder___PPropdef___do_and_check_intro},
   {(bigint) mmbuilder___PPropdef___inherit_signature},
   {(bigint) mmbuilder___PPropdef___do_and_check_redef},
-  {(bigint) 3 /* 71: AInternMethPropdef < PPropdef: superclass init_table position */},
+  {(bigint) 3 /* 72: AInternMethPropdef < PPropdef: superclass init_table position */},
   {(bigint) parser_nodes___PPropdef___n_doc},
   {(bigint) parser_prod___AInternMethPropdef___n_doc__eq},
   {(bigint) compiling_methods___AInternMethPropdef___do_compile_inside},
@@ -25383,7 +29041,7 @@ const classtable_elt_t VFT_AInternMethPropdef[98] = {
   {(bigint) mmbuilder___AMethPropdef___method},
   {(bigint) parser_prod___AMethPropdef___empty_init},
   {(bigint) parser_prod___AMethPropdef___init_amethpropdef},
-  {(bigint) 4 /* 82: AInternMethPropdef < AMethPropdef: superclass init_table position */},
+  {(bigint) 4 /* 83: AInternMethPropdef < AMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AMethPropdef___n_kwredef},
   {(bigint) parser_prod___AInternMethPropdef___n_kwredef__eq},
   {(bigint) parser_nodes___AMethPropdef___n_visibility},
@@ -25396,7 +29054,7 @@ const classtable_elt_t VFT_AInternMethPropdef[98] = {
   {(bigint) typing___PNode___accept_typing},
   {(bigint) parser_prod___AInternMethPropdef___empty_init},
   {(bigint) parser_prod___AInternMethPropdef___init_ainternmethpropdef},
-  {(bigint) 5 /* 95: AInternMethPropdef < AInternMethPropdef: superclass init_table position */},
+  {(bigint) 5 /* 96: AInternMethPropdef < AInternMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AInternMethPropdef___n_kwmeth},
   {(bigint) parser_prod___AInternMethPropdef___n_kwmeth__eq},
 };
@@ -25416,28 +29074,52 @@ val_t NEW_AInternMethPropdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 12);
   obj->vft = (classtable_elt_t*)VFT_AInternMethPropdef;
+  ATTR_parser_nodes___PPropdef____n_doc(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_methid(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_signature(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AInternMethPropdef____n_kwmeth(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AInternMethPropdef___empty_init() {
+val_t NEW_AInternMethPropdef_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AInternMethPropdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AInternMethPropdef_parser_prod___AMethPropdef___empty_init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AInternMethPropdef();
+  parser_prod___AMethPropdef___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AInternMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AInternMethPropdef();
+  parser_prod___AMethPropdef___init_amethpropdef(self, p0, p1, p2, p3, p4, init_table);
+  return self;
+}
+val_t NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AInternMethPropdef();
   parser_prod___AInternMethPropdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5) {
+val_t NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AInternMethPropdef();
   parser_prod___AInternMethPropdef___init_ainternmethpropdef(self, p0, p1, p2, p3, p4, p5, init_table);
   return self;
 }
-const classtable_elt_t VFT_AExternMethPropdef[100] = {
-  {(bigint) 3735 /* 0: Identity */},
+const classtable_elt_t VFT_AExternMethPropdef[101] = {
+  {(bigint) 3739 /* 0: Identity */},
   {(bigint) 3 /* 1: AExternMethPropdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AExternMethPropdef < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AExternMethPropdef < Prod: superclass typecheck marker */},
   {(bigint) 3067 /* 4: AExternMethPropdef < PPropdef: superclass typecheck marker */},
   {(bigint) 3467 /* 5: AExternMethPropdef < AMethPropdef: superclass typecheck marker */},
-  {(bigint) 3735 /* 6: AExternMethPropdef < AExternMethPropdef: superclass typecheck marker */},
+  {(bigint) 3739 /* 6: AExternMethPropdef < AExternMethPropdef: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -25489,6 +29171,7 @@ const classtable_elt_t VFT_AExternMethPropdef[100] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AExternMethPropdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AMethPropdef___accept_control_flow},
   {(bigint) typing___AMethPropdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -25497,12 +29180,12 @@ const classtable_elt_t VFT_AExternMethPropdef[100] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AExternMethPropdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AExternMethPropdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PPropdef___process_and_check},
   {(bigint) mmbuilder___PPropdef___do_and_check_intro},
   {(bigint) mmbuilder___PPropdef___inherit_signature},
   {(bigint) mmbuilder___PPropdef___do_and_check_redef},
-  {(bigint) 3 /* 71: AExternMethPropdef < PPropdef: superclass init_table position */},
+  {(bigint) 3 /* 72: AExternMethPropdef < PPropdef: superclass init_table position */},
   {(bigint) parser_nodes___PPropdef___n_doc},
   {(bigint) parser_prod___AExternMethPropdef___n_doc__eq},
   {(bigint) compiling_methods___AExternMethPropdef___do_compile_inside},
@@ -25513,7 +29196,7 @@ const classtable_elt_t VFT_AExternMethPropdef[100] = {
   {(bigint) mmbuilder___AMethPropdef___method},
   {(bigint) parser_prod___AMethPropdef___empty_init},
   {(bigint) parser_prod___AMethPropdef___init_amethpropdef},
-  {(bigint) 4 /* 82: AExternMethPropdef < AMethPropdef: superclass init_table position */},
+  {(bigint) 4 /* 83: AExternMethPropdef < AMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AMethPropdef___n_kwredef},
   {(bigint) parser_prod___AExternMethPropdef___n_kwredef__eq},
   {(bigint) parser_nodes___AMethPropdef___n_visibility},
@@ -25526,7 +29209,7 @@ const classtable_elt_t VFT_AExternMethPropdef[100] = {
   {(bigint) typing___PNode___accept_typing},
   {(bigint) parser_prod___AExternMethPropdef___empty_init},
   {(bigint) parser_prod___AExternMethPropdef___init_aexternmethpropdef},
-  {(bigint) 5 /* 95: AExternMethPropdef < AExternMethPropdef: superclass init_table position */},
+  {(bigint) 5 /* 96: AExternMethPropdef < AExternMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AExternMethPropdef___n_kwmeth},
   {(bigint) parser_prod___AExternMethPropdef___n_kwmeth__eq},
   {(bigint) parser_nodes___AExternMethPropdef___n_extern},
@@ -25549,28 +29232,53 @@ val_t NEW_AExternMethPropdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_AExternMethPropdef;
+  ATTR_parser_nodes___PPropdef____n_doc(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_methid(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_signature(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AExternMethPropdef____n_kwmeth(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AExternMethPropdef____n_extern(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AExternMethPropdef___empty_init() {
+val_t NEW_AExternMethPropdef_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AExternMethPropdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AExternMethPropdef_parser_prod___AMethPropdef___empty_init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AExternMethPropdef();
+  parser_prod___AMethPropdef___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AExternMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AExternMethPropdef();
+  parser_prod___AMethPropdef___init_amethpropdef(self, p0, p1, p2, p3, p4, init_table);
+  return self;
+}
+val_t NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AExternMethPropdef();
   parser_prod___AExternMethPropdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6) {
+val_t NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AExternMethPropdef();
   parser_prod___AExternMethPropdef___init_aexternmethpropdef(self, p0, p1, p2, p3, p4, p5, p6, init_table);
   return self;
 }
-const classtable_elt_t VFT_AConcreteMethPropdef[101] = {
-  {(bigint) 3759 /* 0: Identity */},
+const classtable_elt_t VFT_AConcreteMethPropdef[102] = {
+  {(bigint) 3763 /* 0: Identity */},
   {(bigint) 3 /* 1: AConcreteMethPropdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AConcreteMethPropdef < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AConcreteMethPropdef < Prod: superclass typecheck marker */},
   {(bigint) 3067 /* 4: AConcreteMethPropdef < PPropdef: superclass typecheck marker */},
   {(bigint) 3467 /* 5: AConcreteMethPropdef < AMethPropdef: superclass typecheck marker */},
-  {(bigint) 3759 /* 6: AConcreteMethPropdef < AConcreteMethPropdef: superclass typecheck marker */},
+  {(bigint) 3763 /* 6: AConcreteMethPropdef < AConcreteMethPropdef: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -25622,6 +29330,7 @@ const classtable_elt_t VFT_AConcreteMethPropdef[101] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AConcreteMethPropdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AConcreteMethPropdef___accept_control_flow},
   {(bigint) typing___AMethPropdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -25630,12 +29339,12 @@ const classtable_elt_t VFT_AConcreteMethPropdef[101] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AConcreteMethPropdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AConcreteMethPropdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PPropdef___process_and_check},
   {(bigint) mmbuilder___PPropdef___do_and_check_intro},
   {(bigint) mmbuilder___PPropdef___inherit_signature},
   {(bigint) mmbuilder___PPropdef___do_and_check_redef},
-  {(bigint) 3 /* 71: AConcreteMethPropdef < PPropdef: superclass init_table position */},
+  {(bigint) 3 /* 72: AConcreteMethPropdef < PPropdef: superclass init_table position */},
   {(bigint) parser_nodes___PPropdef___n_doc},
   {(bigint) parser_prod___AConcreteMethPropdef___n_doc__eq},
   {(bigint) compiling_methods___AConcreteMethPropdef___do_compile_inside},
@@ -25646,7 +29355,7 @@ const classtable_elt_t VFT_AConcreteMethPropdef[101] = {
   {(bigint) mmbuilder___AMethPropdef___method},
   {(bigint) parser_prod___AMethPropdef___empty_init},
   {(bigint) parser_prod___AMethPropdef___init_amethpropdef},
-  {(bigint) 4 /* 82: AConcreteMethPropdef < AMethPropdef: superclass init_table position */},
+  {(bigint) 4 /* 83: AConcreteMethPropdef < AMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AMethPropdef___n_kwredef},
   {(bigint) parser_prod___AConcreteMethPropdef___n_kwredef__eq},
   {(bigint) parser_nodes___AMethPropdef___n_visibility},
@@ -25660,7 +29369,7 @@ const classtable_elt_t VFT_AConcreteMethPropdef[101] = {
   {(bigint) control_flow___AMethPropdef___accept_control_flow},
   {(bigint) parser_prod___AConcreteMethPropdef___empty_init},
   {(bigint) parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef},
-  {(bigint) 5 /* 96: AConcreteMethPropdef < AConcreteMethPropdef: superclass init_table position */},
+  {(bigint) 5 /* 97: AConcreteMethPropdef < AConcreteMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AConcreteMethPropdef___n_kwmeth},
   {(bigint) parser_prod___AConcreteMethPropdef___n_kwmeth__eq},
   {(bigint) parser_nodes___AConcreteMethPropdef___n_block},
@@ -25683,29 +29392,54 @@ val_t NEW_AConcreteMethPropdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_AConcreteMethPropdef;
+  ATTR_parser_nodes___PPropdef____n_doc(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_methid(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_signature(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AConcreteMethPropdef____n_block(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AConcreteMethPropdef___empty_init() {
+val_t NEW_AConcreteMethPropdef_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AConcreteMethPropdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AConcreteMethPropdef_parser_prod___AMethPropdef___empty_init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AConcreteMethPropdef();
+  parser_prod___AMethPropdef___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AConcreteMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AConcreteMethPropdef();
+  parser_prod___AMethPropdef___init_amethpropdef(self, p0, p1, p2, p3, p4, init_table);
+  return self;
+}
+val_t NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AConcreteMethPropdef();
   parser_prod___AConcreteMethPropdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6) {
+val_t NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AConcreteMethPropdef();
   parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(self, p0, p1, p2, p3, p4, p5, p6, init_table);
   return self;
 }
-const classtable_elt_t VFT_AConcreteInitPropdef[109] = {
-  {(bigint) 3803 /* 0: Identity */},
+const classtable_elt_t VFT_AConcreteInitPropdef[110] = {
+  {(bigint) 3807 /* 0: Identity */},
   {(bigint) 3 /* 1: AConcreteInitPropdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AConcreteInitPropdef < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AConcreteInitPropdef < Prod: superclass typecheck marker */},
   {(bigint) 3067 /* 4: AConcreteInitPropdef < PPropdef: superclass typecheck marker */},
   {(bigint) 3467 /* 5: AConcreteInitPropdef < AMethPropdef: superclass typecheck marker */},
-  {(bigint) 3759 /* 6: AConcreteInitPropdef < AConcreteMethPropdef: superclass typecheck marker */},
-  {(bigint) 3803 /* 7: AConcreteInitPropdef < AConcreteInitPropdef: superclass typecheck marker */},
+  {(bigint) 3763 /* 6: AConcreteInitPropdef < AConcreteMethPropdef: superclass typecheck marker */},
+  {(bigint) 3807 /* 7: AConcreteInitPropdef < AConcreteInitPropdef: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -25756,6 +29490,7 @@ const classtable_elt_t VFT_AConcreteInitPropdef[109] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AConcreteInitPropdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AConcreteMethPropdef___accept_control_flow},
   {(bigint) typing___AConcreteInitPropdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -25764,12 +29499,12 @@ const classtable_elt_t VFT_AConcreteInitPropdef[109] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AConcreteInitPropdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AConcreteInitPropdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PPropdef___process_and_check},
   {(bigint) mmbuilder___PPropdef___do_and_check_intro},
   {(bigint) mmbuilder___PPropdef___inherit_signature},
   {(bigint) mmbuilder___PPropdef___do_and_check_redef},
-  {(bigint) 3 /* 71: AConcreteInitPropdef < PPropdef: superclass init_table position */},
+  {(bigint) 3 /* 72: AConcreteInitPropdef < PPropdef: superclass init_table position */},
   {(bigint) parser_nodes___PPropdef___n_doc},
   {(bigint) parser_prod___AConcreteInitPropdef___n_doc__eq},
   {(bigint) compiling_methods___AConcreteMethPropdef___do_compile_inside},
@@ -25780,7 +29515,7 @@ const classtable_elt_t VFT_AConcreteInitPropdef[109] = {
   {(bigint) mmbuilder___AMethPropdef___method},
   {(bigint) parser_prod___AMethPropdef___empty_init},
   {(bigint) parser_prod___AMethPropdef___init_amethpropdef},
-  {(bigint) 4 /* 82: AConcreteInitPropdef < AMethPropdef: superclass init_table position */},
+  {(bigint) 4 /* 83: AConcreteInitPropdef < AMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AMethPropdef___n_kwredef},
   {(bigint) parser_prod___AConcreteInitPropdef___n_kwredef__eq},
   {(bigint) parser_nodes___AMethPropdef___n_visibility},
@@ -25794,7 +29529,7 @@ const classtable_elt_t VFT_AConcreteInitPropdef[109] = {
   {(bigint) control_flow___AMethPropdef___accept_control_flow},
   {(bigint) parser_prod___AConcreteMethPropdef___empty_init},
   {(bigint) parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef},
-  {(bigint) 5 /* 96: AConcreteInitPropdef < AConcreteMethPropdef: superclass init_table position */},
+  {(bigint) 5 /* 97: AConcreteInitPropdef < AConcreteMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AConcreteMethPropdef___n_kwmeth},
   {(bigint) parser_prod___AConcreteMethPropdef___n_kwmeth__eq},
   {(bigint) parser_nodes___AConcreteMethPropdef___n_block},
@@ -25804,7 +29539,7 @@ const classtable_elt_t VFT_AConcreteInitPropdef[109] = {
   {(bigint) typing___AMethPropdef___accept_typing},
   {(bigint) parser_prod___AConcreteInitPropdef___empty_init},
   {(bigint) parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef},
-  {(bigint) 6 /* 106: AConcreteInitPropdef < AConcreteInitPropdef: superclass init_table position */},
+  {(bigint) 6 /* 107: AConcreteInitPropdef < AConcreteInitPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AConcreteInitPropdef___n_kwinit},
   {(bigint) parser_prod___AConcreteInitPropdef___n_kwinit__eq},
 };
@@ -25830,33 +29565,71 @@ val_t NEW_AConcreteInitPropdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 16);
   obj->vft = (classtable_elt_t*)VFT_AConcreteInitPropdef;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  ATTR_parser_nodes___PPropdef____n_doc(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_methid(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_signature(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AConcreteMethPropdef____n_block(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit(obj) =  NIT_NULL /*null*/;
+  variable0 = NEW_Array_array___Array___init(); /*new Array[MMMethod]*/
   ATTR_typing___AConcreteInitPropdef____super_init_calls(obj) = variable0;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[MMMethod]*/
   ATTR_typing___AConcreteInitPropdef____explicit_super_init_calls(obj) = variable1;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AConcreteInitPropdef___empty_init() {
+val_t NEW_AConcreteInitPropdef_parser_nodes___PNode___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AConcreteInitPropdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AConcreteInitPropdef_parser_prod___AMethPropdef___empty_init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AConcreteInitPropdef();
+  parser_prod___AMethPropdef___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AConcreteInitPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AConcreteInitPropdef();
+  parser_prod___AMethPropdef___init_amethpropdef(self, p0, p1, p2, p3, p4, init_table);
+  return self;
+}
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteMethPropdef___empty_init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AConcreteInitPropdef();
+  parser_prod___AConcreteMethPropdef___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6) {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AConcreteInitPropdef();
+  parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(self, p0, p1, p2, p3, p4, p5, p6, init_table);
+  return self;
+}
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___empty_init() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AConcreteInitPropdef();
   parser_prod___AConcreteInitPropdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6) {
+val_t NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6) {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AConcreteInitPropdef();
   parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(self, p0, p1, p2, p3, p4, p5, p6, init_table);
   return self;
 }
-const classtable_elt_t VFT_AMainMethPropdef[104] = {
-  {(bigint) 3799 /* 0: Identity */},
+const classtable_elt_t VFT_AMainMethPropdef[105] = {
+  {(bigint) 3803 /* 0: Identity */},
   {(bigint) 3 /* 1: AMainMethPropdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AMainMethPropdef < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AMainMethPropdef < Prod: superclass typecheck marker */},
   {(bigint) 3067 /* 4: AMainMethPropdef < PPropdef: superclass typecheck marker */},
   {(bigint) 3467 /* 5: AMainMethPropdef < AMethPropdef: superclass typecheck marker */},
-  {(bigint) 3759 /* 6: AMainMethPropdef < AConcreteMethPropdef: superclass typecheck marker */},
-  {(bigint) 3799 /* 7: AMainMethPropdef < AMainMethPropdef: superclass typecheck marker */},
+  {(bigint) 3763 /* 6: AMainMethPropdef < AConcreteMethPropdef: superclass typecheck marker */},
+  {(bigint) 3803 /* 7: AMainMethPropdef < AMainMethPropdef: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -25907,6 +29680,7 @@ const classtable_elt_t VFT_AMainMethPropdef[104] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AMainMethPropdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AConcreteMethPropdef___accept_control_flow},
   {(bigint) typing___AMethPropdef___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -25915,12 +29689,12 @@ const classtable_elt_t VFT_AMainMethPropdef[104] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AMainMethPropdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AMainMethPropdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___AMainMethPropdef___process_and_check},
   {(bigint) mmbuilder___PPropdef___do_and_check_intro},
   {(bigint) mmbuilder___PPropdef___inherit_signature},
   {(bigint) mmbuilder___PPropdef___do_and_check_redef},
-  {(bigint) 3 /* 71: AMainMethPropdef < PPropdef: superclass init_table position */},
+  {(bigint) 3 /* 72: AMainMethPropdef < PPropdef: superclass init_table position */},
   {(bigint) parser_nodes___PPropdef___n_doc},
   {(bigint) parser_prod___AConcreteMethPropdef___n_doc__eq},
   {(bigint) compiling_methods___AConcreteMethPropdef___do_compile_inside},
@@ -25931,7 +29705,7 @@ const classtable_elt_t VFT_AMainMethPropdef[104] = {
   {(bigint) mmbuilder___AMethPropdef___method},
   {(bigint) parser_prod___AMethPropdef___empty_init},
   {(bigint) parser_prod___AMethPropdef___init_amethpropdef},
-  {(bigint) 4 /* 82: AMainMethPropdef < AMethPropdef: superclass init_table position */},
+  {(bigint) 4 /* 83: AMainMethPropdef < AMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AMethPropdef___n_kwredef},
   {(bigint) parser_prod___AMainMethPropdef___n_kwredef__eq},
   {(bigint) parser_nodes___AMethPropdef___n_visibility},
@@ -25945,14 +29719,14 @@ const classtable_elt_t VFT_AMainMethPropdef[104] = {
   {(bigint) control_flow___AMethPropdef___accept_control_flow},
   {(bigint) parser_prod___AConcreteMethPropdef___empty_init},
   {(bigint) parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef},
-  {(bigint) 5 /* 96: AMainMethPropdef < AConcreteMethPropdef: superclass init_table position */},
+  {(bigint) 5 /* 97: AMainMethPropdef < AConcreteMethPropdef: superclass init_table position */},
   {(bigint) parser_nodes___AConcreteMethPropdef___n_kwmeth},
   {(bigint) parser_prod___AConcreteMethPropdef___n_kwmeth__eq},
   {(bigint) parser_nodes___AConcreteMethPropdef___n_block},
   {(bigint) parser_prod___AMainMethPropdef___n_block__eq},
   {(bigint) parser_prod___AMainMethPropdef___empty_init},
   {(bigint) parser_prod___AMainMethPropdef___init_amainmethpropdef},
-  {(bigint) 6 /* 103: AMainMethPropdef < AMainMethPropdef: superclass init_table position */},
+  {(bigint) 6 /* 104: AMainMethPropdef < AMainMethPropdef: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AMainMethPropdef::_parent */
@@ -25971,21 +29745,58 @@ val_t NEW_AMainMethPropdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_AMainMethPropdef;
+  ATTR_parser_nodes___PPropdef____n_doc(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_methid(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AMethPropdef____n_signature(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AConcreteMethPropdef____n_block(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AMainMethPropdef___empty_init() {
+val_t NEW_AMainMethPropdef_parser_nodes___PNode___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AMainMethPropdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AMainMethPropdef_parser_prod___AMethPropdef___empty_init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AMainMethPropdef();
+  parser_prod___AMethPropdef___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AMainMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AMainMethPropdef();
+  parser_prod___AMethPropdef___init_amethpropdef(self, p0, p1, p2, p3, p4, init_table);
+  return self;
+}
+val_t NEW_AMainMethPropdef_parser_prod___AConcreteMethPropdef___empty_init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AMainMethPropdef();
+  parser_prod___AConcreteMethPropdef___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AMainMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6) {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AMainMethPropdef();
+  parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(self, p0, p1, p2, p3, p4, p5, p6, init_table);
+  return self;
+}
+val_t NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___empty_init() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AMainMethPropdef();
   parser_prod___AMainMethPropdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t p0, val_t p1) {
+val_t NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t p0, val_t p1) {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AMainMethPropdef();
   parser_prod___AMainMethPropdef___init_amainmethpropdef(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ATypePropdef[91] = {
+const classtable_elt_t VFT_ATypePropdef[92] = {
   {(bigint) 3343 /* 0: Identity */},
   {(bigint) 3 /* 1: ATypePropdef < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ATypePropdef < PNode: superclass typecheck marker */},
@@ -26044,6 +29855,7 @@ const classtable_elt_t VFT_ATypePropdef[91] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ATypePropdef < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -26052,12 +29864,12 @@ const classtable_elt_t VFT_ATypePropdef[91] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ATypePropdef < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ATypePropdef < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PPropdef___process_and_check},
   {(bigint) mmbuilder___PPropdef___do_and_check_intro},
   {(bigint) mmbuilder___PPropdef___inherit_signature},
   {(bigint) mmbuilder___PPropdef___do_and_check_redef},
-  {(bigint) 3 /* 71: ATypePropdef < PPropdef: superclass init_table position */},
+  {(bigint) 3 /* 72: ATypePropdef < PPropdef: superclass init_table position */},
   {(bigint) parser_nodes___PPropdef___n_doc},
   {(bigint) parser_prod___ATypePropdef___n_doc__eq},
   {(bigint) mmbuilder___PNode___accept_property_builder},
@@ -26066,7 +29878,7 @@ const classtable_elt_t VFT_ATypePropdef[91] = {
   {(bigint) mmbuilder___ATypePropdef___prop},
   {(bigint) parser_prod___ATypePropdef___empty_init},
   {(bigint) parser_prod___ATypePropdef___init_atypepropdef},
-  {(bigint) 4 /* 80: ATypePropdef < ATypePropdef: superclass init_table position */},
+  {(bigint) 4 /* 81: ATypePropdef < ATypePropdef: superclass init_table position */},
   {(bigint) parser_nodes___ATypePropdef___n_kwredef},
   {(bigint) parser_prod___ATypePropdef___n_kwredef__eq},
   {(bigint) parser_nodes___ATypePropdef___n_visibility},
@@ -26093,21 +29905,33 @@ val_t NEW_ATypePropdef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 11);
   obj->vft = (classtable_elt_t*)VFT_ATypePropdef;
+  ATTR_parser_nodes___PPropdef____n_doc(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ATypePropdef____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ATypePropdef____n_visibility(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ATypePropdef____n_kwtype(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ATypePropdef____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ATypePropdef____n_type(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ATypePropdef___empty_init() {
+val_t NEW_ATypePropdef_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ATypePropdef();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ATypePropdef_parser_prod___ATypePropdef___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ATypePropdef();
   parser_prod___ATypePropdef___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ATypePropdef___init_atypepropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5) {
+val_t NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ATypePropdef();
   parser_prod___ATypePropdef___init_atypepropdef(self, p0, p1, p2, p3, p4, p5, init_table);
   return self;
 }
-const classtable_elt_t VFT_AReadAble[75] = {
+const classtable_elt_t VFT_AReadAble[76] = {
   {(bigint) 3395 /* 0: Identity */},
   {(bigint) 3 /* 1: AReadAble < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AReadAble < PNode: superclass typecheck marker */},
@@ -26166,6 +29990,7 @@ const classtable_elt_t VFT_AReadAble[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AReadAble < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -26174,13 +29999,13 @@ const classtable_elt_t VFT_AReadAble[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AReadAble < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: AReadAble < PAble: superclass init_table position */},
+  {(bigint) 2 /* 67: AReadAble < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: AReadAble < PAble: superclass init_table position */},
   {(bigint) parser_nodes___PAble___n_kwredef},
   {(bigint) parser_prod___AReadAble___n_kwredef__eq},
   {(bigint) parser_prod___AReadAble___empty_init},
   {(bigint) parser_prod___AReadAble___init_areadable},
-  {(bigint) 4 /* 72: AReadAble < AReadAble: superclass init_table position */},
+  {(bigint) 4 /* 73: AReadAble < AReadAble: superclass init_table position */},
   {(bigint) parser_nodes___AReadAble___n_kwreadable},
   {(bigint) parser_prod___AReadAble___n_kwreadable__eq},
 };
@@ -26194,21 +30019,29 @@ val_t NEW_AReadAble(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AReadAble;
+  ATTR_parser_nodes___PAble____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReadAble____n_kwreadable(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AReadAble___empty_init() {
+val_t NEW_AReadAble_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AReadAble();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AReadAble_parser_prod___AReadAble___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AReadAble();
   parser_prod___AReadAble___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AReadAble___init_areadable(val_t p0, val_t p1) {
+val_t NEW_AReadAble_parser_prod___AReadAble___init_areadable(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AReadAble();
   parser_prod___AReadAble___init_areadable(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AWriteAble[75] = {
+const classtable_elt_t VFT_AWriteAble[76] = {
   {(bigint) 3327 /* 0: Identity */},
   {(bigint) 3 /* 1: AWriteAble < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AWriteAble < PNode: superclass typecheck marker */},
@@ -26267,6 +30100,7 @@ const classtable_elt_t VFT_AWriteAble[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AWriteAble < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -26275,13 +30109,13 @@ const classtable_elt_t VFT_AWriteAble[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AWriteAble < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: AWriteAble < PAble: superclass init_table position */},
+  {(bigint) 2 /* 67: AWriteAble < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: AWriteAble < PAble: superclass init_table position */},
   {(bigint) parser_nodes___PAble___n_kwredef},
   {(bigint) parser_prod___AWriteAble___n_kwredef__eq},
   {(bigint) parser_prod___AWriteAble___empty_init},
   {(bigint) parser_prod___AWriteAble___init_awriteable},
-  {(bigint) 4 /* 72: AWriteAble < AWriteAble: superclass init_table position */},
+  {(bigint) 4 /* 73: AWriteAble < AWriteAble: superclass init_table position */},
   {(bigint) parser_nodes___AWriteAble___n_kwwritable},
   {(bigint) parser_prod___AWriteAble___n_kwwritable__eq},
 };
@@ -26295,21 +30129,29 @@ val_t NEW_AWriteAble(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AWriteAble;
+  ATTR_parser_nodes___PAble____n_kwredef(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AWriteAble____n_kwwritable(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AWriteAble___empty_init() {
+val_t NEW_AWriteAble_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AWriteAble();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AWriteAble_parser_prod___AWriteAble___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AWriteAble();
   parser_prod___AWriteAble___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AWriteAble___init_awriteable(val_t p0, val_t p1) {
+val_t NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AWriteAble();
   parser_prod___AWriteAble___init_awriteable(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AIdMethid[75] = {
+const classtable_elt_t VFT_AIdMethid[76] = {
   {(bigint) 3507 /* 0: Identity */},
   {(bigint) 3 /* 1: AIdMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AIdMethid < PNode: superclass typecheck marker */},
@@ -26368,6 +30210,7 @@ const classtable_elt_t VFT_AIdMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AIdMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -26376,13 +30219,13 @@ const classtable_elt_t VFT_AIdMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AIdMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AIdMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: AIdMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: AIdMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___AIdMethid___empty_init},
   {(bigint) parser_prod___AIdMethid___init_aidmethid},
-  {(bigint) 4 /* 72: AIdMethid < AIdMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: AIdMethid < AIdMethid: superclass init_table position */},
   {(bigint) parser_nodes___AIdMethid___n_id},
   {(bigint) parser_prod___AIdMethid___n_id__eq},
 };
@@ -26396,21 +30239,28 @@ val_t NEW_AIdMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AIdMethid;
+  ATTR_parser_nodes___AIdMethid____n_id(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AIdMethid___empty_init() {
+val_t NEW_AIdMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AIdMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AIdMethid_parser_prod___AIdMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AIdMethid();
   parser_prod___AIdMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AIdMethid___init_aidmethid(val_t p0) {
+val_t NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AIdMethid();
   parser_prod___AIdMethid___init_aidmethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_APlusMethid[75] = {
+const classtable_elt_t VFT_APlusMethid[76] = {
   {(bigint) 3423 /* 0: Identity */},
   {(bigint) 3 /* 1: APlusMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: APlusMethid < PNode: superclass typecheck marker */},
@@ -26469,6 +30319,7 @@ const classtable_elt_t VFT_APlusMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: APlusMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -26477,13 +30328,13 @@ const classtable_elt_t VFT_APlusMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: APlusMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: APlusMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: APlusMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: APlusMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___APlusMethid___empty_init},
   {(bigint) parser_prod___APlusMethid___init_aplusmethid},
-  {(bigint) 4 /* 72: APlusMethid < APlusMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: APlusMethid < APlusMethid: superclass init_table position */},
   {(bigint) parser_nodes___APlusMethid___n_plus},
   {(bigint) parser_prod___APlusMethid___n_plus__eq},
 };
@@ -26497,21 +30348,28 @@ val_t NEW_APlusMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_APlusMethid;
+  ATTR_parser_nodes___APlusMethid____n_plus(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___APlusMethid___empty_init() {
+val_t NEW_APlusMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_APlusMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_APlusMethid_parser_prod___APlusMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APlusMethid();
   parser_prod___APlusMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___APlusMethid___init_aplusmethid(val_t p0) {
+val_t NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APlusMethid();
   parser_prod___APlusMethid___init_aplusmethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AMinusMethid[75] = {
+const classtable_elt_t VFT_AMinusMethid[76] = {
   {(bigint) 3459 /* 0: Identity */},
   {(bigint) 3 /* 1: AMinusMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AMinusMethid < PNode: superclass typecheck marker */},
@@ -26570,6 +30428,7 @@ const classtable_elt_t VFT_AMinusMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AMinusMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -26578,13 +30437,13 @@ const classtable_elt_t VFT_AMinusMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AMinusMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AMinusMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: AMinusMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: AMinusMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___AMinusMethid___empty_init},
   {(bigint) parser_prod___AMinusMethid___init_aminusmethid},
-  {(bigint) 4 /* 72: AMinusMethid < AMinusMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: AMinusMethid < AMinusMethid: superclass init_table position */},
   {(bigint) parser_nodes___AMinusMethid___n_minus},
   {(bigint) parser_prod___AMinusMethid___n_minus__eq},
 };
@@ -26598,21 +30457,28 @@ val_t NEW_AMinusMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AMinusMethid;
+  ATTR_parser_nodes___AMinusMethid____n_minus(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AMinusMethid___empty_init() {
+val_t NEW_AMinusMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AMinusMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AMinusMethid_parser_prod___AMinusMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AMinusMethid();
   parser_prod___AMinusMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AMinusMethid___init_aminusmethid(val_t p0) {
+val_t NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AMinusMethid();
   parser_prod___AMinusMethid___init_aminusmethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AStarMethid[75] = {
+const classtable_elt_t VFT_AStarMethid[76] = {
   {(bigint) 3371 /* 0: Identity */},
   {(bigint) 3 /* 1: AStarMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AStarMethid < PNode: superclass typecheck marker */},
@@ -26671,6 +30537,7 @@ const classtable_elt_t VFT_AStarMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AStarMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -26679,13 +30546,13 @@ const classtable_elt_t VFT_AStarMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AStarMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AStarMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: AStarMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: AStarMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___AStarMethid___empty_init},
   {(bigint) parser_prod___AStarMethid___init_astarmethid},
-  {(bigint) 4 /* 72: AStarMethid < AStarMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: AStarMethid < AStarMethid: superclass init_table position */},
   {(bigint) parser_nodes___AStarMethid___n_star},
   {(bigint) parser_prod___AStarMethid___n_star__eq},
 };
@@ -26699,21 +30566,28 @@ val_t NEW_AStarMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AStarMethid;
+  ATTR_parser_nodes___AStarMethid____n_star(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AStarMethid___empty_init() {
+val_t NEW_AStarMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AStarMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AStarMethid_parser_prod___AStarMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AStarMethid();
   parser_prod___AStarMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AStarMethid___init_astarmethid(val_t p0) {
+val_t NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AStarMethid();
   parser_prod___AStarMethid___init_astarmethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ASlashMethid[75] = {
+const classtable_elt_t VFT_ASlashMethid[76] = {
   {(bigint) 3375 /* 0: Identity */},
   {(bigint) 3 /* 1: ASlashMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ASlashMethid < PNode: superclass typecheck marker */},
@@ -26772,6 +30646,7 @@ const classtable_elt_t VFT_ASlashMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ASlashMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -26780,13 +30655,13 @@ const classtable_elt_t VFT_ASlashMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ASlashMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ASlashMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: ASlashMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: ASlashMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___ASlashMethid___empty_init},
   {(bigint) parser_prod___ASlashMethid___init_aslashmethid},
-  {(bigint) 4 /* 72: ASlashMethid < ASlashMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: ASlashMethid < ASlashMethid: superclass init_table position */},
   {(bigint) parser_nodes___ASlashMethid___n_slash},
   {(bigint) parser_prod___ASlashMethid___n_slash__eq},
 };
@@ -26800,21 +30675,28 @@ val_t NEW_ASlashMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_ASlashMethid;
+  ATTR_parser_nodes___ASlashMethid____n_slash(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ASlashMethid___empty_init() {
+val_t NEW_ASlashMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ASlashMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ASlashMethid_parser_prod___ASlashMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ASlashMethid();
   parser_prod___ASlashMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ASlashMethid___init_aslashmethid(val_t p0) {
+val_t NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ASlashMethid();
   parser_prod___ASlashMethid___init_aslashmethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_APercentMethid[75] = {
+const classtable_elt_t VFT_APercentMethid[76] = {
   {(bigint) 3431 /* 0: Identity */},
   {(bigint) 3 /* 1: APercentMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: APercentMethid < PNode: superclass typecheck marker */},
@@ -26873,6 +30755,7 @@ const classtable_elt_t VFT_APercentMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: APercentMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -26881,13 +30764,13 @@ const classtable_elt_t VFT_APercentMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: APercentMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: APercentMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: APercentMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: APercentMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___APercentMethid___empty_init},
   {(bigint) parser_prod___APercentMethid___init_apercentmethid},
-  {(bigint) 4 /* 72: APercentMethid < APercentMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: APercentMethid < APercentMethid: superclass init_table position */},
   {(bigint) parser_nodes___APercentMethid___n_percent},
   {(bigint) parser_prod___APercentMethid___n_percent__eq},
 };
@@ -26901,21 +30784,28 @@ val_t NEW_APercentMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_APercentMethid;
+  ATTR_parser_nodes___APercentMethid____n_percent(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___APercentMethid___empty_init() {
+val_t NEW_APercentMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_APercentMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_APercentMethid_parser_prod___APercentMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APercentMethid();
   parser_prod___APercentMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___APercentMethid___init_apercentmethid(val_t p0) {
+val_t NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APercentMethid();
   parser_prod___APercentMethid___init_apercentmethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AEqMethid[75] = {
+const classtable_elt_t VFT_AEqMethid[76] = {
   {(bigint) 3531 /* 0: Identity */},
   {(bigint) 3 /* 1: AEqMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AEqMethid < PNode: superclass typecheck marker */},
@@ -26974,6 +30864,7 @@ const classtable_elt_t VFT_AEqMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AEqMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -26982,13 +30873,13 @@ const classtable_elt_t VFT_AEqMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AEqMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AEqMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: AEqMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: AEqMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___AEqMethid___empty_init},
   {(bigint) parser_prod___AEqMethid___init_aeqmethid},
-  {(bigint) 4 /* 72: AEqMethid < AEqMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: AEqMethid < AEqMethid: superclass init_table position */},
   {(bigint) parser_nodes___AEqMethid___n_eq},
   {(bigint) parser_prod___AEqMethid___n_eq__eq},
 };
@@ -27002,21 +30893,28 @@ val_t NEW_AEqMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AEqMethid;
+  ATTR_parser_nodes___AEqMethid____n_eq(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AEqMethid___empty_init() {
+val_t NEW_AEqMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AEqMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AEqMethid_parser_prod___AEqMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AEqMethid();
   parser_prod___AEqMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AEqMethid___init_aeqmethid(val_t p0) {
+val_t NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AEqMethid();
   parser_prod___AEqMethid___init_aeqmethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ANeMethid[75] = {
+const classtable_elt_t VFT_ANeMethid[76] = {
   {(bigint) 3451 /* 0: Identity */},
   {(bigint) 3 /* 1: ANeMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ANeMethid < PNode: superclass typecheck marker */},
@@ -27075,6 +30973,7 @@ const classtable_elt_t VFT_ANeMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ANeMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -27083,13 +30982,13 @@ const classtable_elt_t VFT_ANeMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ANeMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ANeMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: ANeMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: ANeMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___ANeMethid___empty_init},
   {(bigint) parser_prod___ANeMethid___init_anemethid},
-  {(bigint) 4 /* 72: ANeMethid < ANeMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: ANeMethid < ANeMethid: superclass init_table position */},
   {(bigint) parser_nodes___ANeMethid___n_ne},
   {(bigint) parser_prod___ANeMethid___n_ne__eq},
 };
@@ -27103,21 +31002,28 @@ val_t NEW_ANeMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_ANeMethid;
+  ATTR_parser_nodes___ANeMethid____n_ne(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ANeMethid___empty_init() {
+val_t NEW_ANeMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ANeMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ANeMethid_parser_prod___ANeMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ANeMethid();
   parser_prod___ANeMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ANeMethid___init_anemethid(val_t p0) {
+val_t NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ANeMethid();
   parser_prod___ANeMethid___init_anemethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ALeMethid[75] = {
+const classtable_elt_t VFT_ALeMethid[76] = {
   {(bigint) 3479 /* 0: Identity */},
   {(bigint) 3 /* 1: ALeMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ALeMethid < PNode: superclass typecheck marker */},
@@ -27176,6 +31082,7 @@ const classtable_elt_t VFT_ALeMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ALeMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -27184,13 +31091,13 @@ const classtable_elt_t VFT_ALeMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ALeMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ALeMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: ALeMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: ALeMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___ALeMethid___empty_init},
   {(bigint) parser_prod___ALeMethid___init_alemethid},
-  {(bigint) 4 /* 72: ALeMethid < ALeMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: ALeMethid < ALeMethid: superclass init_table position */},
   {(bigint) parser_nodes___ALeMethid___n_le},
   {(bigint) parser_prod___ALeMethid___n_le__eq},
 };
@@ -27204,21 +31111,28 @@ val_t NEW_ALeMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_ALeMethid;
+  ATTR_parser_nodes___ALeMethid____n_le(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ALeMethid___empty_init() {
+val_t NEW_ALeMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ALeMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ALeMethid_parser_prod___ALeMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ALeMethid();
   parser_prod___ALeMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ALeMethid___init_alemethid(val_t p0) {
+val_t NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ALeMethid();
   parser_prod___ALeMethid___init_alemethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AGeMethid[75] = {
+const classtable_elt_t VFT_AGeMethid[76] = {
   {(bigint) 3515 /* 0: Identity */},
   {(bigint) 3 /* 1: AGeMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AGeMethid < PNode: superclass typecheck marker */},
@@ -27277,6 +31191,7 @@ const classtable_elt_t VFT_AGeMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AGeMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -27285,13 +31200,13 @@ const classtable_elt_t VFT_AGeMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AGeMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AGeMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: AGeMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: AGeMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___AGeMethid___empty_init},
   {(bigint) parser_prod___AGeMethid___init_agemethid},
-  {(bigint) 4 /* 72: AGeMethid < AGeMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: AGeMethid < AGeMethid: superclass init_table position */},
   {(bigint) parser_nodes___AGeMethid___n_ge},
   {(bigint) parser_prod___AGeMethid___n_ge__eq},
 };
@@ -27305,21 +31220,28 @@ val_t NEW_AGeMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AGeMethid;
+  ATTR_parser_nodes___AGeMethid____n_ge(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AGeMethid___empty_init() {
+val_t NEW_AGeMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AGeMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AGeMethid_parser_prod___AGeMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AGeMethid();
   parser_prod___AGeMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AGeMethid___init_agemethid(val_t p0) {
+val_t NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AGeMethid();
   parser_prod___AGeMethid___init_agemethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ALtMethid[75] = {
+const classtable_elt_t VFT_ALtMethid[76] = {
   {(bigint) 3475 /* 0: Identity */},
   {(bigint) 3 /* 1: ALtMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ALtMethid < PNode: superclass typecheck marker */},
@@ -27378,6 +31300,7 @@ const classtable_elt_t VFT_ALtMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ALtMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -27386,13 +31309,13 @@ const classtable_elt_t VFT_ALtMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ALtMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ALtMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: ALtMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: ALtMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___ALtMethid___empty_init},
   {(bigint) parser_prod___ALtMethid___init_altmethid},
-  {(bigint) 4 /* 72: ALtMethid < ALtMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: ALtMethid < ALtMethid: superclass init_table position */},
   {(bigint) parser_nodes___ALtMethid___n_lt},
   {(bigint) parser_prod___ALtMethid___n_lt__eq},
 };
@@ -27406,21 +31329,28 @@ val_t NEW_ALtMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_ALtMethid;
+  ATTR_parser_nodes___ALtMethid____n_lt(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ALtMethid___empty_init() {
+val_t NEW_ALtMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ALtMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ALtMethid_parser_prod___ALtMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ALtMethid();
   parser_prod___ALtMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ALtMethid___init_altmethid(val_t p0) {
+val_t NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ALtMethid();
   parser_prod___ALtMethid___init_altmethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AGtMethid[75] = {
+const classtable_elt_t VFT_AGtMethid[76] = {
   {(bigint) 3511 /* 0: Identity */},
   {(bigint) 3 /* 1: AGtMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AGtMethid < PNode: superclass typecheck marker */},
@@ -27479,6 +31409,7 @@ const classtable_elt_t VFT_AGtMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AGtMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -27487,13 +31418,13 @@ const classtable_elt_t VFT_AGtMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AGtMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AGtMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: AGtMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: AGtMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___AGtMethid___empty_init},
   {(bigint) parser_prod___AGtMethid___init_agtmethid},
-  {(bigint) 4 /* 72: AGtMethid < AGtMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: AGtMethid < AGtMethid: superclass init_table position */},
   {(bigint) parser_nodes___AGtMethid___n_gt},
   {(bigint) parser_prod___AGtMethid___n_gt__eq},
 };
@@ -27507,21 +31438,28 @@ val_t NEW_AGtMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AGtMethid;
+  ATTR_parser_nodes___AGtMethid____n_gt(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AGtMethid___empty_init() {
+val_t NEW_AGtMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AGtMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AGtMethid_parser_prod___AGtMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AGtMethid();
   parser_prod___AGtMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AGtMethid___init_agtmethid(val_t p0) {
+val_t NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AGtMethid();
   parser_prod___AGtMethid___init_agtmethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ABraMethid[77] = {
+const classtable_elt_t VFT_ABraMethid[78] = {
   {(bigint) 3563 /* 0: Identity */},
   {(bigint) 3 /* 1: ABraMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ABraMethid < PNode: superclass typecheck marker */},
@@ -27580,6 +31518,7 @@ const classtable_elt_t VFT_ABraMethid[77] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ABraMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -27588,13 +31527,13 @@ const classtable_elt_t VFT_ABraMethid[77] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ABraMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ABraMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: ABraMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: ABraMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___ABraMethid___empty_init},
   {(bigint) parser_prod___ABraMethid___init_abramethid},
-  {(bigint) 4 /* 72: ABraMethid < ABraMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: ABraMethid < ABraMethid: superclass init_table position */},
   {(bigint) parser_nodes___ABraMethid___n_obra},
   {(bigint) parser_prod___ABraMethid___n_obra__eq},
   {(bigint) parser_nodes___ABraMethid___n_cbra},
@@ -27611,21 +31550,29 @@ val_t NEW_ABraMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ABraMethid;
+  ATTR_parser_nodes___ABraMethid____n_obra(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABraMethid____n_cbra(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ABraMethid___empty_init() {
+val_t NEW_ABraMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ABraMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ABraMethid_parser_prod___ABraMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ABraMethid();
   parser_prod___ABraMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ABraMethid___init_abramethid(val_t p0, val_t p1) {
+val_t NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ABraMethid();
   parser_prod___ABraMethid___init_abramethid(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AStarshipMethid[75] = {
+const classtable_elt_t VFT_AStarshipMethid[76] = {
   {(bigint) 3367 /* 0: Identity */},
   {(bigint) 3 /* 1: AStarshipMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AStarshipMethid < PNode: superclass typecheck marker */},
@@ -27684,6 +31631,7 @@ const classtable_elt_t VFT_AStarshipMethid[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AStarshipMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -27692,13 +31640,13 @@ const classtable_elt_t VFT_AStarshipMethid[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AStarshipMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AStarshipMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: AStarshipMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: AStarshipMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___AStarshipMethid___empty_init},
   {(bigint) parser_prod___AStarshipMethid___init_astarshipmethid},
-  {(bigint) 4 /* 72: AStarshipMethid < AStarshipMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: AStarshipMethid < AStarshipMethid: superclass init_table position */},
   {(bigint) parser_nodes___AStarshipMethid___n_starship},
   {(bigint) parser_prod___AStarshipMethid___n_starship__eq},
 };
@@ -27712,21 +31660,28 @@ val_t NEW_AStarshipMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AStarshipMethid;
+  ATTR_parser_nodes___AStarshipMethid____n_starship(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AStarshipMethid___empty_init() {
+val_t NEW_AStarshipMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AStarshipMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AStarshipMethid_parser_prod___AStarshipMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AStarshipMethid();
   parser_prod___AStarshipMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AStarshipMethid___init_astarshipmethid(val_t p0) {
+val_t NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AStarshipMethid();
   parser_prod___AStarshipMethid___init_astarshipmethid(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAssignMethid[77] = {
+const classtable_elt_t VFT_AAssignMethid[78] = {
   {(bigint) 3587 /* 0: Identity */},
   {(bigint) 3 /* 1: AAssignMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAssignMethid < PNode: superclass typecheck marker */},
@@ -27785,6 +31740,7 @@ const classtable_elt_t VFT_AAssignMethid[77] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAssignMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -27793,13 +31749,13 @@ const classtable_elt_t VFT_AAssignMethid[77] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAssignMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAssignMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: AAssignMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: AAssignMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___AAssignMethid___empty_init},
   {(bigint) parser_prod___AAssignMethid___init_aassignmethid},
-  {(bigint) 4 /* 72: AAssignMethid < AAssignMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: AAssignMethid < AAssignMethid: superclass init_table position */},
   {(bigint) parser_nodes___AAssignMethid___n_id},
   {(bigint) parser_prod___AAssignMethid___n_id__eq},
   {(bigint) parser_nodes___AAssignMethid___n_assign},
@@ -27816,21 +31772,29 @@ val_t NEW_AAssignMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AAssignMethid;
+  ATTR_parser_nodes___AAssignMethid____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssignMethid____n_assign(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AAssignMethid___empty_init() {
+val_t NEW_AAssignMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AAssignMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AAssignMethid_parser_prod___AAssignMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAssignMethid();
   parser_prod___AAssignMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AAssignMethid___init_aassignmethid(val_t p0, val_t p1) {
+val_t NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAssignMethid();
   parser_prod___AAssignMethid___init_aassignmethid(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ABraassignMethid[79] = {
+const classtable_elt_t VFT_ABraassignMethid[80] = {
   {(bigint) 3559 /* 0: Identity */},
   {(bigint) 3 /* 1: ABraassignMethid < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ABraassignMethid < PNode: superclass typecheck marker */},
@@ -27889,6 +31853,7 @@ const classtable_elt_t VFT_ABraassignMethid[79] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ABraassignMethid < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -27897,13 +31862,13 @@ const classtable_elt_t VFT_ABraassignMethid[79] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ABraassignMethid < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ABraassignMethid < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PMethid___name},
   {(bigint) mmbuilder___PNode___accept_property_builder},
-  {(bigint) 3 /* 69: ABraassignMethid < PMethid: superclass init_table position */},
+  {(bigint) 3 /* 70: ABraassignMethid < PMethid: superclass init_table position */},
   {(bigint) parser_prod___ABraassignMethid___empty_init},
   {(bigint) parser_prod___ABraassignMethid___init_abraassignmethid},
-  {(bigint) 4 /* 72: ABraassignMethid < ABraassignMethid: superclass init_table position */},
+  {(bigint) 4 /* 73: ABraassignMethid < ABraassignMethid: superclass init_table position */},
   {(bigint) parser_nodes___ABraassignMethid___n_obra},
   {(bigint) parser_prod___ABraassignMethid___n_obra__eq},
   {(bigint) parser_nodes___ABraassignMethid___n_cbra},
@@ -27923,21 +31888,30 @@ val_t NEW_ABraassignMethid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_ABraassignMethid;
+  ATTR_parser_nodes___ABraassignMethid____n_obra(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABraassignMethid____n_cbra(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABraassignMethid____n_assign(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ABraassignMethid___empty_init() {
+val_t NEW_ABraassignMethid_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ABraassignMethid();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ABraassignMethid_parser_prod___ABraassignMethid___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ABraassignMethid();
   parser_prod___ABraassignMethid___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ABraassignMethid___init_abraassignmethid(val_t p0, val_t p1, val_t p2) {
+val_t NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(val_t p0, val_t p1, val_t p2) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ABraassignMethid();
   parser_prod___ABraassignMethid___init_abraassignmethid(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_ASignature[77] = {
+const classtable_elt_t VFT_ASignature[78] = {
   {(bigint) 3379 /* 0: Identity */},
   {(bigint) 3 /* 1: ASignature < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ASignature < PNode: superclass typecheck marker */},
@@ -27996,6 +31970,7 @@ const classtable_elt_t VFT_ASignature[77] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ASignature < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -28004,13 +31979,13 @@ const classtable_elt_t VFT_ASignature[77] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ASignature < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ASignature < Prod: superclass init_table position */},
   {(bigint) mmbuilder___ASignature___check_visibility},
-  {(bigint) 3 /* 68: ASignature < PSignature: superclass init_table position */},
+  {(bigint) 3 /* 69: ASignature < PSignature: superclass init_table position */},
   {(bigint) mmbuilder___PNode___accept_property_verifier},
   {(bigint) parser_prod___ASignature___empty_init},
   {(bigint) parser_prod___ASignature___init_asignature},
-  {(bigint) 4 /* 72: ASignature < ASignature: superclass init_table position */},
+  {(bigint) 4 /* 73: ASignature < ASignature: superclass init_table position */},
   {(bigint) parser_nodes___ASignature___n_params},
   {(bigint) parser_nodes___ASignature___n_params__eq},
   {(bigint) parser_nodes___ASignature___n_type},
@@ -28026,21 +32001,29 @@ val_t NEW_ASignature(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_ASignature;
+  ATTR_parser_nodes___ASignature____n_params(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ASignature____n_type(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ASignature___empty_init() {
+val_t NEW_ASignature_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ASignature();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ASignature_parser_prod___ASignature___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ASignature();
   parser_prod___ASignature___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ASignature___init_asignature(val_t p0, val_t p1) {
+val_t NEW_ASignature_parser_prod___ASignature___init_asignature(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ASignature();
   parser_prod___ASignature___init_asignature(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AParam[84] = {
+const classtable_elt_t VFT_AParam[85] = {
   {(bigint) 3435 /* 0: Identity */},
   {(bigint) 3 /* 1: AParam < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AParam < PNode: superclass typecheck marker */},
@@ -28099,6 +32082,7 @@ const classtable_elt_t VFT_AParam[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AParam < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PParam___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PParam___after_typing},
@@ -28107,14 +32091,14 @@ const classtable_elt_t VFT_AParam[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AParam < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AParam < Prod: superclass init_table position */},
   {(bigint) mmbuilder___PParam___stype},
   {(bigint) mmbuilder___PParam___stype__eq},
   {(bigint) mmbuilder___PNode___accept_property_verifier},
   {(bigint) mmbuilder___AParam___is_vararg},
   {(bigint) mmbuilder___PParam___position},
   {(bigint) mmbuilder___PParam___variable},
-  {(bigint) 3 /* 73: AParam < PParam: superclass init_table position */},
+  {(bigint) 3 /* 74: AParam < PParam: superclass init_table position */},
   {(bigint) parser_nodes___PParam___n_id},
   {(bigint) parser_prod___AParam___n_id__eq},
   {(bigint) parser_nodes___PParam___n_type},
@@ -28122,7 +32106,7 @@ const classtable_elt_t VFT_AParam[84] = {
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) parser_prod___AParam___empty_init},
   {(bigint) parser_prod___AParam___init_aparam},
-  {(bigint) 4 /* 81: AParam < AParam: superclass init_table position */},
+  {(bigint) 4 /* 82: AParam < AParam: superclass init_table position */},
   {(bigint) parser_nodes___AParam___n_dotdotdot},
   {(bigint) parser_prod___AParam___n_dotdotdot__eq},
 };
@@ -28140,22 +32124,31 @@ val_t NEW_AParam(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_AParam;
+  ATTR_parser_nodes___PParam____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___PParam____n_type(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AParam____n_dotdotdot(obj) =  NIT_NULL /*null*/;
   ATTR_mmbuilder___PParam____position(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AParam___empty_init() {
+val_t NEW_AParam_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AParam();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AParam_parser_prod___AParam___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AParam();
   parser_prod___AParam___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AParam___init_aparam(val_t p0, val_t p1, val_t p2) {
+val_t NEW_AParam_parser_prod___AParam___init_aparam(val_t p0, val_t p1, val_t p2) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AParam();
   parser_prod___AParam___init_aparam(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_AType[81] = {
+const classtable_elt_t VFT_AType[82] = {
   {(bigint) 3347 /* 0: Identity */},
   {(bigint) 3 /* 1: AType < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AType < PNode: superclass typecheck marker */},
@@ -28214,6 +32207,7 @@ const classtable_elt_t VFT_AType[81] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AType < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PType___after_typing},
@@ -28222,17 +32216,17 @@ const classtable_elt_t VFT_AType[81] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AType < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AType < Prod: superclass init_table position */},
   {(bigint) mmbuilder___AType___check_visibility},
   {(bigint) syntax_base___AType___get_local_class},
   {(bigint) syntax_base___AType___get_stype},
   {(bigint) syntax_base___AType___get_unchecked_stype},
   {(bigint) syntax_base___AType___check_conform},
-  {(bigint) 3 /* 72: AType < PType: superclass init_table position */},
+  {(bigint) 3 /* 73: AType < PType: superclass init_table position */},
   {(bigint) typing___PType___stype},
   {(bigint) parser_prod___AType___empty_init},
   {(bigint) parser_prod___AType___init_atype},
-  {(bigint) 4 /* 76: AType < AType: superclass init_table position */},
+  {(bigint) 4 /* 77: AType < AType: superclass init_table position */},
   {(bigint) parser_nodes___AType___n_id},
   {(bigint) parser_prod___AType___n_id__eq},
   {(bigint) parser_nodes___AType___n_types},
@@ -28251,22 +32245,30 @@ val_t NEW_AType(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AType;
+  ATTR_parser_nodes___AType____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AType____n_types(obj) =  NIT_NULL /*null*/;
   ATTR_syntax_base___AType____stype_cached(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AType___empty_init() {
+val_t NEW_AType_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AType();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AType_parser_prod___AType___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AType();
   parser_prod___AType___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AType___init_atype(val_t p0, val_t p1) {
+val_t NEW_AType_parser_prod___AType___init_atype(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AType();
   parser_prod___AType___init_atype(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ABlockExpr[82] = {
+const classtable_elt_t VFT_ABlockExpr[83] = {
   {(bigint) 3571 /* 0: Identity */},
   {(bigint) 3 /* 1: ABlockExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ABlockExpr < PNode: superclass typecheck marker */},
@@ -28325,6 +32327,7 @@ const classtable_elt_t VFT_ABlockExpr[82] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ABlockExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___ABlockExpr___accept_control_flow},
   {(bigint) typing___ABlockExpr___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -28333,19 +32336,19 @@ const classtable_elt_t VFT_ABlockExpr[82] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ABlockExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ABlockExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ABlockExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ABlockExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ABlockExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___ABlockExpr___empty_init},
   {(bigint) parser_prod___ABlockExpr___init_ablockexpr},
-  {(bigint) 4 /* 78: ABlockExpr < ABlockExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: ABlockExpr < ABlockExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABlockExpr___n_expr},
   {(bigint) parser_nodes___ABlockExpr___n_expr__eq},
   {(bigint) typing___PNode___accept_typing},
@@ -28361,21 +32364,28 @@ val_t NEW_ABlockExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ABlockExpr;
+  ATTR_parser_nodes___ABlockExpr____n_expr(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ABlockExpr___empty_init() {
+val_t NEW_ABlockExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ABlockExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ABlockExpr_parser_prod___ABlockExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ABlockExpr();
   parser_prod___ABlockExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ABlockExpr___init_ablockexpr(val_t p0) {
+val_t NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ABlockExpr();
   parser_prod___ABlockExpr___init_ablockexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AVardeclExpr[92] = {
+const classtable_elt_t VFT_AVardeclExpr[93] = {
   {(bigint) 3331 /* 0: Identity */},
   {(bigint) 3 /* 1: AVardeclExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AVardeclExpr < PNode: superclass typecheck marker */},
@@ -28434,6 +32444,7 @@ const classtable_elt_t VFT_AVardeclExpr[92] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AVardeclExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AVardeclExpr___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AVardeclExpr___after_typing},
@@ -28442,12 +32453,12 @@ const classtable_elt_t VFT_AVardeclExpr[92] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AVardeclExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AVardeclExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___AVardeclExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AVardeclExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AVardeclExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AVardeclExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -28457,7 +32468,7 @@ const classtable_elt_t VFT_AVardeclExpr[92] = {
   {(bigint) syntax_base___AVardeclExpr___variable__eq},
   {(bigint) parser_prod___AVardeclExpr___empty_init},
   {(bigint) parser_prod___AVardeclExpr___init_avardeclexpr},
-  {(bigint) 4 /* 81: AVardeclExpr < AVardeclExpr: superclass init_table position */},
+  {(bigint) 4 /* 82: AVardeclExpr < AVardeclExpr: superclass init_table position */},
   {(bigint) parser_nodes___AVardeclExpr___n_kwvar},
   {(bigint) parser_prod___AVardeclExpr___n_kwvar__eq},
   {(bigint) parser_nodes___AVardeclExpr___n_id},
@@ -28485,21 +32496,32 @@ val_t NEW_AVardeclExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 12);
   obj->vft = (classtable_elt_t*)VFT_AVardeclExpr;
+  ATTR_parser_nodes___AVardeclExpr____n_kwvar(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AVardeclExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AVardeclExpr____n_type(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AVardeclExpr____n_assign(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AVardeclExpr____n_expr(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AVardeclExpr___empty_init() {
+val_t NEW_AVardeclExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AVardeclExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AVardeclExpr();
   parser_prod___AVardeclExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AVardeclExpr___init_avardeclexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
+val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AVardeclExpr();
   parser_prod___AVardeclExpr___init_avardeclexpr(self, p0, p1, p2, p3, p4, init_table);
   return self;
 }
-const classtable_elt_t VFT_AReturnExpr[84] = {
+const classtable_elt_t VFT_AReturnExpr[85] = {
   {(bigint) 3387 /* 0: Identity */},
   {(bigint) 3 /* 1: AReturnExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AReturnExpr < PNode: superclass typecheck marker */},
@@ -28558,6 +32580,7 @@ const classtable_elt_t VFT_AReturnExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AReturnExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AReturnExpr___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AReturnExpr___after_typing},
@@ -28566,12 +32589,12 @@ const classtable_elt_t VFT_AReturnExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AReturnExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AReturnExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AReturnExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AReturnExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AReturnExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -28579,7 +32602,7 @@ const classtable_elt_t VFT_AReturnExpr[84] = {
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) parser_prod___AReturnExpr___empty_init},
   {(bigint) parser_prod___AReturnExpr___init_areturnexpr},
-  {(bigint) 4 /* 79: AReturnExpr < AReturnExpr: superclass init_table position */},
+  {(bigint) 4 /* 80: AReturnExpr < AReturnExpr: superclass init_table position */},
   {(bigint) parser_nodes___AReturnExpr___n_kwreturn},
   {(bigint) parser_prod___AReturnExpr___n_kwreturn__eq},
   {(bigint) parser_nodes___AReturnExpr___n_expr},
@@ -28597,28 +32620,36 @@ val_t NEW_AReturnExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_AReturnExpr;
+  ATTR_parser_nodes___AReturnExpr____n_kwreturn(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReturnExpr____n_expr(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AReturnExpr___empty_init() {
+val_t NEW_AReturnExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AReturnExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AReturnExpr_parser_prod___AReturnExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AReturnExpr();
   parser_prod___AReturnExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AReturnExpr___init_areturnexpr(val_t p0, val_t p1) {
+val_t NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AReturnExpr();
   parser_prod___AReturnExpr___init_areturnexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ABreakExpr[84] = {
-  {(bigint) 3763 /* 0: Identity */},
+const classtable_elt_t VFT_ABreakExpr[85] = {
+  {(bigint) 3767 /* 0: Identity */},
   {(bigint) 3 /* 1: ABreakExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ABreakExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ABreakExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ABreakExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3575 /* 5: ABreakExpr < ABlockControler: superclass typecheck marker */},
-  {(bigint) 3763 /* 6: ABreakExpr < ABreakExpr: superclass typecheck marker */},
+  {(bigint) 3767 /* 6: ABreakExpr < ABreakExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -28670,6 +32701,7 @@ const classtable_elt_t VFT_ABreakExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 2 /* 57: ABreakExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___ABreakExpr___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -28678,22 +32710,22 @@ const classtable_elt_t VFT_ABreakExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 3 /* 66: ABreakExpr < Prod: superclass init_table position */},
+  {(bigint) 3 /* 67: ABreakExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ABreakExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 4 /* 71: ABreakExpr < PExpr: superclass init_table position */},
+  {(bigint) 4 /* 72: ABreakExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ABreakExpr < ABlockControler: superclass init_table position */},
+  {(bigint) 0 /* 77: ABreakExpr < ABlockControler: superclass init_table position */},
   {(bigint) control_flow___ABlockControler___block},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) parser_prod___ABreakExpr___empty_init},
   {(bigint) parser_prod___ABreakExpr___init_abreakexpr},
-  {(bigint) 5 /* 81: ABreakExpr < ABreakExpr: superclass init_table position */},
+  {(bigint) 5 /* 82: ABreakExpr < ABreakExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABreakExpr___n_kwbreak},
   {(bigint) parser_prod___ABreakExpr___n_kwbreak__eq},
 };
@@ -28709,21 +32741,28 @@ val_t NEW_ABreakExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_ABreakExpr;
+  ATTR_parser_nodes___ABreakExpr____n_kwbreak(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ABreakExpr___empty_init() {
+val_t NEW_ABreakExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABreakExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ABreakExpr_parser_prod___ABreakExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ABreakExpr();
   parser_prod___ABreakExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ABreakExpr___init_abreakexpr(val_t p0) {
+val_t NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ABreakExpr();
   parser_prod___ABreakExpr___init_abreakexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAbortExpr[82] = {
+const classtable_elt_t VFT_AAbortExpr[83] = {
   {(bigint) 3615 /* 0: Identity */},
   {(bigint) 3 /* 1: AAbortExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAbortExpr < PNode: superclass typecheck marker */},
@@ -28782,6 +32821,7 @@ const classtable_elt_t VFT_AAbortExpr[82] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAbortExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AAbortExpr___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -28790,12 +32830,12 @@ const classtable_elt_t VFT_AAbortExpr[82] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAbortExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAbortExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AAbortExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AAbortExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AAbortExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -28803,7 +32843,7 @@ const classtable_elt_t VFT_AAbortExpr[82] = {
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) parser_prod___AAbortExpr___empty_init},
   {(bigint) parser_prod___AAbortExpr___init_aabortexpr},
-  {(bigint) 4 /* 79: AAbortExpr < AAbortExpr: superclass init_table position */},
+  {(bigint) 4 /* 80: AAbortExpr < AAbortExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAbortExpr___n_kwabort},
   {(bigint) parser_prod___AAbortExpr___n_kwabort__eq},
 };
@@ -28818,28 +32858,35 @@ val_t NEW_AAbortExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AAbortExpr;
+  ATTR_parser_nodes___AAbortExpr____n_kwabort(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AAbortExpr___empty_init() {
+val_t NEW_AAbortExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AAbortExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AAbortExpr_parser_prod___AAbortExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAbortExpr();
   parser_prod___AAbortExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AAbortExpr___init_aabortexpr(val_t p0) {
+val_t NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAbortExpr();
   parser_prod___AAbortExpr___init_aabortexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AContinueExpr[84] = {
-  {(bigint) 3755 /* 0: Identity */},
+const classtable_elt_t VFT_AContinueExpr[85] = {
+  {(bigint) 3759 /* 0: Identity */},
   {(bigint) 3 /* 1: AContinueExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AContinueExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AContinueExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AContinueExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3575 /* 5: AContinueExpr < ABlockControler: superclass typecheck marker */},
-  {(bigint) 3755 /* 6: AContinueExpr < AContinueExpr: superclass typecheck marker */},
+  {(bigint) 3759 /* 6: AContinueExpr < AContinueExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -28891,6 +32938,7 @@ const classtable_elt_t VFT_AContinueExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 2 /* 57: AContinueExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AContinueExpr___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -28899,22 +32947,22 @@ const classtable_elt_t VFT_AContinueExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 3 /* 66: AContinueExpr < Prod: superclass init_table position */},
+  {(bigint) 3 /* 67: AContinueExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AContinueExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 4 /* 71: AContinueExpr < PExpr: superclass init_table position */},
+  {(bigint) 4 /* 72: AContinueExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: AContinueExpr < ABlockControler: superclass init_table position */},
+  {(bigint) 0 /* 77: AContinueExpr < ABlockControler: superclass init_table position */},
   {(bigint) control_flow___ABlockControler___block},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) parser_prod___AContinueExpr___empty_init},
   {(bigint) parser_prod___AContinueExpr___init_acontinueexpr},
-  {(bigint) 5 /* 81: AContinueExpr < AContinueExpr: superclass init_table position */},
+  {(bigint) 5 /* 82: AContinueExpr < AContinueExpr: superclass init_table position */},
   {(bigint) parser_nodes___AContinueExpr___n_kwcontinue},
   {(bigint) parser_prod___AContinueExpr___n_kwcontinue__eq},
 };
@@ -28930,21 +32978,28 @@ val_t NEW_AContinueExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_AContinueExpr;
+  ATTR_parser_nodes___AContinueExpr____n_kwcontinue(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AContinueExpr___empty_init() {
+val_t NEW_AContinueExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AContinueExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AContinueExpr_parser_prod___AContinueExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AContinueExpr();
   parser_prod___AContinueExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AContinueExpr___init_acontinueexpr(val_t p0) {
+val_t NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AContinueExpr();
   parser_prod___AContinueExpr___init_acontinueexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ADoExpr[83] = {
+const classtable_elt_t VFT_ADoExpr[84] = {
   {(bigint) 3539 /* 0: Identity */},
   {(bigint) 3 /* 1: ADoExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ADoExpr < PNode: superclass typecheck marker */},
@@ -29003,6 +33058,7 @@ const classtable_elt_t VFT_ADoExpr[83] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ADoExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -29011,19 +33067,19 @@ const classtable_elt_t VFT_ADoExpr[83] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ADoExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ADoExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ADoExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ADoExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ADoExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___ADoExpr___empty_init},
   {(bigint) parser_prod___ADoExpr___init_adoexpr},
-  {(bigint) 4 /* 78: ADoExpr < ADoExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: ADoExpr < ADoExpr: superclass init_table position */},
   {(bigint) parser_nodes___ADoExpr___n_kwdo},
   {(bigint) parser_prod___ADoExpr___n_kwdo__eq},
   {(bigint) parser_nodes___ADoExpr___n_block},
@@ -29041,21 +33097,29 @@ val_t NEW_ADoExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_ADoExpr;
+  ATTR_parser_nodes___ADoExpr____n_kwdo(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ADoExpr____n_block(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ADoExpr___empty_init() {
+val_t NEW_ADoExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ADoExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ADoExpr_parser_prod___ADoExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ADoExpr();
   parser_prod___ADoExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ADoExpr___init_adoexpr(val_t p0, val_t p1) {
+val_t NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ADoExpr();
   parser_prod___ADoExpr___init_adoexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AIfExpr[87] = {
+const classtable_elt_t VFT_AIfExpr[88] = {
   {(bigint) 3503 /* 0: Identity */},
   {(bigint) 3 /* 1: AIfExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AIfExpr < PNode: superclass typecheck marker */},
@@ -29114,6 +33178,7 @@ const classtable_elt_t VFT_AIfExpr[87] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AIfExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AIfExpr___accept_control_flow},
   {(bigint) typing___AIfExpr___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -29122,19 +33187,19 @@ const classtable_elt_t VFT_AIfExpr[87] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AIfExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AIfExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AIfExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AIfExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AIfExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___AIfExpr___empty_init},
   {(bigint) parser_prod___AIfExpr___init_aifexpr},
-  {(bigint) 4 /* 78: AIfExpr < AIfExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AIfExpr < AIfExpr: superclass init_table position */},
   {(bigint) parser_nodes___AIfExpr___n_kwif},
   {(bigint) parser_prod___AIfExpr___n_kwif__eq},
   {(bigint) parser_nodes___AIfExpr___n_expr},
@@ -29158,21 +33223,31 @@ val_t NEW_AIfExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_AIfExpr;
+  ATTR_parser_nodes___AIfExpr____n_kwif(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AIfExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AIfExpr____n_then(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AIfExpr____n_else(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AIfExpr___empty_init() {
+val_t NEW_AIfExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AIfExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AIfExpr_parser_prod___AIfExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AIfExpr();
   parser_prod___AIfExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AIfExpr___init_aifexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AIfExpr();
   parser_prod___AIfExpr___init_aifexpr(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_AIfexprExpr[91] = {
+const classtable_elt_t VFT_AIfexprExpr[92] = {
   {(bigint) 3499 /* 0: Identity */},
   {(bigint) 3 /* 1: AIfexprExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AIfexprExpr < PNode: superclass typecheck marker */},
@@ -29231,6 +33306,7 @@ const classtable_elt_t VFT_AIfexprExpr[91] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AIfexprExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___AIfexprExpr___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -29239,19 +33315,19 @@ const classtable_elt_t VFT_AIfexprExpr[91] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AIfexprExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AIfexprExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AIfexprExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AIfexprExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AIfexprExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___AIfexprExpr___empty_init},
   {(bigint) parser_prod___AIfexprExpr___init_aifexprexpr},
-  {(bigint) 4 /* 78: AIfexprExpr < AIfexprExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AIfexprExpr < AIfexprExpr: superclass init_table position */},
   {(bigint) parser_nodes___AIfexprExpr___n_kwif},
   {(bigint) parser_prod___AIfexprExpr___n_kwif__eq},
   {(bigint) parser_nodes___AIfexprExpr___n_expr},
@@ -29281,28 +33357,40 @@ val_t NEW_AIfexprExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 12);
   obj->vft = (classtable_elt_t*)VFT_AIfexprExpr;
+  ATTR_parser_nodes___AIfexprExpr____n_kwif(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AIfexprExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AIfexprExpr____n_kwthen(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AIfexprExpr____n_then(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AIfexprExpr____n_kwelse(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AIfexprExpr____n_else(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AIfexprExpr___empty_init() {
+val_t NEW_AIfexprExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AIfexprExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AIfexprExpr_parser_prod___AIfexprExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AIfexprExpr();
   parser_prod___AIfexprExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AIfexprExpr___init_aifexprexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5) {
+val_t NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AIfexprExpr();
   parser_prod___AIfexprExpr___init_aifexprexpr(self, p0, p1, p2, p3, p4, p5, init_table);
   return self;
 }
-const classtable_elt_t VFT_AWhileExpr[90] = {
-  {(bigint) 3655 /* 0: Identity */},
+const classtable_elt_t VFT_AWhileExpr[91] = {
+  {(bigint) 3659 /* 0: Identity */},
   {(bigint) 3 /* 1: AWhileExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AWhileExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AWhileExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AWhileExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3543 /* 5: AWhileExpr < AControlableBlock: superclass typecheck marker */},
-  {(bigint) 3655 /* 6: AWhileExpr < AWhileExpr: superclass typecheck marker */},
+  {(bigint) 3659 /* 6: AWhileExpr < AWhileExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -29354,6 +33442,7 @@ const classtable_elt_t VFT_AWhileExpr[90] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 2 /* 57: AWhileExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AControlableBlock___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AWhileExpr___after_typing},
@@ -29362,22 +33451,22 @@ const classtable_elt_t VFT_AWhileExpr[90] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 3 /* 66: AWhileExpr < Prod: superclass init_table position */},
+  {(bigint) 3 /* 67: AWhileExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AControlableBlock___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 4 /* 71: AWhileExpr < PExpr: superclass init_table position */},
+  {(bigint) 4 /* 72: AWhileExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) compiling_methods___AWhileExpr___compile_inside_block},
-  {(bigint) 0 /* 77: AWhileExpr < AControlableBlock: superclass init_table position */},
+  {(bigint) 0 /* 78: AWhileExpr < AControlableBlock: superclass init_table position */},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) parser_prod___AWhileExpr___empty_init},
   {(bigint) parser_prod___AWhileExpr___init_awhileexpr},
-  {(bigint) 5 /* 81: AWhileExpr < AWhileExpr: superclass init_table position */},
+  {(bigint) 5 /* 82: AWhileExpr < AWhileExpr: superclass init_table position */},
   {(bigint) parser_nodes___AWhileExpr___n_kwwhile},
   {(bigint) parser_prod___AWhileExpr___n_kwwhile__eq},
   {(bigint) parser_nodes___AWhileExpr___n_expr},
@@ -29401,28 +33490,38 @@ val_t NEW_AWhileExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_AWhileExpr;
+  ATTR_parser_nodes___AWhileExpr____n_kwwhile(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AWhileExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AWhileExpr____n_kwdo(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AWhileExpr____n_block(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AWhileExpr___empty_init() {
+val_t NEW_AWhileExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AWhileExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AWhileExpr_parser_prod___AWhileExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AWhileExpr();
   parser_prod___AWhileExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AWhileExpr___init_awhileexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AWhileExpr();
   parser_prod___AWhileExpr___init_awhileexpr(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_AForExpr[88] = {
-  {(bigint) 3727 /* 0: Identity */},
+const classtable_elt_t VFT_AForExpr[89] = {
+  {(bigint) 3731 /* 0: Identity */},
   {(bigint) 3 /* 1: AForExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AForExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AForExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AForExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3543 /* 5: AForExpr < AControlableBlock: superclass typecheck marker */},
-  {(bigint) 3727 /* 6: AForExpr < AForExpr: superclass typecheck marker */},
+  {(bigint) 3731 /* 6: AForExpr < AForExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -29474,6 +33573,7 @@ const classtable_elt_t VFT_AForExpr[88] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 2 /* 57: AForExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AControlableBlock___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AForExpr___after_typing},
@@ -29482,22 +33582,22 @@ const classtable_elt_t VFT_AForExpr[88] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 3 /* 66: AForExpr < Prod: superclass init_table position */},
+  {(bigint) 3 /* 67: AForExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AControlableBlock___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 4 /* 71: AForExpr < PExpr: superclass init_table position */},
+  {(bigint) 4 /* 72: AForExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) compiling_methods___AForExpr___compile_inside_block},
-  {(bigint) 0 /* 77: AForExpr < AControlableBlock: superclass init_table position */},
+  {(bigint) 0 /* 78: AForExpr < AControlableBlock: superclass init_table position */},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) parser_prod___AForExpr___empty_init},
   {(bigint) parser_prod___AForExpr___init_aforexpr},
-  {(bigint) 5 /* 81: AForExpr < AForExpr: superclass init_table position */},
+  {(bigint) 5 /* 82: AForExpr < AForExpr: superclass init_table position */},
   {(bigint) parser_nodes___AForExpr___n_vardecl},
   {(bigint) parser_prod___AForExpr___n_vardecl__eq},
   {(bigint) parser_nodes___AForExpr___n_kwdo},
@@ -29518,21 +33618,30 @@ val_t NEW_AForExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AForExpr;
+  ATTR_parser_nodes___AForExpr____n_vardecl(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AForExpr____n_kwdo(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AForExpr____n_block(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AForExpr___empty_init() {
+val_t NEW_AForExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AForExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AForExpr_parser_prod___AForExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AForExpr();
   parser_prod___AForExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AForExpr___init_aforexpr(val_t p0, val_t p1, val_t p2) {
+val_t NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(val_t p0, val_t p1, val_t p2) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AForExpr();
   parser_prod___AForExpr___init_aforexpr(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_AForVardeclExpr[88] = {
+const classtable_elt_t VFT_AForVardeclExpr[89] = {
   {(bigint) 3523 /* 0: Identity */},
   {(bigint) 3 /* 1: AForVardeclExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AForVardeclExpr < PNode: superclass typecheck marker */},
@@ -29591,6 +33700,7 @@ const classtable_elt_t VFT_AForVardeclExpr[88] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AForVardeclExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AForVardeclExpr___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AForVardeclExpr___after_typing},
@@ -29599,12 +33709,12 @@ const classtable_elt_t VFT_AForVardeclExpr[88] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AForVardeclExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AForVardeclExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AForVardeclExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AForVardeclExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AForVardeclExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -29614,7 +33724,7 @@ const classtable_elt_t VFT_AForVardeclExpr[88] = {
   {(bigint) syntax_base___AForVardeclExpr___variable__eq},
   {(bigint) parser_prod___AForVardeclExpr___empty_init},
   {(bigint) parser_prod___AForVardeclExpr___init_aforvardeclexpr},
-  {(bigint) 4 /* 81: AForVardeclExpr < AForVardeclExpr: superclass init_table position */},
+  {(bigint) 4 /* 82: AForVardeclExpr < AForVardeclExpr: superclass init_table position */},
   {(bigint) parser_nodes___AForVardeclExpr___n_kwfor},
   {(bigint) parser_prod___AForVardeclExpr___n_kwfor__eq},
   {(bigint) parser_nodes___AForVardeclExpr___n_id},
@@ -29636,21 +33746,30 @@ val_t NEW_AForVardeclExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_AForVardeclExpr;
+  ATTR_parser_nodes___AForVardeclExpr____n_kwfor(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AForVardeclExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AForVardeclExpr____n_expr(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AForVardeclExpr___empty_init() {
+val_t NEW_AForVardeclExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AForVardeclExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AForVardeclExpr_parser_prod___AForVardeclExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AForVardeclExpr();
   parser_prod___AForVardeclExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t p0, val_t p1, val_t p2) {
+val_t NEW_AForVardeclExpr_parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t p0, val_t p1, val_t p2) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AForVardeclExpr();
   parser_prod___AForVardeclExpr___init_aforvardeclexpr(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAssertExpr[85] = {
+const classtable_elt_t VFT_AAssertExpr[86] = {
   {(bigint) 3595 /* 0: Identity */},
   {(bigint) 3 /* 1: AAssertExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAssertExpr < PNode: superclass typecheck marker */},
@@ -29709,6 +33828,7 @@ const classtable_elt_t VFT_AAssertExpr[85] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAssertExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AAssertExpr___after_typing},
@@ -29717,19 +33837,19 @@ const classtable_elt_t VFT_AAssertExpr[85] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAssertExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAssertExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AAssertExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AAssertExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AAssertExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___AAssertExpr___empty_init},
   {(bigint) parser_prod___AAssertExpr___init_aassertexpr},
-  {(bigint) 4 /* 78: AAssertExpr < AAssertExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AAssertExpr < AAssertExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAssertExpr___n_kwassert},
   {(bigint) parser_prod___AAssertExpr___n_kwassert__eq},
   {(bigint) parser_nodes___AAssertExpr___n_id},
@@ -29750,21 +33870,30 @@ val_t NEW_AAssertExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AAssertExpr;
+  ATTR_parser_nodes___AAssertExpr____n_kwassert(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssertExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssertExpr____n_expr(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AAssertExpr___empty_init() {
+val_t NEW_AAssertExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AAssertExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AAssertExpr_parser_prod___AAssertExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAssertExpr();
   parser_prod___AAssertExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AAssertExpr___init_aassertexpr(val_t p0, val_t p1, val_t p2) {
+val_t NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(val_t p0, val_t p1, val_t p2) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAssertExpr();
   parser_prod___AAssertExpr___init_aassertexpr(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAssignFormExpr[86] = {
+const classtable_elt_t VFT_AAssignFormExpr[87] = {
   {(bigint) 3591 /* 0: Identity */},
   {(bigint) 3 /* 1: AAssignFormExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAssignFormExpr < PNode: superclass typecheck marker */},
@@ -29823,6 +33952,7 @@ const classtable_elt_t VFT_AAssignFormExpr[86] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAssignFormExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -29831,12 +33961,12 @@ const classtable_elt_t VFT_AAssignFormExpr[86] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAssignFormExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAssignFormExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AAssignFormExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AAssignFormExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -29846,7 +33976,7 @@ const classtable_elt_t VFT_AAssignFormExpr[86] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 81: AAssignFormExpr < AAssignFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 82: AAssignFormExpr < AAssignFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAssignFormExpr___n_assign},
   {(bigint) parser_nodes___AAssignFormExpr___n_assign__eq},
   {(bigint) parser_nodes___AAssignFormExpr___n_value},
@@ -29866,9 +33996,17 @@ val_t NEW_AAssignFormExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_AAssignFormExpr;
+  ATTR_parser_nodes___AAssignFormExpr____n_assign(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssignFormExpr____n_value(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_AReassignFormExpr[88] = {
+val_t NEW_AAssignFormExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AAssignFormExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_AReassignFormExpr[89] = {
   {(bigint) 3391 /* 0: Identity */},
   {(bigint) 3 /* 1: AReassignFormExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AReassignFormExpr < PNode: superclass typecheck marker */},
@@ -29927,6 +34065,7 @@ const classtable_elt_t VFT_AReassignFormExpr[88] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AReassignFormExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -29935,12 +34074,12 @@ const classtable_elt_t VFT_AReassignFormExpr[88] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AReassignFormExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AReassignFormExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AReassignFormExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AReassignFormExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -29952,7 +34091,7 @@ const classtable_elt_t VFT_AReassignFormExpr[88] = {
   {0} /* Class Hole :( */,
   {(bigint) typing___AReassignFormExpr___do_lvalue_typing},
   {(bigint) typing___AReassignFormExpr___assign_method},
-  {(bigint) 4 /* 83: AReassignFormExpr < AReassignFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 84: AReassignFormExpr < AReassignFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AReassignFormExpr___n_assign_op},
   {(bigint) parser_nodes___AReassignFormExpr___n_assign_op__eq},
   {(bigint) parser_nodes___AReassignFormExpr___n_value},
@@ -29973,16 +34112,24 @@ val_t NEW_AReassignFormExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 11);
   obj->vft = (classtable_elt_t*)VFT_AReassignFormExpr;
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReassignFormExpr____n_value(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_AOnceExpr[85] = {
-  {(bigint) 3699 /* 0: Identity */},
+val_t NEW_AReassignFormExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AReassignFormExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_AOnceExpr[86] = {
+  {(bigint) 3703 /* 0: Identity */},
   {(bigint) 3 /* 1: AOnceExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AOnceExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AOnceExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AOnceExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3411 /* 5: AOnceExpr < AProxyExpr: superclass typecheck marker */},
-  {(bigint) 3699 /* 6: AOnceExpr < AOnceExpr: superclass typecheck marker */},
+  {(bigint) 3703 /* 6: AOnceExpr < AOnceExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -30034,6 +34181,7 @@ const classtable_elt_t VFT_AOnceExpr[85] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 2 /* 57: AOnceExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AOnceExpr___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AProxyExpr___after_typing},
@@ -30042,23 +34190,23 @@ const classtable_elt_t VFT_AOnceExpr[85] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 3 /* 66: AOnceExpr < Prod: superclass init_table position */},
+  {(bigint) 3 /* 67: AOnceExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AOnceExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 4 /* 71: AOnceExpr < PExpr: superclass init_table position */},
+  {(bigint) 4 /* 72: AOnceExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: AOnceExpr < AProxyExpr: superclass init_table position */},
+  {(bigint) 0 /* 77: AOnceExpr < AProxyExpr: superclass init_table position */},
   {(bigint) parser_nodes___AProxyExpr___n_expr},
   {(bigint) parser_prod___AOnceExpr___n_expr__eq},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) parser_prod___AOnceExpr___empty_init},
   {(bigint) parser_prod___AOnceExpr___init_aonceexpr},
-  {(bigint) 5 /* 82: AOnceExpr < AOnceExpr: superclass init_table position */},
+  {(bigint) 5 /* 83: AOnceExpr < AOnceExpr: superclass init_table position */},
   {(bigint) parser_nodes___AOnceExpr___n_kwonce},
   {(bigint) parser_prod___AOnceExpr___n_kwonce__eq},
 };
@@ -30074,30 +34222,38 @@ val_t NEW_AOnceExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_AOnceExpr;
+  ATTR_parser_nodes___AProxyExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AOnceExpr____n_kwonce(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AOnceExpr___empty_init() {
+val_t NEW_AOnceExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AOnceExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AOnceExpr_parser_prod___AOnceExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AOnceExpr();
   parser_prod___AOnceExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AOnceExpr___init_aonceexpr(val_t p0, val_t p1) {
+val_t NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(val_t p0, val_t p1) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AOnceExpr();
   parser_prod___AOnceExpr___init_aonceexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ASendExpr[102] = {
-  {(bigint) 3795 /* 0: Identity */},
+const classtable_elt_t VFT_ASendExpr[103] = {
+  {(bigint) 3799 /* 0: Identity */},
   {(bigint) 3 /* 1: ASendExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ASendExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ASendExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ASendExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ASendExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ASendExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ASendExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ASendExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ASendExpr < ASendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -30147,6 +34303,7 @@ const classtable_elt_t VFT_ASendExpr[102] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ASendExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -30155,17 +34312,17 @@ const classtable_elt_t VFT_ASendExpr[102] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ASendExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ASendExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ASendExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ASendExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ASendExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ASendExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -30177,7 +34334,7 @@ const classtable_elt_t VFT_ASendExpr[102] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ASendExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ASendExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -30188,7 +34345,7 @@ const classtable_elt_t VFT_ASendExpr[102] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ASendExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ASendExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ASendExpr___n_expr__eq},
 };
@@ -30208,31 +34365,38 @@ val_t NEW_ASendExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 12);
   obj->vft = (classtable_elt_t*)VFT_ASendExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ASendExpr___empty_init() {
+val_t NEW_ASendExpr_parser_nodes___PNode___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ASendExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ASendExpr_parser_prod___ASendExpr___empty_init() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ASendExpr();
   parser_prod___ASendExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+val_t NEW_ASendExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ASendExpr();
   parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ABinopExpr[107] = {
-  {(bigint) 3827 /* 0: Identity */},
+const classtable_elt_t VFT_ABinopExpr[108] = {
+  {(bigint) 3831 /* 0: Identity */},
   {(bigint) 3 /* 1: ABinopExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ABinopExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ABinopExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ABinopExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ABinopExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ABinopExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ABinopExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: ABinopExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ABinopExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ABinopExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: ABinopExpr < ABinopExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -30281,6 +34445,7 @@ const classtable_elt_t VFT_ABinopExpr[107] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ABinopExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -30289,17 +34454,17 @@ const classtable_elt_t VFT_ABinopExpr[107] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ABinopExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ABinopExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ABinopExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ABinopExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ABinopExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ABinopExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -30311,7 +34476,7 @@ const classtable_elt_t VFT_ABinopExpr[107] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ABinopExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ABinopExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -30322,12 +34487,12 @@ const classtable_elt_t VFT_ABinopExpr[107] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ABinopExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ABinopExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ABinopExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: ABinopExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: ABinopExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___ABinopExpr___n_expr2__eq},
 };
@@ -30348,21 +34513,41 @@ val_t NEW_ABinopExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_ABinopExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ABinopExpr___empty_init() {
+val_t NEW_ABinopExpr_parser_nodes___PNode___init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABinopExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ABinopExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABinopExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ABinopExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABinopExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_ABinopExpr_parser_prod___ABinopExpr___empty_init() {
   int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ABinopExpr();
   parser_prod___ABinopExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+val_t NEW_ABinopExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
   int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ABinopExpr();
   parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ABoolExpr[77] = {
+const classtable_elt_t VFT_ABoolExpr[78] = {
   {(bigint) 3567 /* 0: Identity */},
   {(bigint) 3 /* 1: ABoolExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ABoolExpr < PNode: superclass typecheck marker */},
@@ -30421,6 +34606,7 @@ const classtable_elt_t VFT_ABoolExpr[77] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ABoolExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ABoolExpr___after_typing},
@@ -30429,17 +34615,17 @@ const classtable_elt_t VFT_ABoolExpr[77] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ABoolExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ABoolExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ABoolExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ABoolExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 4 /* 76: ABoolExpr < ABoolExpr: superclass init_table position */},
+  {(bigint) 4 /* 77: ABoolExpr < ABoolExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABoolExpr::_parent */
@@ -30453,14 +34639,20 @@ val_t NEW_ABoolExpr(void) {
   obj->vft = (classtable_elt_t*)VFT_ABoolExpr;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_AOrExpr[84] = {
-  {(bigint) 3695 /* 0: Identity */},
+val_t NEW_ABoolExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ABoolExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_AOrExpr[85] = {
+  {(bigint) 3699 /* 0: Identity */},
   {(bigint) 3 /* 1: AOrExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AOrExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AOrExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AOrExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3567 /* 5: AOrExpr < ABoolExpr: superclass typecheck marker */},
-  {(bigint) 3695 /* 6: AOrExpr < AOrExpr: superclass typecheck marker */},
+  {(bigint) 3699 /* 6: AOrExpr < AOrExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -30512,6 +34704,7 @@ const classtable_elt_t VFT_AOrExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AOrExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AOrExpr___after_typing},
@@ -30520,20 +34713,20 @@ const classtable_elt_t VFT_AOrExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AOrExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AOrExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AOrExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AOrExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AOrExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 4 /* 76: AOrExpr < ABoolExpr: superclass init_table position */},
+  {(bigint) 4 /* 77: AOrExpr < ABoolExpr: superclass init_table position */},
   {(bigint) parser_prod___AOrExpr___empty_init},
   {(bigint) parser_prod___AOrExpr___init_aorexpr},
-  {(bigint) 5 /* 79: AOrExpr < AOrExpr: superclass init_table position */},
+  {(bigint) 5 /* 80: AOrExpr < AOrExpr: superclass init_table position */},
   {(bigint) parser_nodes___AOrExpr___n_expr},
   {(bigint) parser_prod___AOrExpr___n_expr__eq},
   {(bigint) parser_nodes___AOrExpr___n_expr2},
@@ -30551,28 +34744,36 @@ val_t NEW_AOrExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_AOrExpr;
+  ATTR_parser_nodes___AOrExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AOrExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AOrExpr___empty_init() {
+val_t NEW_AOrExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AOrExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AOrExpr_parser_prod___AOrExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AOrExpr();
   parser_prod___AOrExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AOrExpr___init_aorexpr(val_t p0, val_t p1) {
+val_t NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(val_t p0, val_t p1) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AOrExpr();
   parser_prod___AOrExpr___init_aorexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAndExpr[84] = {
-  {(bigint) 3779 /* 0: Identity */},
+const classtable_elt_t VFT_AAndExpr[85] = {
+  {(bigint) 3783 /* 0: Identity */},
   {(bigint) 3 /* 1: AAndExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAndExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AAndExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AAndExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3567 /* 5: AAndExpr < ABoolExpr: superclass typecheck marker */},
-  {(bigint) 3779 /* 6: AAndExpr < AAndExpr: superclass typecheck marker */},
+  {(bigint) 3783 /* 6: AAndExpr < AAndExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -30624,6 +34825,7 @@ const classtable_elt_t VFT_AAndExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAndExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___AAndExpr___accept_typing},
   {(bigint) typing___ABoolExpr___after_typing},
@@ -30632,20 +34834,20 @@ const classtable_elt_t VFT_AAndExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAndExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAndExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AAndExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AAndExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AAndExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 4 /* 76: AAndExpr < ABoolExpr: superclass init_table position */},
+  {(bigint) 4 /* 77: AAndExpr < ABoolExpr: superclass init_table position */},
   {(bigint) parser_prod___AAndExpr___empty_init},
   {(bigint) parser_prod___AAndExpr___init_aandexpr},
-  {(bigint) 5 /* 79: AAndExpr < AAndExpr: superclass init_table position */},
+  {(bigint) 5 /* 80: AAndExpr < AAndExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAndExpr___n_expr},
   {(bigint) parser_prod___AAndExpr___n_expr__eq},
   {(bigint) parser_nodes___AAndExpr___n_expr2},
@@ -30663,28 +34865,36 @@ val_t NEW_AAndExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_AAndExpr;
+  ATTR_parser_nodes___AAndExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAndExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AAndExpr___empty_init() {
+val_t NEW_AAndExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AAndExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AAndExpr_parser_prod___AAndExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AAndExpr();
   parser_prod___AAndExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AAndExpr___init_aandexpr(val_t p0, val_t p1) {
+val_t NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(val_t p0, val_t p1) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AAndExpr();
   parser_prod___AAndExpr___init_aandexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ANotExpr[84] = {
-  {(bigint) 3703 /* 0: Identity */},
+const classtable_elt_t VFT_ANotExpr[85] = {
+  {(bigint) 3707 /* 0: Identity */},
   {(bigint) 3 /* 1: ANotExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ANotExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ANotExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ANotExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3567 /* 5: ANotExpr < ABoolExpr: superclass typecheck marker */},
-  {(bigint) 3703 /* 6: ANotExpr < ANotExpr: superclass typecheck marker */},
+  {(bigint) 3707 /* 6: ANotExpr < ANotExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -30736,6 +34946,7 @@ const classtable_elt_t VFT_ANotExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ANotExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ANotExpr___after_typing},
@@ -30744,20 +34955,20 @@ const classtable_elt_t VFT_ANotExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ANotExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ANotExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ANotExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ANotExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ANotExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 4 /* 76: ANotExpr < ABoolExpr: superclass init_table position */},
+  {(bigint) 4 /* 77: ANotExpr < ABoolExpr: superclass init_table position */},
   {(bigint) parser_prod___ANotExpr___empty_init},
   {(bigint) parser_prod___ANotExpr___init_anotexpr},
-  {(bigint) 5 /* 79: ANotExpr < ANotExpr: superclass init_table position */},
+  {(bigint) 5 /* 80: ANotExpr < ANotExpr: superclass init_table position */},
   {(bigint) parser_nodes___ANotExpr___n_kwnot},
   {(bigint) parser_prod___ANotExpr___n_kwnot__eq},
   {(bigint) parser_nodes___ANotExpr___n_expr},
@@ -30775,32 +34986,40 @@ val_t NEW_ANotExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_ANotExpr;
+  ATTR_parser_nodes___ANotExpr____n_kwnot(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ANotExpr____n_expr(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ANotExpr___empty_init() {
+val_t NEW_ANotExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ANotExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ANotExpr_parser_prod___ANotExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ANotExpr();
   parser_prod___ANotExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ANotExpr___init_anotexpr(val_t p0, val_t p1) {
+val_t NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(val_t p0, val_t p1) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ANotExpr();
   parser_prod___ANotExpr___init_anotexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AEqExpr[110] = {
-  {(bigint) 3875 /* 0: Identity */},
+const classtable_elt_t VFT_AEqExpr[111] = {
+  {(bigint) 3879 /* 0: Identity */},
   {(bigint) 3 /* 1: AEqExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AEqExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AEqExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AEqExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: AEqExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: AEqExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: AEqExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: AEqExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3875 /* 10: AEqExpr < AEqExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: AEqExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: AEqExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: AEqExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3879 /* 10: AEqExpr < AEqExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -30848,6 +35067,7 @@ const classtable_elt_t VFT_AEqExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: AEqExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -30856,17 +35076,17 @@ const classtable_elt_t VFT_AEqExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: AEqExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: AEqExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: AEqExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: AEqExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: AEqExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: AEqExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -30878,7 +35098,7 @@ const classtable_elt_t VFT_AEqExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: AEqExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: AEqExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -30889,17 +35109,17 @@ const classtable_elt_t VFT_AEqExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: AEqExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: AEqExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___AEqExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: AEqExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: AEqExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___AEqExpr___n_expr2__eq},
   {(bigint) parser_prod___AEqExpr___empty_init},
   {(bigint) parser_prod___AEqExpr___init_aeqexpr},
-  {(bigint) 8 /* 109: AEqExpr < AEqExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: AEqExpr < AEqExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AEqExpr::_parent */
@@ -30918,28 +35138,60 @@ val_t NEW_AEqExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_AEqExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AEqExpr___empty_init() {
+val_t NEW_AEqExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AEqExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AEqExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AEqExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AEqExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AEqExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_AEqExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AEqExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AEqExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AEqExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_AEqExpr_parser_prod___AEqExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AEqExpr();
   parser_prod___AEqExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AEqExpr___init_aeqexpr(val_t p0, val_t p1) {
+val_t NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AEqExpr();
   parser_prod___AEqExpr___init_aeqexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AEeExpr[84] = {
-  {(bigint) 3743 /* 0: Identity */},
+const classtable_elt_t VFT_AEeExpr[85] = {
+  {(bigint) 3747 /* 0: Identity */},
   {(bigint) 3 /* 1: AEeExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AEeExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AEeExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AEeExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3567 /* 5: AEeExpr < ABoolExpr: superclass typecheck marker */},
-  {(bigint) 3743 /* 6: AEeExpr < AEeExpr: superclass typecheck marker */},
+  {(bigint) 3747 /* 6: AEeExpr < AEeExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -30991,6 +35243,7 @@ const classtable_elt_t VFT_AEeExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AEeExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ABoolExpr___after_typing},
@@ -30999,20 +35252,20 @@ const classtable_elt_t VFT_AEeExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AEeExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AEeExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AEeExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AEeExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AEeExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 4 /* 76: AEeExpr < ABoolExpr: superclass init_table position */},
+  {(bigint) 4 /* 77: AEeExpr < ABoolExpr: superclass init_table position */},
   {(bigint) parser_prod___AEeExpr___empty_init},
   {(bigint) parser_prod___AEeExpr___init_aeeexpr},
-  {(bigint) 5 /* 79: AEeExpr < AEeExpr: superclass init_table position */},
+  {(bigint) 5 /* 80: AEeExpr < AEeExpr: superclass init_table position */},
   {(bigint) parser_nodes___AEeExpr___n_expr},
   {(bigint) parser_prod___AEeExpr___n_expr__eq},
   {(bigint) parser_nodes___AEeExpr___n_expr2},
@@ -31030,32 +35283,40 @@ val_t NEW_AEeExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_AEeExpr;
+  ATTR_parser_nodes___AEeExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AEeExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AEeExpr___empty_init() {
+val_t NEW_AEeExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AEeExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AEeExpr_parser_prod___AEeExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AEeExpr();
   parser_prod___AEeExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AEeExpr___init_aeeexpr(val_t p0, val_t p1) {
+val_t NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr(val_t p0, val_t p1) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AEeExpr();
   parser_prod___AEeExpr___init_aeeexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ANeExpr[110] = {
-  {(bigint) 3851 /* 0: Identity */},
+const classtable_elt_t VFT_ANeExpr[111] = {
+  {(bigint) 3855 /* 0: Identity */},
   {(bigint) 3 /* 1: ANeExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ANeExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ANeExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ANeExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ANeExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ANeExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ANeExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: ANeExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3851 /* 10: ANeExpr < ANeExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ANeExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ANeExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: ANeExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3855 /* 10: ANeExpr < ANeExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -31103,6 +35364,7 @@ const classtable_elt_t VFT_ANeExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ANeExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -31111,17 +35373,17 @@ const classtable_elt_t VFT_ANeExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ANeExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ANeExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ANeExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ANeExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ANeExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ANeExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -31133,7 +35395,7 @@ const classtable_elt_t VFT_ANeExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ANeExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ANeExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -31144,17 +35406,17 @@ const classtable_elt_t VFT_ANeExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ANeExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ANeExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ANeExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: ANeExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: ANeExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___ANeExpr___n_expr2__eq},
   {(bigint) parser_prod___ANeExpr___empty_init},
   {(bigint) parser_prod___ANeExpr___init_aneexpr},
-  {(bigint) 8 /* 109: ANeExpr < ANeExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: ANeExpr < ANeExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ANeExpr::_parent */
@@ -31173,32 +35435,64 @@ val_t NEW_ANeExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_ANeExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ANeExpr___empty_init() {
+val_t NEW_ANeExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ANeExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ANeExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ANeExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ANeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ANeExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_ANeExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ANeExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ANeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ANeExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_ANeExpr_parser_prod___ANeExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ANeExpr();
   parser_prod___ANeExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ANeExpr___init_aneexpr(val_t p0, val_t p1) {
+val_t NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ANeExpr();
   parser_prod___ANeExpr___init_aneexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ALtExpr[110] = {
-  {(bigint) 3859 /* 0: Identity */},
+const classtable_elt_t VFT_ALtExpr[111] = {
+  {(bigint) 3863 /* 0: Identity */},
   {(bigint) 3 /* 1: ALtExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ALtExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ALtExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ALtExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ALtExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ALtExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ALtExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: ALtExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3859 /* 10: ALtExpr < ALtExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ALtExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ALtExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: ALtExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3863 /* 10: ALtExpr < ALtExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -31246,6 +35540,7 @@ const classtable_elt_t VFT_ALtExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ALtExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -31254,17 +35549,17 @@ const classtable_elt_t VFT_ALtExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ALtExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ALtExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ALtExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ALtExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ALtExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ALtExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -31276,7 +35571,7 @@ const classtable_elt_t VFT_ALtExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ALtExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ALtExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -31287,17 +35582,17 @@ const classtable_elt_t VFT_ALtExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ALtExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ALtExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ALtExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: ALtExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: ALtExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___ALtExpr___n_expr2__eq},
   {(bigint) parser_prod___ALtExpr___empty_init},
   {(bigint) parser_prod___ALtExpr___init_altexpr},
-  {(bigint) 8 /* 109: ALtExpr < ALtExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: ALtExpr < ALtExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ALtExpr::_parent */
@@ -31316,32 +35611,64 @@ val_t NEW_ALtExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_ALtExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ALtExpr___empty_init() {
+val_t NEW_ALtExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ALtExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ALtExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ALtExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ALtExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ALtExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_ALtExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ALtExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ALtExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ALtExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_ALtExpr_parser_prod___ALtExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ALtExpr();
   parser_prod___ALtExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ALtExpr___init_altexpr(val_t p0, val_t p1) {
+val_t NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ALtExpr();
   parser_prod___ALtExpr___init_altexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ALeExpr[110] = {
-  {(bigint) 3863 /* 0: Identity */},
+const classtable_elt_t VFT_ALeExpr[111] = {
+  {(bigint) 3867 /* 0: Identity */},
   {(bigint) 3 /* 1: ALeExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ALeExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ALeExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ALeExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ALeExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ALeExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ALeExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: ALeExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3863 /* 10: ALeExpr < ALeExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ALeExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ALeExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: ALeExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3867 /* 10: ALeExpr < ALeExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -31389,6 +35716,7 @@ const classtable_elt_t VFT_ALeExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ALeExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -31397,17 +35725,17 @@ const classtable_elt_t VFT_ALeExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ALeExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ALeExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ALeExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ALeExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ALeExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ALeExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -31419,7 +35747,7 @@ const classtable_elt_t VFT_ALeExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ALeExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ALeExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -31430,17 +35758,17 @@ const classtable_elt_t VFT_ALeExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ALeExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ALeExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ALeExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: ALeExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: ALeExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___ALeExpr___n_expr2__eq},
   {(bigint) parser_prod___ALeExpr___empty_init},
   {(bigint) parser_prod___ALeExpr___init_aleexpr},
-  {(bigint) 8 /* 109: ALeExpr < ALeExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: ALeExpr < ALeExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ALeExpr::_parent */
@@ -31459,32 +35787,64 @@ val_t NEW_ALeExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_ALeExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ALeExpr___empty_init() {
+val_t NEW_ALeExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ALeExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ALeExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ALeExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ALeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ALeExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_ALeExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ALeExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ALeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ALeExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_ALeExpr_parser_prod___ALeExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ALeExpr();
   parser_prod___ALeExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ALeExpr___init_aleexpr(val_t p0, val_t p1) {
+val_t NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ALeExpr();
   parser_prod___ALeExpr___init_aleexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AGtExpr[110] = {
-  {(bigint) 3867 /* 0: Identity */},
+const classtable_elt_t VFT_AGtExpr[111] = {
+  {(bigint) 3871 /* 0: Identity */},
   {(bigint) 3 /* 1: AGtExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AGtExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AGtExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AGtExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: AGtExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: AGtExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: AGtExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: AGtExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3867 /* 10: AGtExpr < AGtExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: AGtExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: AGtExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: AGtExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3871 /* 10: AGtExpr < AGtExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -31532,6 +35892,7 @@ const classtable_elt_t VFT_AGtExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: AGtExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -31540,17 +35901,17 @@ const classtable_elt_t VFT_AGtExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: AGtExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: AGtExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: AGtExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: AGtExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: AGtExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: AGtExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -31562,7 +35923,7 @@ const classtable_elt_t VFT_AGtExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: AGtExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: AGtExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -31573,17 +35934,17 @@ const classtable_elt_t VFT_AGtExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: AGtExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: AGtExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___AGtExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: AGtExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: AGtExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___AGtExpr___n_expr2__eq},
   {(bigint) parser_prod___AGtExpr___empty_init},
   {(bigint) parser_prod___AGtExpr___init_agtexpr},
-  {(bigint) 8 /* 109: AGtExpr < AGtExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: AGtExpr < AGtExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AGtExpr::_parent */
@@ -31602,32 +35963,64 @@ val_t NEW_AGtExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_AGtExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AGtExpr___empty_init() {
+val_t NEW_AGtExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AGtExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AGtExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AGtExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AGtExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AGtExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_AGtExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AGtExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AGtExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AGtExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_AGtExpr_parser_prod___AGtExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AGtExpr();
   parser_prod___AGtExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AGtExpr___init_agtexpr(val_t p0, val_t p1) {
+val_t NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AGtExpr();
   parser_prod___AGtExpr___init_agtexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AGeExpr[110] = {
-  {(bigint) 3871 /* 0: Identity */},
+const classtable_elt_t VFT_AGeExpr[111] = {
+  {(bigint) 3875 /* 0: Identity */},
   {(bigint) 3 /* 1: AGeExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AGeExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AGeExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AGeExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: AGeExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: AGeExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: AGeExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: AGeExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3871 /* 10: AGeExpr < AGeExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: AGeExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: AGeExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: AGeExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3875 /* 10: AGeExpr < AGeExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -31675,6 +36068,7 @@ const classtable_elt_t VFT_AGeExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: AGeExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -31683,17 +36077,17 @@ const classtable_elt_t VFT_AGeExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: AGeExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: AGeExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: AGeExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: AGeExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: AGeExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: AGeExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -31705,7 +36099,7 @@ const classtable_elt_t VFT_AGeExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: AGeExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: AGeExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -31716,17 +36110,17 @@ const classtable_elt_t VFT_AGeExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: AGeExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: AGeExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___AGeExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: AGeExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: AGeExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___AGeExpr___n_expr2__eq},
   {(bigint) parser_prod___AGeExpr___empty_init},
   {(bigint) parser_prod___AGeExpr___init_ageexpr},
-  {(bigint) 8 /* 109: AGeExpr < AGeExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: AGeExpr < AGeExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AGeExpr::_parent */
@@ -31745,28 +36139,60 @@ val_t NEW_AGeExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_AGeExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AGeExpr___empty_init() {
+val_t NEW_AGeExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AGeExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AGeExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AGeExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AGeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AGeExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_AGeExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AGeExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AGeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AGeExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_AGeExpr_parser_prod___AGeExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AGeExpr();
   parser_prod___AGeExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AGeExpr___init_ageexpr(val_t p0, val_t p1) {
+val_t NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AGeExpr();
   parser_prod___AGeExpr___init_ageexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AIsaExpr[84] = {
-  {(bigint) 3715 /* 0: Identity */},
+const classtable_elt_t VFT_AIsaExpr[85] = {
+  {(bigint) 3719 /* 0: Identity */},
   {(bigint) 3 /* 1: AIsaExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AIsaExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AIsaExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AIsaExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3567 /* 5: AIsaExpr < ABoolExpr: superclass typecheck marker */},
-  {(bigint) 3715 /* 6: AIsaExpr < AIsaExpr: superclass typecheck marker */},
+  {(bigint) 3719 /* 6: AIsaExpr < AIsaExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -31818,6 +36244,7 @@ const classtable_elt_t VFT_AIsaExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AIsaExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AIsaExpr___after_typing},
@@ -31826,20 +36253,20 @@ const classtable_elt_t VFT_AIsaExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AIsaExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AIsaExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AIsaExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AIsaExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AIsaExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 4 /* 76: AIsaExpr < ABoolExpr: superclass init_table position */},
+  {(bigint) 4 /* 77: AIsaExpr < ABoolExpr: superclass init_table position */},
   {(bigint) parser_prod___AIsaExpr___empty_init},
   {(bigint) parser_prod___AIsaExpr___init_aisaexpr},
-  {(bigint) 5 /* 79: AIsaExpr < AIsaExpr: superclass init_table position */},
+  {(bigint) 5 /* 80: AIsaExpr < AIsaExpr: superclass init_table position */},
   {(bigint) parser_nodes___AIsaExpr___n_expr},
   {(bigint) parser_prod___AIsaExpr___n_expr__eq},
   {(bigint) parser_nodes___AIsaExpr___n_type},
@@ -31857,32 +36284,40 @@ val_t NEW_AIsaExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_AIsaExpr;
+  ATTR_parser_nodes___AIsaExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AIsaExpr____n_type(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AIsaExpr___empty_init() {
+val_t NEW_AIsaExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AIsaExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AIsaExpr_parser_prod___AIsaExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AIsaExpr();
   parser_prod___AIsaExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AIsaExpr___init_aisaexpr(val_t p0, val_t p1) {
+val_t NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(val_t p0, val_t p1) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AIsaExpr();
   parser_prod___AIsaExpr___init_aisaexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_APlusExpr[110] = {
-  {(bigint) 3843 /* 0: Identity */},
+const classtable_elt_t VFT_APlusExpr[111] = {
+  {(bigint) 3847 /* 0: Identity */},
   {(bigint) 3 /* 1: APlusExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: APlusExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: APlusExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: APlusExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: APlusExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: APlusExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: APlusExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: APlusExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3843 /* 10: APlusExpr < APlusExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: APlusExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: APlusExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: APlusExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3847 /* 10: APlusExpr < APlusExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -31930,6 +36365,7 @@ const classtable_elt_t VFT_APlusExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: APlusExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -31938,17 +36374,17 @@ const classtable_elt_t VFT_APlusExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: APlusExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: APlusExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: APlusExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: APlusExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: APlusExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: APlusExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -31960,7 +36396,7 @@ const classtable_elt_t VFT_APlusExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: APlusExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: APlusExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -31971,17 +36407,17 @@ const classtable_elt_t VFT_APlusExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: APlusExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: APlusExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___APlusExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: APlusExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: APlusExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___APlusExpr___n_expr2__eq},
   {(bigint) parser_prod___APlusExpr___empty_init},
   {(bigint) parser_prod___APlusExpr___init_aplusexpr},
-  {(bigint) 8 /* 109: APlusExpr < APlusExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: APlusExpr < APlusExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute APlusExpr::_parent */
@@ -32000,32 +36436,64 @@ val_t NEW_APlusExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_APlusExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___APlusExpr___empty_init() {
+val_t NEW_APlusExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_APlusExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_APlusExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_APlusExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_APlusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_APlusExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_APlusExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_APlusExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_APlusExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_APlusExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_APlusExpr_parser_prod___APlusExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_APlusExpr();
   parser_prod___APlusExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___APlusExpr___init_aplusexpr(val_t p0, val_t p1) {
+val_t NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_APlusExpr();
   parser_prod___APlusExpr___init_aplusexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AMinusExpr[110] = {
-  {(bigint) 3855 /* 0: Identity */},
+const classtable_elt_t VFT_AMinusExpr[111] = {
+  {(bigint) 3859 /* 0: Identity */},
   {(bigint) 3 /* 1: AMinusExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AMinusExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AMinusExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AMinusExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: AMinusExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: AMinusExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: AMinusExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: AMinusExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3855 /* 10: AMinusExpr < AMinusExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: AMinusExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: AMinusExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: AMinusExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3859 /* 10: AMinusExpr < AMinusExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -32073,6 +36541,7 @@ const classtable_elt_t VFT_AMinusExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: AMinusExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -32081,17 +36550,17 @@ const classtable_elt_t VFT_AMinusExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: AMinusExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: AMinusExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: AMinusExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: AMinusExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: AMinusExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: AMinusExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -32103,7 +36572,7 @@ const classtable_elt_t VFT_AMinusExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: AMinusExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: AMinusExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -32114,17 +36583,17 @@ const classtable_elt_t VFT_AMinusExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: AMinusExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: AMinusExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___AMinusExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: AMinusExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: AMinusExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___AMinusExpr___n_expr2__eq},
   {(bigint) parser_prod___AMinusExpr___empty_init},
   {(bigint) parser_prod___AMinusExpr___init_aminusexpr},
-  {(bigint) 8 /* 109: AMinusExpr < AMinusExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: AMinusExpr < AMinusExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AMinusExpr::_parent */
@@ -32143,32 +36612,64 @@ val_t NEW_AMinusExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_AMinusExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AMinusExpr___empty_init() {
+val_t NEW_AMinusExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AMinusExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AMinusExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AMinusExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AMinusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AMinusExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_AMinusExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AMinusExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AMinusExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AMinusExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_AMinusExpr_parser_prod___AMinusExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AMinusExpr();
   parser_prod___AMinusExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AMinusExpr___init_aminusexpr(val_t p0, val_t p1) {
+val_t NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AMinusExpr();
   parser_prod___AMinusExpr___init_aminusexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AStarshipExpr[110] = {
-  {(bigint) 3831 /* 0: Identity */},
+const classtable_elt_t VFT_AStarshipExpr[111] = {
+  {(bigint) 3835 /* 0: Identity */},
   {(bigint) 3 /* 1: AStarshipExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AStarshipExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AStarshipExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AStarshipExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: AStarshipExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: AStarshipExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: AStarshipExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: AStarshipExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3831 /* 10: AStarshipExpr < AStarshipExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: AStarshipExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: AStarshipExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: AStarshipExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3835 /* 10: AStarshipExpr < AStarshipExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -32216,6 +36717,7 @@ const classtable_elt_t VFT_AStarshipExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: AStarshipExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -32224,17 +36726,17 @@ const classtable_elt_t VFT_AStarshipExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: AStarshipExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: AStarshipExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: AStarshipExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: AStarshipExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: AStarshipExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: AStarshipExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -32246,7 +36748,7 @@ const classtable_elt_t VFT_AStarshipExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: AStarshipExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: AStarshipExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -32257,17 +36759,17 @@ const classtable_elt_t VFT_AStarshipExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: AStarshipExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: AStarshipExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___AStarshipExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: AStarshipExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: AStarshipExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___AStarshipExpr___n_expr2__eq},
   {(bigint) parser_prod___AStarshipExpr___empty_init},
   {(bigint) parser_prod___AStarshipExpr___init_astarshipexpr},
-  {(bigint) 8 /* 109: AStarshipExpr < AStarshipExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: AStarshipExpr < AStarshipExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AStarshipExpr::_parent */
@@ -32286,32 +36788,64 @@ val_t NEW_AStarshipExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_AStarshipExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AStarshipExpr___empty_init() {
+val_t NEW_AStarshipExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStarshipExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AStarshipExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStarshipExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AStarshipExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStarshipExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_AStarshipExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStarshipExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AStarshipExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStarshipExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_AStarshipExpr_parser_prod___AStarshipExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AStarshipExpr();
   parser_prod___AStarshipExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AStarshipExpr___init_astarshipexpr(val_t p0, val_t p1) {
+val_t NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AStarshipExpr();
   parser_prod___AStarshipExpr___init_astarshipexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AStarExpr[110] = {
-  {(bigint) 3835 /* 0: Identity */},
+const classtable_elt_t VFT_AStarExpr[111] = {
+  {(bigint) 3839 /* 0: Identity */},
   {(bigint) 3 /* 1: AStarExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AStarExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AStarExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AStarExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: AStarExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: AStarExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: AStarExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: AStarExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3835 /* 10: AStarExpr < AStarExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: AStarExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: AStarExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: AStarExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3839 /* 10: AStarExpr < AStarExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -32359,6 +36893,7 @@ const classtable_elt_t VFT_AStarExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: AStarExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -32367,17 +36902,17 @@ const classtable_elt_t VFT_AStarExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: AStarExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: AStarExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: AStarExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: AStarExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: AStarExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: AStarExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -32389,7 +36924,7 @@ const classtable_elt_t VFT_AStarExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: AStarExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: AStarExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -32400,17 +36935,17 @@ const classtable_elt_t VFT_AStarExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: AStarExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: AStarExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___AStarExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: AStarExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: AStarExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___AStarExpr___n_expr2__eq},
   {(bigint) parser_prod___AStarExpr___empty_init},
   {(bigint) parser_prod___AStarExpr___init_astarexpr},
-  {(bigint) 8 /* 109: AStarExpr < AStarExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: AStarExpr < AStarExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AStarExpr::_parent */
@@ -32429,32 +36964,64 @@ val_t NEW_AStarExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_AStarExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AStarExpr___empty_init() {
+val_t NEW_AStarExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStarExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AStarExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStarExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AStarExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStarExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_AStarExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStarExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AStarExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStarExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_AStarExpr_parser_prod___AStarExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AStarExpr();
   parser_prod___AStarExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AStarExpr___init_astarexpr(val_t p0, val_t p1) {
+val_t NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AStarExpr();
   parser_prod___AStarExpr___init_astarexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ASlashExpr[110] = {
-  {(bigint) 3839 /* 0: Identity */},
+const classtable_elt_t VFT_ASlashExpr[111] = {
+  {(bigint) 3843 /* 0: Identity */},
   {(bigint) 3 /* 1: ASlashExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ASlashExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ASlashExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ASlashExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ASlashExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ASlashExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ASlashExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: ASlashExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3839 /* 10: ASlashExpr < ASlashExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ASlashExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ASlashExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: ASlashExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3843 /* 10: ASlashExpr < ASlashExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -32502,6 +37069,7 @@ const classtable_elt_t VFT_ASlashExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ASlashExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -32510,17 +37078,17 @@ const classtable_elt_t VFT_ASlashExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ASlashExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ASlashExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ASlashExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ASlashExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ASlashExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ASlashExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -32532,7 +37100,7 @@ const classtable_elt_t VFT_ASlashExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ASlashExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ASlashExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -32543,17 +37111,17 @@ const classtable_elt_t VFT_ASlashExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ASlashExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ASlashExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ASlashExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: ASlashExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: ASlashExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___ASlashExpr___n_expr2__eq},
   {(bigint) parser_prod___ASlashExpr___empty_init},
   {(bigint) parser_prod___ASlashExpr___init_aslashexpr},
-  {(bigint) 8 /* 109: ASlashExpr < ASlashExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: ASlashExpr < ASlashExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ASlashExpr::_parent */
@@ -32572,32 +37140,64 @@ val_t NEW_ASlashExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_ASlashExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ASlashExpr___empty_init() {
+val_t NEW_ASlashExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ASlashExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ASlashExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ASlashExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ASlashExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ASlashExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_ASlashExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ASlashExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ASlashExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ASlashExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_ASlashExpr_parser_prod___ASlashExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ASlashExpr();
   parser_prod___ASlashExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ASlashExpr___init_aslashexpr(val_t p0, val_t p1) {
+val_t NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ASlashExpr();
   parser_prod___ASlashExpr___init_aslashexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_APercentExpr[110] = {
-  {(bigint) 3847 /* 0: Identity */},
+const classtable_elt_t VFT_APercentExpr[111] = {
+  {(bigint) 3851 /* 0: Identity */},
   {(bigint) 3 /* 1: APercentExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: APercentExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: APercentExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: APercentExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: APercentExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: APercentExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: APercentExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3827 /* 9: APercentExpr < ABinopExpr: superclass typecheck marker */},
-  {(bigint) 3847 /* 10: APercentExpr < APercentExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: APercentExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: APercentExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3831 /* 9: APercentExpr < ABinopExpr: superclass typecheck marker */},
+  {(bigint) 3851 /* 10: APercentExpr < APercentExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -32645,6 +37245,7 @@ const classtable_elt_t VFT_APercentExpr[110] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: APercentExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -32653,17 +37254,17 @@ const classtable_elt_t VFT_APercentExpr[110] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: APercentExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: APercentExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: APercentExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: APercentExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: APercentExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: APercentExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -32675,7 +37276,7 @@ const classtable_elt_t VFT_APercentExpr[110] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: APercentExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: APercentExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -32686,17 +37287,17 @@ const classtable_elt_t VFT_APercentExpr[110] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: APercentExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: APercentExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___APercentExpr___n_expr__eq},
   {(bigint) parser_prod___ABinopExpr___empty_init},
   {(bigint) parser_prod___ABinopExpr___init_abinopexpr},
-  {(bigint) 7 /* 104: APercentExpr < ABinopExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: APercentExpr < ABinopExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABinopExpr___n_expr2},
   {(bigint) parser_prod___APercentExpr___n_expr2__eq},
   {(bigint) parser_prod___APercentExpr___empty_init},
   {(bigint) parser_prod___APercentExpr___init_apercentexpr},
-  {(bigint) 8 /* 109: APercentExpr < APercentExpr: superclass init_table position */},
+  {(bigint) 8 /* 110: APercentExpr < APercentExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute APercentExpr::_parent */
@@ -32715,31 +37316,63 @@ val_t NEW_APercentExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_APercentExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABinopExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___APercentExpr___empty_init() {
+val_t NEW_APercentExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_APercentExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_APercentExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_APercentExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_APercentExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_APercentExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_APercentExpr_parser_prod___ABinopExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_APercentExpr();
+  parser_prod___ABinopExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_APercentExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_APercentExpr();
+  parser_prod___ABinopExpr___init_abinopexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_APercentExpr_parser_prod___APercentExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_APercentExpr();
   parser_prod___APercentExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___APercentExpr___init_apercentexpr(val_t p0, val_t p1) {
+val_t NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_APercentExpr();
   parser_prod___APercentExpr___init_apercentexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AUminusExpr[107] = {
-  {(bigint) 3807 /* 0: Identity */},
+const classtable_elt_t VFT_AUminusExpr[108] = {
+  {(bigint) 3811 /* 0: Identity */},
   {(bigint) 3 /* 1: AUminusExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AUminusExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AUminusExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AUminusExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: AUminusExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: AUminusExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: AUminusExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3807 /* 9: AUminusExpr < AUminusExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: AUminusExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: AUminusExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3811 /* 9: AUminusExpr < AUminusExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -32788,6 +37421,7 @@ const classtable_elt_t VFT_AUminusExpr[107] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: AUminusExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -32796,17 +37430,17 @@ const classtable_elt_t VFT_AUminusExpr[107] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: AUminusExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: AUminusExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: AUminusExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: AUminusExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: AUminusExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: AUminusExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -32818,7 +37452,7 @@ const classtable_elt_t VFT_AUminusExpr[107] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: AUminusExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: AUminusExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -32829,12 +37463,12 @@ const classtable_elt_t VFT_AUminusExpr[107] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: AUminusExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: AUminusExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___AUminusExpr___n_expr__eq},
   {(bigint) parser_prod___AUminusExpr___empty_init},
   {(bigint) parser_prod___AUminusExpr___init_auminusexpr},
-  {(bigint) 7 /* 104: AUminusExpr < AUminusExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: AUminusExpr < AUminusExpr: superclass init_table position */},
   {(bigint) parser_nodes___AUminusExpr___n_minus},
   {(bigint) parser_prod___AUminusExpr___n_minus__eq},
 };
@@ -32855,28 +37489,48 @@ val_t NEW_AUminusExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_AUminusExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AUminusExpr____n_minus(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AUminusExpr___empty_init() {
+val_t NEW_AUminusExpr_parser_nodes___PNode___init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AUminusExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AUminusExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AUminusExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AUminusExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AUminusExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_AUminusExpr_parser_prod___AUminusExpr___empty_init() {
   int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AUminusExpr();
   parser_prod___AUminusExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AUminusExpr___init_auminusexpr(val_t p0, val_t p1) {
+val_t NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr(val_t p0, val_t p1) {
   int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AUminusExpr();
   parser_prod___AUminusExpr___init_auminusexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ANewExpr[105] = {
-  {(bigint) 3707 /* 0: Identity */},
+const classtable_elt_t VFT_ANewExpr[106] = {
+  {(bigint) 3711 /* 0: Identity */},
   {(bigint) 3 /* 1: ANewExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ANewExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ANewExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ANewExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ANewExpr < AAbsSendExpr: superclass typecheck marker */},
-  {(bigint) 3707 /* 6: ANewExpr < ANewExpr: superclass typecheck marker */},
+  {(bigint) 3711 /* 6: ANewExpr < ANewExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -32928,6 +37582,7 @@ const classtable_elt_t VFT_ANewExpr[105] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 2 /* 57: ANewExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ANewExpr___after_typing},
@@ -32936,12 +37591,12 @@ const classtable_elt_t VFT_ANewExpr[105] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 3 /* 66: ANewExpr < Prod: superclass init_table position */},
+  {(bigint) 3 /* 67: ANewExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ANewExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 4 /* 71: ANewExpr < PExpr: superclass init_table position */},
+  {(bigint) 4 /* 72: ANewExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -32958,7 +37613,7 @@ const classtable_elt_t VFT_ANewExpr[105] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 0 /* 88: ANewExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 0 /* 89: ANewExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -32966,7 +37621,7 @@ const classtable_elt_t VFT_ANewExpr[105] = {
   {(bigint) typing___AAbsSendExpr___arguments},
   {(bigint) parser_prod___ANewExpr___empty_init},
   {(bigint) parser_prod___ANewExpr___init_anewexpr},
-  {(bigint) 5 /* 96: ANewExpr < ANewExpr: superclass init_table position */},
+  {(bigint) 5 /* 97: ANewExpr < ANewExpr: superclass init_table position */},
   {(bigint) parser_nodes___ANewExpr___n_kwnew},
   {(bigint) parser_prod___ANewExpr___n_kwnew__eq},
   {(bigint) parser_nodes___ANewExpr___n_type},
@@ -32992,21 +37647,31 @@ val_t NEW_ANewExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 12);
   obj->vft = (classtable_elt_t*)VFT_ANewExpr;
+  ATTR_parser_nodes___ANewExpr____n_kwnew(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ANewExpr____n_type(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ANewExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ANewExpr____n_args(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ANewExpr___empty_init() {
+val_t NEW_ANewExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ANewExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ANewExpr_parser_prod___ANewExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ANewExpr();
   parser_prod___ANewExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ANewExpr___init_anewexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ANewExpr();
   parser_prod___ANewExpr___init_anewexpr(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAttrFormExpr[96] = {
+const classtable_elt_t VFT_AAttrFormExpr[97] = {
   {(bigint) 3583 /* 0: Identity */},
   {(bigint) 3 /* 1: AAttrFormExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAttrFormExpr < PNode: superclass typecheck marker */},
@@ -33065,6 +37730,7 @@ const classtable_elt_t VFT_AAttrFormExpr[96] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAttrFormExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -33073,12 +37739,12 @@ const classtable_elt_t VFT_AAttrFormExpr[96] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAttrFormExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAttrFormExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AAttrFormExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AAttrFormExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -33098,7 +37764,7 @@ const classtable_elt_t VFT_AAttrFormExpr[96] = {
   {(bigint) typing___AAttrFormExpr___prop},
   {(bigint) typing___AAttrFormExpr___attr_type},
   {(bigint) typing___AAttrFormExpr___do_typing},
-  {(bigint) 4 /* 91: AAttrFormExpr < AAttrFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 92: AAttrFormExpr < AAttrFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAttrFormExpr___n_expr},
   {(bigint) parser_nodes___AAttrFormExpr___n_expr__eq},
   {(bigint) parser_nodes___AAttrFormExpr___n_id},
@@ -33123,16 +37789,24 @@ val_t NEW_AAttrFormExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_AAttrFormExpr;
+  ATTR_parser_nodes___AAttrFormExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrFormExpr____n_id(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_AAttrExpr[99] = {
-  {(bigint) 3771 /* 0: Identity */},
+val_t NEW_AAttrFormExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AAttrFormExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_AAttrExpr[100] = {
+  {(bigint) 3775 /* 0: Identity */},
   {(bigint) 3 /* 1: AAttrExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAttrExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AAttrExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AAttrExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3583 /* 5: AAttrExpr < AAttrFormExpr: superclass typecheck marker */},
-  {(bigint) 3771 /* 6: AAttrExpr < AAttrExpr: superclass typecheck marker */},
+  {(bigint) 3775 /* 6: AAttrExpr < AAttrExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -33184,6 +37858,7 @@ const classtable_elt_t VFT_AAttrExpr[99] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAttrExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AAttrExpr___after_typing},
@@ -33192,12 +37867,12 @@ const classtable_elt_t VFT_AAttrExpr[99] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAttrExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAttrExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AAttrExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AAttrExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AAttrExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -33217,14 +37892,14 @@ const classtable_elt_t VFT_AAttrExpr[99] = {
   {(bigint) typing___AAttrFormExpr___prop},
   {(bigint) typing___AAttrFormExpr___attr_type},
   {(bigint) typing___AAttrFormExpr___do_typing},
-  {(bigint) 4 /* 91: AAttrExpr < AAttrFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 92: AAttrExpr < AAttrFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAttrFormExpr___n_expr},
   {(bigint) parser_prod___AAttrExpr___n_expr__eq},
   {(bigint) parser_nodes___AAttrFormExpr___n_id},
   {(bigint) parser_prod___AAttrExpr___n_id__eq},
   {(bigint) parser_prod___AAttrExpr___empty_init},
   {(bigint) parser_prod___AAttrExpr___init_aattrexpr},
-  {(bigint) 5 /* 98: AAttrExpr < AAttrExpr: superclass init_table position */},
+  {(bigint) 5 /* 99: AAttrExpr < AAttrExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAttrExpr::_parent */
@@ -33245,29 +37920,37 @@ val_t NEW_AAttrExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_AAttrExpr;
+  ATTR_parser_nodes___AAttrFormExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrFormExpr____n_id(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AAttrExpr___empty_init() {
+val_t NEW_AAttrExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AAttrExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AAttrExpr_parser_prod___AAttrExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AAttrExpr();
   parser_prod___AAttrExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AAttrExpr___init_aattrexpr(val_t p0, val_t p1) {
+val_t NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(val_t p0, val_t p1) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AAttrExpr();
   parser_prod___AAttrExpr___init_aattrexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAttrAssignExpr[96] = {
-  {(bigint) 3775 /* 0: Identity */},
+const classtable_elt_t VFT_AAttrAssignExpr[97] = {
+  {(bigint) 3779 /* 0: Identity */},
   {(bigint) 3 /* 1: AAttrAssignExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAttrAssignExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AAttrAssignExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AAttrAssignExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3583 /* 5: AAttrAssignExpr < AAttrFormExpr: superclass typecheck marker */},
   {(bigint) 3591 /* 6: AAttrAssignExpr < AAssignFormExpr: superclass typecheck marker */},
-  {(bigint) 3775 /* 7: AAttrAssignExpr < AAttrAssignExpr: superclass typecheck marker */},
+  {(bigint) 3779 /* 7: AAttrAssignExpr < AAttrAssignExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -33318,6 +38001,7 @@ const classtable_elt_t VFT_AAttrAssignExpr[96] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAttrAssignExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AAttrAssignExpr___after_typing},
@@ -33326,22 +38010,22 @@ const classtable_elt_t VFT_AAttrAssignExpr[96] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAttrAssignExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAttrAssignExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AAttrAssignExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AAttrAssignExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AAttrAssignExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___AAttrAssignExpr___empty_init},
   {(bigint) parser_prod___AAttrAssignExpr___init_aattrassignexpr},
-  {(bigint) 6 /* 78: AAttrAssignExpr < AAttrAssignExpr: superclass init_table position */},
+  {(bigint) 6 /* 79: AAttrAssignExpr < AAttrAssignExpr: superclass init_table position */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 5 /* 81: AAttrAssignExpr < AAssignFormExpr: superclass init_table position */},
+  {(bigint) 5 /* 82: AAttrAssignExpr < AAssignFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAssignFormExpr___n_assign},
   {(bigint) parser_prod___AAttrAssignExpr___n_assign__eq},
   {(bigint) parser_nodes___AAssignFormExpr___n_value},
@@ -33351,7 +38035,7 @@ const classtable_elt_t VFT_AAttrAssignExpr[96] = {
   {(bigint) typing___AAttrFormExpr___prop},
   {(bigint) typing___AAttrFormExpr___attr_type},
   {(bigint) typing___AAttrFormExpr___do_typing},
-  {(bigint) 4 /* 91: AAttrAssignExpr < AAttrFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 92: AAttrAssignExpr < AAttrFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAttrFormExpr___n_expr},
   {(bigint) parser_prod___AAttrAssignExpr___n_expr__eq},
   {(bigint) parser_nodes___AAttrFormExpr___n_id},
@@ -33376,32 +38060,42 @@ val_t NEW_AAttrAssignExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_AAttrAssignExpr;
+  ATTR_parser_nodes___AAttrFormExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrFormExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssignFormExpr____n_assign(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssignFormExpr____n_value(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AAttrAssignExpr___empty_init() {
+val_t NEW_AAttrAssignExpr_parser_nodes___PNode___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AAttrAssignExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___empty_init() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AAttrAssignExpr();
   parser_prod___AAttrAssignExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AAttrAssignExpr();
   parser_prod___AAttrAssignExpr___init_aattrassignexpr(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_ACallFormExpr[109] = {
-  {(bigint) 3819 /* 0: Identity */},
+const classtable_elt_t VFT_ACallFormExpr[110] = {
+  {(bigint) 3823 /* 0: Identity */},
   {(bigint) 3 /* 1: ACallFormExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ACallFormExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ACallFormExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ACallFormExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ACallFormExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ACallFormExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ACallFormExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ACallFormExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ACallFormExpr < ASendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3819 /* 10: ACallFormExpr < ACallFormExpr: superclass typecheck marker */},
+  {(bigint) 3823 /* 10: ACallFormExpr < ACallFormExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -33449,6 +38143,7 @@ const classtable_elt_t VFT_ACallFormExpr[109] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ACallFormExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ACallFormExpr___after_typing},
@@ -33457,17 +38152,17 @@ const classtable_elt_t VFT_ACallFormExpr[109] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ACallFormExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ACallFormExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ACallFormExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ACallFormExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ACallFormExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ACallFormExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -33479,7 +38174,7 @@ const classtable_elt_t VFT_ACallFormExpr[109] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ACallFormExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ACallFormExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -33490,12 +38185,12 @@ const classtable_elt_t VFT_ACallFormExpr[109] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ACallFormExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ACallFormExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ASendExpr___n_expr__eq},
   {(bigint) typing___ASendExpr___after_typing},
   {(bigint) typing___ACallFormExpr___variable_create},
-  {(bigint) 7 /* 104: ACallFormExpr < ACallFormExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: ACallFormExpr < ACallFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___ACallFormExpr___n_id},
   {(bigint) parser_nodes___ACallFormExpr___n_id__eq},
   {(bigint) parser_nodes___ACallFormExpr___n_args},
@@ -33520,17 +38215,38 @@ val_t NEW_ACallFormExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_ACallFormExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ACallFormExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ACallFormExpr____n_args(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_AAttrReassignExpr[96] = {
-  {(bigint) 3767 /* 0: Identity */},
+val_t NEW_ACallFormExpr_parser_nodes___PNode___init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallFormExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ACallFormExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallFormExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ACallFormExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallFormExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+const classtable_elt_t VFT_AAttrReassignExpr[97] = {
+  {(bigint) 3771 /* 0: Identity */},
   {(bigint) 3 /* 1: AAttrReassignExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAttrReassignExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AAttrReassignExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AAttrReassignExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3583 /* 5: AAttrReassignExpr < AAttrFormExpr: superclass typecheck marker */},
   {(bigint) 3391 /* 6: AAttrReassignExpr < AReassignFormExpr: superclass typecheck marker */},
-  {(bigint) 3767 /* 7: AAttrReassignExpr < AAttrReassignExpr: superclass typecheck marker */},
+  {(bigint) 3771 /* 7: AAttrReassignExpr < AAttrReassignExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -33581,6 +38297,7 @@ const classtable_elt_t VFT_AAttrReassignExpr[96] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAttrReassignExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AAttrReassignExpr___after_typing},
@@ -33589,24 +38306,24 @@ const classtable_elt_t VFT_AAttrReassignExpr[96] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAttrReassignExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAttrReassignExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AAttrReassignExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AAttrReassignExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AAttrReassignExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___AAttrReassignExpr___empty_init},
   {(bigint) parser_prod___AAttrReassignExpr___init_aattrreassignexpr},
-  {(bigint) 6 /* 78: AAttrReassignExpr < AAttrReassignExpr: superclass init_table position */},
+  {(bigint) 6 /* 79: AAttrReassignExpr < AAttrReassignExpr: superclass init_table position */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) typing___AReassignFormExpr___do_lvalue_typing},
   {(bigint) typing___AReassignFormExpr___assign_method},
-  {(bigint) 5 /* 83: AAttrReassignExpr < AReassignFormExpr: superclass init_table position */},
+  {(bigint) 5 /* 84: AAttrReassignExpr < AReassignFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AReassignFormExpr___n_assign_op},
   {(bigint) parser_prod___AAttrReassignExpr___n_assign_op__eq},
   {(bigint) parser_nodes___AReassignFormExpr___n_value},
@@ -33614,7 +38331,7 @@ const classtable_elt_t VFT_AAttrReassignExpr[96] = {
   {(bigint) typing___AAttrFormExpr___prop},
   {(bigint) typing___AAttrFormExpr___attr_type},
   {(bigint) typing___AAttrFormExpr___do_typing},
-  {(bigint) 4 /* 91: AAttrReassignExpr < AAttrFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 92: AAttrReassignExpr < AAttrFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAttrFormExpr___n_expr},
   {(bigint) parser_prod___AAttrReassignExpr___n_expr__eq},
   {(bigint) parser_nodes___AAttrFormExpr___n_id},
@@ -33639,33 +38356,43 @@ val_t NEW_AAttrReassignExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_AAttrReassignExpr;
+  ATTR_parser_nodes___AAttrFormExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAttrFormExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReassignFormExpr____n_value(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AAttrReassignExpr___empty_init() {
+val_t NEW_AAttrReassignExpr_parser_nodes___PNode___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AAttrReassignExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___empty_init() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AAttrReassignExpr();
   parser_prod___AAttrReassignExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AAttrReassignExpr();
   parser_prod___AAttrReassignExpr___init_aattrreassignexpr(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_ACallExpr[112] = {
-  {(bigint) 3883 /* 0: Identity */},
+const classtable_elt_t VFT_ACallExpr[113] = {
+  {(bigint) 3887 /* 0: Identity */},
   {(bigint) 3 /* 1: ACallExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ACallExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ACallExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ACallExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ACallExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ACallExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ACallExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ACallExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ACallExpr < ASendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3819 /* 10: ACallExpr < ACallFormExpr: superclass typecheck marker */},
-  {(bigint) 3883 /* 11: ACallExpr < ACallExpr: superclass typecheck marker */},
+  {(bigint) 3823 /* 10: ACallExpr < ACallFormExpr: superclass typecheck marker */},
+  {(bigint) 3887 /* 11: ACallExpr < ACallExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
   {(bigint) utils___Object___cmangle_table},
@@ -33712,6 +38439,7 @@ const classtable_elt_t VFT_ACallExpr[112] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ACallExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ACallFormExpr___after_typing},
@@ -33720,17 +38448,17 @@ const classtable_elt_t VFT_ACallExpr[112] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ACallExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ACallExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ACallExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ACallExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ACallExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ACallExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -33742,7 +38470,7 @@ const classtable_elt_t VFT_ACallExpr[112] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ACallExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ACallExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -33753,19 +38481,19 @@ const classtable_elt_t VFT_ACallExpr[112] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ACallExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ACallExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ACallExpr___n_expr__eq},
   {(bigint) typing___ASendExpr___after_typing},
   {(bigint) typing___ACallExpr___variable_create},
-  {(bigint) 7 /* 104: ACallExpr < ACallFormExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: ACallExpr < ACallFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___ACallFormExpr___n_id},
   {(bigint) parser_prod___ACallExpr___n_id__eq},
   {(bigint) parser_nodes___ACallFormExpr___n_args},
   {(bigint) parser_nodes___ACallFormExpr___n_args__eq},
   {(bigint) parser_prod___ACallExpr___empty_init},
   {(bigint) parser_prod___ACallExpr___init_acallexpr},
-  {(bigint) 8 /* 111: ACallExpr < ACallExpr: superclass init_table position */},
+  {(bigint) 8 /* 112: ACallExpr < ACallExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ACallExpr::_parent */
@@ -33786,32 +38514,53 @@ val_t NEW_ACallExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_ACallExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ACallFormExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ACallFormExpr____n_args(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ACallExpr___empty_init() {
+val_t NEW_ACallExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ACallExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ACallExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_ACallExpr_parser_prod___ACallExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ACallExpr();
   parser_prod___ACallExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ACallExpr___init_acallexpr(val_t p0, val_t p1, val_t p2) {
+val_t NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(val_t p0, val_t p1, val_t p2) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ACallExpr();
   parser_prod___ACallExpr___init_acallexpr(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_ACallAssignExpr[109] = {
-  {(bigint) 3887 /* 0: Identity */},
+const classtable_elt_t VFT_ACallAssignExpr[110] = {
+  {(bigint) 3891 /* 0: Identity */},
   {(bigint) 3 /* 1: ACallAssignExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ACallAssignExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ACallAssignExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ACallAssignExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ACallAssignExpr < AAbsSendExpr: superclass typecheck marker */},
   {(bigint) 3591 /* 6: ACallAssignExpr < AAssignFormExpr: superclass typecheck marker */},
-  {(bigint) 3675 /* 7: ACallAssignExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ACallAssignExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3887 /* 9: ACallAssignExpr < ACallAssignExpr: superclass typecheck marker */},
-  {(bigint) 3819 /* 10: ACallAssignExpr < ACallFormExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ACallAssignExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ACallAssignExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3891 /* 9: ACallAssignExpr < ACallAssignExpr: superclass typecheck marker */},
+  {(bigint) 3823 /* 10: ACallAssignExpr < ACallFormExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -33859,6 +38608,7 @@ const classtable_elt_t VFT_ACallAssignExpr[109] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ACallAssignExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ACallFormExpr___after_typing},
@@ -33867,29 +38617,29 @@ const classtable_elt_t VFT_ACallAssignExpr[109] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ACallAssignExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ACallAssignExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ACallAssignExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ACallAssignExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ACallAssignExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ACallAssignExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {(bigint) parser_prod___ACallAssignExpr___empty_init},
   {(bigint) parser_prod___ACallAssignExpr___init_acallassignexpr},
-  {(bigint) 9 /* 80: ACallAssignExpr < ACallAssignExpr: superclass init_table position */},
-  {(bigint) 8 /* 81: ACallAssignExpr < AAssignFormExpr: superclass init_table position */},
+  {(bigint) 9 /* 81: ACallAssignExpr < ACallAssignExpr: superclass init_table position */},
+  {(bigint) 8 /* 82: ACallAssignExpr < AAssignFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAssignFormExpr___n_assign},
   {(bigint) parser_prod___ACallAssignExpr___n_assign__eq},
   {(bigint) parser_nodes___AAssignFormExpr___n_value},
   {(bigint) parser_prod___ACallAssignExpr___n_value__eq},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ACallAssignExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ACallAssignExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -33900,12 +38650,12 @@ const classtable_elt_t VFT_ACallAssignExpr[109] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ACallAssignExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ACallAssignExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ACallAssignExpr___n_expr__eq},
   {(bigint) typing___ASendExpr___after_typing},
   {(bigint) typing___ACallAssignExpr___variable_create},
-  {(bigint) 7 /* 104: ACallAssignExpr < ACallFormExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: ACallAssignExpr < ACallFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___ACallFormExpr___n_id},
   {(bigint) parser_prod___ACallAssignExpr___n_id__eq},
   {(bigint) parser_nodes___ACallFormExpr___n_args},
@@ -33930,33 +38680,56 @@ val_t NEW_ACallAssignExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_ACallAssignExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ACallFormExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ACallFormExpr____n_args(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssignFormExpr____n_assign(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssignFormExpr____n_value(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ACallAssignExpr___empty_init() {
+val_t NEW_ACallAssignExpr_parser_nodes___PNode___init() {
+  int init_table[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallAssignExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ACallAssignExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallAssignExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ACallAssignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallAssignExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___empty_init() {
   int init_table[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ACallAssignExpr();
   parser_prod___ACallAssignExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ACallAssignExpr___init_acallassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
+val_t NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
   int init_table[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ACallAssignExpr();
   parser_prod___ACallAssignExpr___init_acallassignexpr(self, p0, p1, p2, p3, p4, init_table);
   return self;
 }
-const classtable_elt_t VFT_ACallReassignExpr[112] = {
-  {(bigint) 3879 /* 0: Identity */},
+const classtable_elt_t VFT_ACallReassignExpr[113] = {
+  {(bigint) 3883 /* 0: Identity */},
   {(bigint) 3 /* 1: ACallReassignExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ACallReassignExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ACallReassignExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ACallReassignExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ACallReassignExpr < AAbsSendExpr: superclass typecheck marker */},
   {(bigint) 3391 /* 6: ACallReassignExpr < AReassignFormExpr: superclass typecheck marker */},
-  {(bigint) 3675 /* 7: ACallReassignExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ACallReassignExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3811 /* 9: ACallReassignExpr < ASendReassignExpr: superclass typecheck marker */},
-  {(bigint) 3819 /* 10: ACallReassignExpr < ACallFormExpr: superclass typecheck marker */},
-  {(bigint) 3879 /* 11: ACallReassignExpr < ACallReassignExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ACallReassignExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ACallReassignExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3815 /* 9: ACallReassignExpr < ASendReassignExpr: superclass typecheck marker */},
+  {(bigint) 3823 /* 10: ACallReassignExpr < ACallFormExpr: superclass typecheck marker */},
+  {(bigint) 3883 /* 11: ACallReassignExpr < ACallReassignExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
   {(bigint) utils___Object___cmangle_table},
@@ -34003,6 +38776,7 @@ const classtable_elt_t VFT_ACallReassignExpr[112] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 5 /* 57: ACallReassignExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ACallFormExpr___after_typing},
@@ -34011,29 +38785,29 @@ const classtable_elt_t VFT_ACallReassignExpr[112] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 6 /* 66: ACallReassignExpr < Prod: superclass init_table position */},
+  {(bigint) 6 /* 67: ACallReassignExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendReassignExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 7 /* 71: ACallReassignExpr < PExpr: superclass init_table position */},
+  {(bigint) 7 /* 72: ACallReassignExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 1 /* 76: ACallReassignExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 1 /* 77: ACallReassignExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
-  {(bigint) 0 /* 78: ACallReassignExpr < ASendReassignExpr: superclass init_table position */},
+  {(bigint) 0 /* 79: ACallReassignExpr < ASendReassignExpr: superclass init_table position */},
   {(bigint) typing___ASendReassignExpr___read_prop},
   {0} /* Class Hole :( */,
   {(bigint) typing___AReassignFormExpr___do_lvalue_typing},
   {(bigint) typing___AReassignFormExpr___assign_method},
-  {(bigint) 8 /* 83: ACallReassignExpr < AReassignFormExpr: superclass init_table position */},
+  {(bigint) 8 /* 84: ACallReassignExpr < AReassignFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AReassignFormExpr___n_assign_op},
   {(bigint) parser_prod___ACallReassignExpr___n_assign_op__eq},
   {(bigint) parser_nodes___AReassignFormExpr___n_value},
   {(bigint) parser_prod___ACallReassignExpr___n_value__eq},
-  {(bigint) 2 /* 88: ACallReassignExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 2 /* 89: ACallReassignExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -34044,19 +38818,19 @@ const classtable_elt_t VFT_ACallReassignExpr[112] = {
   {(bigint) typing___ASendReassignExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 3 /* 99: ACallReassignExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 3 /* 100: ACallReassignExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ACallReassignExpr___n_expr__eq},
   {(bigint) typing___ASendExpr___after_typing},
   {(bigint) typing___ACallReassignExpr___variable_create},
-  {(bigint) 9 /* 104: ACallReassignExpr < ACallFormExpr: superclass init_table position */},
+  {(bigint) 9 /* 105: ACallReassignExpr < ACallFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___ACallFormExpr___n_id},
   {(bigint) parser_prod___ACallReassignExpr___n_id__eq},
   {(bigint) parser_nodes___ACallFormExpr___n_args},
   {(bigint) parser_nodes___ACallFormExpr___n_args__eq},
   {(bigint) parser_prod___ACallReassignExpr___empty_init},
   {(bigint) parser_prod___ACallReassignExpr___init_acallreassignexpr},
-  {(bigint) 10 /* 111: ACallReassignExpr < ACallReassignExpr: superclass init_table position */},
+  {(bigint) 10 /* 112: ACallReassignExpr < ACallReassignExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ACallReassignExpr::_parent */
@@ -34077,30 +38851,53 @@ val_t NEW_ACallReassignExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_ACallReassignExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ACallFormExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ACallFormExpr____n_args(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReassignFormExpr____n_value(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ACallReassignExpr___empty_init() {
+val_t NEW_ACallReassignExpr_parser_nodes___PNode___init() {
+  int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallReassignExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ACallReassignExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallReassignExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ACallReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACallReassignExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___empty_init() {
   int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ACallReassignExpr();
   parser_prod___ACallReassignExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
+val_t NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4) {
   int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ACallReassignExpr();
   parser_prod___ACallReassignExpr___init_acallreassignexpr(self, p0, p1, p2, p3, p4, init_table);
   return self;
 }
-const classtable_elt_t VFT_ASuperExpr[104] = {
-  {(bigint) 3791 /* 0: Identity */},
+const classtable_elt_t VFT_ASuperExpr[105] = {
+  {(bigint) 3795 /* 0: Identity */},
   {(bigint) 3 /* 1: ASuperExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ASuperExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ASuperExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ASuperExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ASuperExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ASuperExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3791 /* 8: ASuperExpr < ASuperExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ASuperExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3795 /* 8: ASuperExpr < ASuperExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -34150,6 +38947,7 @@ const classtable_elt_t VFT_ASuperExpr[104] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ASuperExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASuperExpr___after_typing},
@@ -34158,17 +38956,17 @@ const classtable_elt_t VFT_ASuperExpr[104] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ASuperExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ASuperExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASuperExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASuperExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ASuperExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ASuperExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ASuperExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ASuperExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -34180,7 +38978,7 @@ const classtable_elt_t VFT_ASuperExpr[104] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ASuperExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ASuperExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -34189,7 +38987,7 @@ const classtable_elt_t VFT_ASuperExpr[104] = {
   {(bigint) typing___ASuperExpr___init_in_superclass},
   {(bigint) parser_prod___ASuperExpr___empty_init},
   {(bigint) parser_prod___ASuperExpr___init_asuperexpr},
-  {(bigint) 6 /* 97: ASuperExpr < ASuperExpr: superclass init_table position */},
+  {(bigint) 6 /* 98: ASuperExpr < ASuperExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASuperExpr___n_qualified},
   {(bigint) parser_prod___ASuperExpr___n_qualified__eq},
   {(bigint) parser_nodes___ASuperExpr___n_kwsuper},
@@ -34213,31 +39011,40 @@ val_t NEW_ASuperExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 12);
   obj->vft = (classtable_elt_t*)VFT_ASuperExpr;
+  ATTR_parser_nodes___ASuperExpr____n_qualified(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ASuperExpr____n_kwsuper(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ASuperExpr____n_args(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ASuperExpr___empty_init() {
+val_t NEW_ASuperExpr_parser_nodes___PNode___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ASuperExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ASuperExpr_parser_prod___ASuperExpr___empty_init() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ASuperExpr();
   parser_prod___ASuperExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ASuperExpr___init_asuperexpr(val_t p0, val_t p1, val_t p2) {
+val_t NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(val_t p0, val_t p1, val_t p2) {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ASuperExpr();
   parser_prod___ASuperExpr___init_asuperexpr(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_AInitExpr[109] = {
-  {(bigint) 3815 /* 0: Identity */},
+const classtable_elt_t VFT_AInitExpr[110] = {
+  {(bigint) 3819 /* 0: Identity */},
   {(bigint) 3 /* 1: AInitExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AInitExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AInitExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AInitExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: AInitExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: AInitExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: AInitExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3815 /* 9: AInitExpr < AInitExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: AInitExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: AInitExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3819 /* 9: AInitExpr < AInitExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -34286,6 +39093,7 @@ const classtable_elt_t VFT_AInitExpr[109] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: AInitExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -34294,17 +39102,17 @@ const classtable_elt_t VFT_AInitExpr[109] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: AInitExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: AInitExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: AInitExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: AInitExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: AInitExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: AInitExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -34316,7 +39124,7 @@ const classtable_elt_t VFT_AInitExpr[109] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: AInitExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: AInitExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -34327,12 +39135,12 @@ const classtable_elt_t VFT_AInitExpr[109] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: AInitExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: AInitExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___AInitExpr___n_expr__eq},
   {(bigint) parser_prod___AInitExpr___empty_init},
   {(bigint) parser_prod___AInitExpr___init_ainitexpr},
-  {(bigint) 7 /* 104: AInitExpr < AInitExpr: superclass init_table position */},
+  {(bigint) 7 /* 105: AInitExpr < AInitExpr: superclass init_table position */},
   {(bigint) parser_nodes___AInitExpr___n_kwinit},
   {(bigint) parser_prod___AInitExpr___n_kwinit__eq},
   {(bigint) parser_nodes___AInitExpr___n_args},
@@ -34356,32 +39164,53 @@ val_t NEW_AInitExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 14);
   obj->vft = (classtable_elt_t*)VFT_AInitExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AInitExpr____n_kwinit(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AInitExpr____n_args(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AInitExpr___empty_init() {
+val_t NEW_AInitExpr_parser_nodes___PNode___init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AInitExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AInitExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AInitExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AInitExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AInitExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_AInitExpr_parser_prod___AInitExpr___empty_init() {
   int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AInitExpr();
   parser_prod___AInitExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AInitExpr___init_ainitexpr(val_t p0, val_t p1, val_t p2) {
+val_t NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(val_t p0, val_t p1, val_t p2) {
   int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AInitExpr();
   parser_prod___AInitExpr___init_ainitexpr(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_ABraFormExpr[105] = {
-  {(bigint) 3823 /* 0: Identity */},
+const classtable_elt_t VFT_ABraFormExpr[106] = {
+  {(bigint) 3827 /* 0: Identity */},
   {(bigint) 3 /* 1: ABraFormExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ABraFormExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ABraFormExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ABraFormExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ABraFormExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ABraFormExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ABraFormExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ABraFormExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ABraFormExpr < ASendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3823 /* 10: ABraFormExpr < ABraFormExpr: superclass typecheck marker */},
+  {(bigint) 3827 /* 10: ABraFormExpr < ABraFormExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -34429,6 +39258,7 @@ const classtable_elt_t VFT_ABraFormExpr[105] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ABraFormExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -34437,17 +39267,17 @@ const classtable_elt_t VFT_ABraFormExpr[105] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ABraFormExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ABraFormExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ABraFormExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ABraFormExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ABraFormExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ABraFormExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -34459,7 +39289,7 @@ const classtable_elt_t VFT_ABraFormExpr[105] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ABraFormExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ABraFormExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -34470,10 +39300,10 @@ const classtable_elt_t VFT_ABraFormExpr[105] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ABraFormExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ABraFormExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ASendExpr___n_expr__eq},
-  {(bigint) 7 /* 102: ABraFormExpr < ABraFormExpr: superclass init_table position */},
+  {(bigint) 7 /* 103: ABraFormExpr < ABraFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABraFormExpr___n_args},
   {(bigint) parser_nodes___ABraFormExpr___n_args__eq},
 };
@@ -34495,21 +39325,41 @@ val_t NEW_ABraFormExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 14);
   obj->vft = (classtable_elt_t*)VFT_ABraFormExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABraFormExpr____n_args(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_ABraExpr[108] = {
-  {(bigint) 3895 /* 0: Identity */},
+val_t NEW_ABraFormExpr_parser_nodes___PNode___init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraFormExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ABraFormExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraFormExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ABraFormExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraFormExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+const classtable_elt_t VFT_ABraExpr[109] = {
+  {(bigint) 3899 /* 0: Identity */},
   {(bigint) 3 /* 1: ABraExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ABraExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ABraExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ABraExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ABraExpr < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ABraExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ABraExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ABraExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ABraExpr < ASendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3823 /* 10: ABraExpr < ABraFormExpr: superclass typecheck marker */},
-  {(bigint) 3895 /* 11: ABraExpr < ABraExpr: superclass typecheck marker */},
+  {(bigint) 3827 /* 10: ABraExpr < ABraFormExpr: superclass typecheck marker */},
+  {(bigint) 3899 /* 11: ABraExpr < ABraExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
   {(bigint) utils___Object___cmangle_table},
@@ -34556,6 +39406,7 @@ const classtable_elt_t VFT_ABraExpr[108] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ABraExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -34564,17 +39415,17 @@ const classtable_elt_t VFT_ABraExpr[108] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ABraExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ABraExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ABraExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ABraExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ABraExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ABraExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -34586,7 +39437,7 @@ const classtable_elt_t VFT_ABraExpr[108] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ABraExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ABraExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -34597,15 +39448,15 @@ const classtable_elt_t VFT_ABraExpr[108] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ABraExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ABraExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ABraExpr___n_expr__eq},
-  {(bigint) 7 /* 102: ABraExpr < ABraFormExpr: superclass init_table position */},
+  {(bigint) 7 /* 103: ABraExpr < ABraFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABraFormExpr___n_args},
   {(bigint) parser_nodes___ABraFormExpr___n_args__eq},
   {(bigint) parser_prod___ABraExpr___empty_init},
   {(bigint) parser_prod___ABraExpr___init_abraexpr},
-  {(bigint) 8 /* 107: ABraExpr < ABraExpr: superclass init_table position */},
+  {(bigint) 8 /* 108: ABraExpr < ABraExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABraExpr::_parent */
@@ -34625,32 +39476,52 @@ val_t NEW_ABraExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 14);
   obj->vft = (classtable_elt_t*)VFT_ABraExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABraFormExpr____n_args(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ABraExpr___empty_init() {
+val_t NEW_ABraExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ABraExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ABraExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_ABraExpr_parser_prod___ABraExpr___empty_init() {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ABraExpr();
   parser_prod___ABraExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ABraExpr___init_abraexpr(val_t p0, val_t p1) {
+val_t NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr(val_t p0, val_t p1) {
   int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ABraExpr();
   parser_prod___ABraExpr___init_abraexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ABraAssignExpr[105] = {
-  {(bigint) 3899 /* 0: Identity */},
+const classtable_elt_t VFT_ABraAssignExpr[106] = {
+  {(bigint) 3903 /* 0: Identity */},
   {(bigint) 3 /* 1: ABraAssignExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ABraAssignExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ABraAssignExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ABraAssignExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ABraAssignExpr < AAbsSendExpr: superclass typecheck marker */},
   {(bigint) 3591 /* 6: ABraAssignExpr < AAssignFormExpr: superclass typecheck marker */},
-  {(bigint) 3675 /* 7: ABraAssignExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ABraAssignExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3899 /* 9: ABraAssignExpr < ABraAssignExpr: superclass typecheck marker */},
-  {(bigint) 3823 /* 10: ABraAssignExpr < ABraFormExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ABraAssignExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ABraAssignExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3903 /* 9: ABraAssignExpr < ABraAssignExpr: superclass typecheck marker */},
+  {(bigint) 3827 /* 10: ABraAssignExpr < ABraFormExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
@@ -34698,6 +39569,7 @@ const classtable_elt_t VFT_ABraAssignExpr[105] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ABraAssignExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -34706,29 +39578,29 @@ const classtable_elt_t VFT_ABraAssignExpr[105] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ABraAssignExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ABraAssignExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ABraAssignExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ABraAssignExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ABraAssignExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ABraAssignExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {(bigint) parser_prod___ABraAssignExpr___empty_init},
   {(bigint) parser_prod___ABraAssignExpr___init_abraassignexpr},
-  {(bigint) 9 /* 80: ABraAssignExpr < ABraAssignExpr: superclass init_table position */},
-  {(bigint) 8 /* 81: ABraAssignExpr < AAssignFormExpr: superclass init_table position */},
+  {(bigint) 9 /* 81: ABraAssignExpr < ABraAssignExpr: superclass init_table position */},
+  {(bigint) 8 /* 82: ABraAssignExpr < AAssignFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAssignFormExpr___n_assign},
   {(bigint) parser_prod___ABraAssignExpr___n_assign__eq},
   {(bigint) parser_nodes___AAssignFormExpr___n_value},
   {(bigint) parser_prod___ABraAssignExpr___n_value__eq},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 1 /* 88: ABraAssignExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ABraAssignExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -34739,10 +39611,10 @@ const classtable_elt_t VFT_ABraAssignExpr[105] = {
   {(bigint) typing___ASendExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ABraAssignExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ABraAssignExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ABraAssignExpr___n_expr__eq},
-  {(bigint) 7 /* 102: ABraAssignExpr < ABraFormExpr: superclass init_table position */},
+  {(bigint) 7 /* 103: ABraAssignExpr < ABraFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABraFormExpr___n_args},
   {(bigint) parser_nodes___ABraFormExpr___n_args__eq},
 };
@@ -34764,21 +39636,43 @@ val_t NEW_ABraAssignExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 14);
   obj->vft = (classtable_elt_t*)VFT_ABraAssignExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABraFormExpr____n_args(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssignFormExpr____n_assign(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssignFormExpr____n_value(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ABraAssignExpr___empty_init() {
+val_t NEW_ABraAssignExpr_parser_nodes___PNode___init() {
+  int init_table[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraAssignExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ABraAssignExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraAssignExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ABraAssignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraAssignExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___empty_init() {
   int init_table[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ABraAssignExpr();
   parser_prod___ABraAssignExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ABraAssignExpr___init_abraassignexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ABraAssignExpr();
   parser_prod___ABraAssignExpr___init_abraassignexpr(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_AVarFormExpr[81] = {
+const classtable_elt_t VFT_AVarFormExpr[82] = {
   {(bigint) 3335 /* 0: Identity */},
   {(bigint) 3 /* 1: AVarFormExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AVarFormExpr < PNode: superclass typecheck marker */},
@@ -34837,6 +39731,7 @@ const classtable_elt_t VFT_AVarFormExpr[81] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AVarFormExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -34845,19 +39740,19 @@ const classtable_elt_t VFT_AVarFormExpr[81] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AVarFormExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AVarFormExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AVarFormExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AVarFormExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) syntax_base___AVarFormExpr___variable},
   {(bigint) syntax_base___AVarFormExpr___variable__eq},
-  {(bigint) 4 /* 78: AVarFormExpr < AVarFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AVarFormExpr < AVarFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AVarFormExpr___n_id},
   {(bigint) parser_nodes___AVarFormExpr___n_id__eq},
 };
@@ -34873,21 +39768,28 @@ val_t NEW_AVarFormExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_AVarFormExpr;
+  ATTR_parser_nodes___AVarFormExpr____n_id(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_ABraReassignExpr[108] = {
-  {(bigint) 3891 /* 0: Identity */},
+val_t NEW_AVarFormExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AVarFormExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_ABraReassignExpr[109] = {
+  {(bigint) 3895 /* 0: Identity */},
   {(bigint) 3 /* 1: ABraReassignExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ABraReassignExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ABraReassignExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ABraReassignExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ABraReassignExpr < AAbsSendExpr: superclass typecheck marker */},
   {(bigint) 3391 /* 6: ABraReassignExpr < AReassignFormExpr: superclass typecheck marker */},
-  {(bigint) 3675 /* 7: ABraReassignExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ABraReassignExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3811 /* 9: ABraReassignExpr < ASendReassignExpr: superclass typecheck marker */},
-  {(bigint) 3823 /* 10: ABraReassignExpr < ABraFormExpr: superclass typecheck marker */},
-  {(bigint) 3891 /* 11: ABraReassignExpr < ABraReassignExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ABraReassignExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ABraReassignExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3815 /* 9: ABraReassignExpr < ASendReassignExpr: superclass typecheck marker */},
+  {(bigint) 3827 /* 10: ABraReassignExpr < ABraFormExpr: superclass typecheck marker */},
+  {(bigint) 3895 /* 11: ABraReassignExpr < ABraReassignExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {(bigint) utils___Object___cmangle},
   {(bigint) utils___Object___cmangle_table},
@@ -34934,6 +39836,7 @@ const classtable_elt_t VFT_ABraReassignExpr[108] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 5 /* 57: ABraReassignExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -34942,29 +39845,29 @@ const classtable_elt_t VFT_ABraReassignExpr[108] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 6 /* 66: ABraReassignExpr < Prod: superclass init_table position */},
+  {(bigint) 6 /* 67: ABraReassignExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendReassignExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 7 /* 71: ABraReassignExpr < PExpr: superclass init_table position */},
+  {(bigint) 7 /* 72: ABraReassignExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 1 /* 76: ABraReassignExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 1 /* 77: ABraReassignExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
-  {(bigint) 0 /* 78: ABraReassignExpr < ASendReassignExpr: superclass init_table position */},
+  {(bigint) 0 /* 79: ABraReassignExpr < ASendReassignExpr: superclass init_table position */},
   {(bigint) typing___ASendReassignExpr___read_prop},
   {0} /* Class Hole :( */,
   {(bigint) typing___AReassignFormExpr___do_lvalue_typing},
   {(bigint) typing___AReassignFormExpr___assign_method},
-  {(bigint) 8 /* 83: ABraReassignExpr < AReassignFormExpr: superclass init_table position */},
+  {(bigint) 8 /* 84: ABraReassignExpr < AReassignFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AReassignFormExpr___n_assign_op},
   {(bigint) parser_prod___ABraReassignExpr___n_assign_op__eq},
   {(bigint) parser_nodes___AReassignFormExpr___n_value},
   {(bigint) parser_prod___ABraReassignExpr___n_value__eq},
-  {(bigint) 2 /* 88: ABraReassignExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 2 /* 89: ABraReassignExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -34975,15 +39878,15 @@ const classtable_elt_t VFT_ABraReassignExpr[108] = {
   {(bigint) typing___ASendReassignExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 3 /* 99: ABraReassignExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 3 /* 100: ABraReassignExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ABraReassignExpr___n_expr__eq},
-  {(bigint) 9 /* 102: ABraReassignExpr < ABraFormExpr: superclass init_table position */},
+  {(bigint) 9 /* 103: ABraReassignExpr < ABraFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___ABraFormExpr___n_args},
   {(bigint) parser_nodes___ABraFormExpr___n_args__eq},
   {(bigint) parser_prod___ABraReassignExpr___empty_init},
   {(bigint) parser_prod___ABraReassignExpr___init_abrareassignexpr},
-  {(bigint) 10 /* 107: ABraReassignExpr < ABraReassignExpr: superclass init_table position */},
+  {(bigint) 10 /* 108: ABraReassignExpr < ABraReassignExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABraReassignExpr::_parent */
@@ -35003,28 +39906,50 @@ val_t NEW_ABraReassignExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 14);
   obj->vft = (classtable_elt_t*)VFT_ABraReassignExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ABraFormExpr____n_args(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReassignFormExpr____n_value(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ABraReassignExpr___empty_init() {
+val_t NEW_ABraReassignExpr_parser_nodes___PNode___init() {
+  int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraReassignExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ABraReassignExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraReassignExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ABraReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ABraReassignExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___empty_init() {
   int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ABraReassignExpr();
   parser_prod___ABraReassignExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_ABraReassignExpr();
   parser_prod___ABraReassignExpr___init_abrareassignexpr(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_AVarExpr[85] = {
-  {(bigint) 3663 /* 0: Identity */},
+const classtable_elt_t VFT_AVarExpr[86] = {
+  {(bigint) 3667 /* 0: Identity */},
   {(bigint) 3 /* 1: AVarExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AVarExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AVarExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AVarExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3335 /* 5: AVarExpr < AVarFormExpr: superclass typecheck marker */},
-  {(bigint) 3663 /* 6: AVarExpr < AVarExpr: superclass typecheck marker */},
+  {(bigint) 3667 /* 6: AVarExpr < AVarExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -35076,6 +40001,7 @@ const classtable_elt_t VFT_AVarExpr[85] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AVarExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AVarExpr___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AVarExpr___after_typing},
@@ -35084,25 +40010,25 @@ const classtable_elt_t VFT_AVarExpr[85] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AVarExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AVarExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AVarExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AVarExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AVarExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___AVarExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) syntax_base___AVarFormExpr___variable},
   {(bigint) syntax_base___AVarFormExpr___variable__eq},
-  {(bigint) 4 /* 78: AVarExpr < AVarFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AVarExpr < AVarFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AVarFormExpr___n_id},
   {(bigint) parser_prod___AVarExpr___n_id__eq},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) parser_prod___AVarExpr___empty_init},
   {(bigint) parser_prod___AVarExpr___init_avarexpr},
-  {(bigint) 5 /* 84: AVarExpr < AVarExpr: superclass init_table position */},
+  {(bigint) 5 /* 85: AVarExpr < AVarExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AVarExpr::_parent */
@@ -35116,29 +40042,36 @@ val_t NEW_AVarExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_AVarExpr;
+  ATTR_parser_nodes___AVarFormExpr____n_id(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AVarExpr___empty_init() {
+val_t NEW_AVarExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AVarExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AVarExpr_parser_prod___AVarExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AVarExpr();
   parser_prod___AVarExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AVarExpr___init_avarexpr(val_t p0) {
+val_t NEW_AVarExpr_parser_prod___AVarExpr___init_avarexpr(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AVarExpr();
   parser_prod___AVarExpr___init_avarexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AVarAssignExpr[90] = {
-  {(bigint) 3667 /* 0: Identity */},
+const classtable_elt_t VFT_AVarAssignExpr[91] = {
+  {(bigint) 3671 /* 0: Identity */},
   {(bigint) 3 /* 1: AVarAssignExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AVarAssignExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AVarAssignExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AVarAssignExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3335 /* 5: AVarAssignExpr < AVarFormExpr: superclass typecheck marker */},
   {(bigint) 3591 /* 6: AVarAssignExpr < AAssignFormExpr: superclass typecheck marker */},
-  {(bigint) 3667 /* 7: AVarAssignExpr < AVarAssignExpr: superclass typecheck marker */},
+  {(bigint) 3671 /* 7: AVarAssignExpr < AVarAssignExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -35189,6 +40122,7 @@ const classtable_elt_t VFT_AVarAssignExpr[90] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AVarAssignExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AVarAssignExpr___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AVarAssignExpr___after_typing},
@@ -35197,22 +40131,22 @@ const classtable_elt_t VFT_AVarAssignExpr[90] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AVarAssignExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AVarAssignExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AVarAssignExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AVarAssignExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AVarAssignExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) syntax_base___AVarFormExpr___variable},
   {(bigint) syntax_base___AVarFormExpr___variable__eq},
-  {(bigint) 4 /* 78: AVarAssignExpr < AVarFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AVarAssignExpr < AVarFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AVarFormExpr___n_id},
   {(bigint) parser_prod___AVarAssignExpr___n_id__eq},
-  {(bigint) 5 /* 81: AVarAssignExpr < AAssignFormExpr: superclass init_table position */},
+  {(bigint) 5 /* 82: AVarAssignExpr < AAssignFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAssignFormExpr___n_assign},
   {(bigint) parser_prod___AVarAssignExpr___n_assign__eq},
   {(bigint) parser_nodes___AAssignFormExpr___n_value},
@@ -35220,7 +40154,7 @@ const classtable_elt_t VFT_AVarAssignExpr[90] = {
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) parser_prod___AVarAssignExpr___empty_init},
   {(bigint) parser_prod___AVarAssignExpr___init_avarassignexpr},
-  {(bigint) 6 /* 89: AVarAssignExpr < AVarAssignExpr: superclass init_table position */},
+  {(bigint) 6 /* 90: AVarAssignExpr < AVarAssignExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AVarAssignExpr::_parent */
@@ -35236,29 +40170,38 @@ val_t NEW_AVarAssignExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_AVarAssignExpr;
+  ATTR_parser_nodes___AVarFormExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssignFormExpr____n_assign(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAssignFormExpr____n_value(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AVarAssignExpr___empty_init() {
+val_t NEW_AVarAssignExpr_parser_nodes___PNode___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AVarAssignExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___empty_init() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AVarAssignExpr();
   parser_prod___AVarAssignExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AVarAssignExpr___init_avarassignexpr(val_t p0, val_t p1, val_t p2) {
+val_t NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___init_avarassignexpr(val_t p0, val_t p1, val_t p2) {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AVarAssignExpr();
   parser_prod___AVarAssignExpr___init_avarassignexpr(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_AVarReassignExpr[92] = {
-  {(bigint) 3659 /* 0: Identity */},
+const classtable_elt_t VFT_AVarReassignExpr[93] = {
+  {(bigint) 3663 /* 0: Identity */},
   {(bigint) 3 /* 1: AVarReassignExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AVarReassignExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AVarReassignExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AVarReassignExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3335 /* 5: AVarReassignExpr < AVarFormExpr: superclass typecheck marker */},
   {(bigint) 3391 /* 6: AVarReassignExpr < AReassignFormExpr: superclass typecheck marker */},
-  {(bigint) 3659 /* 7: AVarReassignExpr < AVarReassignExpr: superclass typecheck marker */},
+  {(bigint) 3663 /* 7: AVarReassignExpr < AVarReassignExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -35309,6 +40252,7 @@ const classtable_elt_t VFT_AVarReassignExpr[92] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AVarReassignExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AVarReassignExpr___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AVarReassignExpr___after_typing},
@@ -35317,24 +40261,24 @@ const classtable_elt_t VFT_AVarReassignExpr[92] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AVarReassignExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AVarReassignExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AVarReassignExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AVarReassignExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AVarReassignExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) syntax_base___AVarFormExpr___variable},
   {(bigint) syntax_base___AVarFormExpr___variable__eq},
-  {(bigint) 4 /* 78: AVarReassignExpr < AVarFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AVarReassignExpr < AVarFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AVarFormExpr___n_id},
   {(bigint) parser_prod___AVarReassignExpr___n_id__eq},
   {(bigint) typing___AReassignFormExpr___do_lvalue_typing},
   {(bigint) typing___AReassignFormExpr___assign_method},
-  {(bigint) 5 /* 83: AVarReassignExpr < AReassignFormExpr: superclass init_table position */},
+  {(bigint) 5 /* 84: AVarReassignExpr < AReassignFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AReassignFormExpr___n_assign_op},
   {(bigint) parser_prod___AVarReassignExpr___n_assign_op__eq},
   {(bigint) parser_nodes___AReassignFormExpr___n_value},
@@ -35342,7 +40286,7 @@ const classtable_elt_t VFT_AVarReassignExpr[92] = {
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) parser_prod___AVarReassignExpr___empty_init},
   {(bigint) parser_prod___AVarReassignExpr___init_avarreassignexpr},
-  {(bigint) 6 /* 91: AVarReassignExpr < AVarReassignExpr: superclass init_table position */},
+  {(bigint) 6 /* 92: AVarReassignExpr < AVarReassignExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AVarReassignExpr::_parent */
@@ -35359,21 +40303,30 @@ val_t NEW_AVarReassignExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 11);
   obj->vft = (classtable_elt_t*)VFT_AVarReassignExpr;
+  ATTR_parser_nodes___AVarFormExpr____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReassignFormExpr____n_value(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AVarReassignExpr___empty_init() {
+val_t NEW_AVarReassignExpr_parser_nodes___PNode___init() {
+  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AVarReassignExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___empty_init() {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AVarReassignExpr();
   parser_prod___AVarReassignExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t p0, val_t p1, val_t p2) {
+val_t NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t p0, val_t p1, val_t p2) {
   int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
   val_t self = NEW_AVarReassignExpr();
   parser_prod___AVarReassignExpr___init_avarreassignexpr(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_ARangeExpr[84] = {
+const classtable_elt_t VFT_ARangeExpr[85] = {
   {(bigint) 3399 /* 0: Identity */},
   {(bigint) 3 /* 1: ARangeExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ARangeExpr < PNode: superclass typecheck marker */},
@@ -35432,6 +40385,7 @@ const classtable_elt_t VFT_ARangeExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ARangeExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ARangeExpr___after_typing},
@@ -35440,12 +40394,12 @@ const classtable_elt_t VFT_ARangeExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ARangeExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ARangeExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ARangeExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ARangeExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ARangeExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -35453,7 +40407,7 @@ const classtable_elt_t VFT_ARangeExpr[84] = {
   {(bigint) compiling_methods___ARangeExpr___propname},
   {(bigint) parser_prod___ARangeExpr___empty_init},
   {(bigint) parser_prod___ARangeExpr___init_arangeexpr},
-  {(bigint) 4 /* 79: ARangeExpr < ARangeExpr: superclass init_table position */},
+  {(bigint) 4 /* 80: ARangeExpr < ARangeExpr: superclass init_table position */},
   {(bigint) parser_nodes___ARangeExpr___n_expr},
   {(bigint) parser_prod___ARangeExpr___n_expr__eq},
   {(bigint) parser_nodes___ARangeExpr___n_expr2},
@@ -35471,28 +40425,36 @@ val_t NEW_ARangeExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_ARangeExpr;
+  ATTR_parser_nodes___ARangeExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ARangeExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ARangeExpr___empty_init() {
+val_t NEW_ARangeExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ARangeExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ARangeExpr_parser_prod___ARangeExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ARangeExpr();
   parser_prod___ARangeExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1) {
+val_t NEW_ARangeExpr_parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ARangeExpr();
   parser_prod___ARangeExpr___init_arangeexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ACrangeExpr[87] = {
-  {(bigint) 3751 /* 0: Identity */},
+const classtable_elt_t VFT_ACrangeExpr[88] = {
+  {(bigint) 3755 /* 0: Identity */},
   {(bigint) 3 /* 1: ACrangeExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ACrangeExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ACrangeExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ACrangeExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3399 /* 5: ACrangeExpr < ARangeExpr: superclass typecheck marker */},
-  {(bigint) 3751 /* 6: ACrangeExpr < ACrangeExpr: superclass typecheck marker */},
+  {(bigint) 3755 /* 6: ACrangeExpr < ACrangeExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -35544,6 +40506,7 @@ const classtable_elt_t VFT_ACrangeExpr[87] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ACrangeExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ARangeExpr___after_typing},
@@ -35552,12 +40515,12 @@ const classtable_elt_t VFT_ACrangeExpr[87] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ACrangeExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ACrangeExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ARangeExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ACrangeExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ACrangeExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -35565,14 +40528,14 @@ const classtable_elt_t VFT_ACrangeExpr[87] = {
   {(bigint) compiling_methods___ACrangeExpr___propname},
   {(bigint) parser_prod___ARangeExpr___empty_init},
   {(bigint) parser_prod___ARangeExpr___init_arangeexpr},
-  {(bigint) 4 /* 79: ACrangeExpr < ARangeExpr: superclass init_table position */},
+  {(bigint) 4 /* 80: ACrangeExpr < ARangeExpr: superclass init_table position */},
   {(bigint) parser_nodes___ARangeExpr___n_expr},
   {(bigint) parser_prod___ACrangeExpr___n_expr__eq},
   {(bigint) parser_nodes___ARangeExpr___n_expr2},
   {(bigint) parser_prod___ACrangeExpr___n_expr2__eq},
   {(bigint) parser_prod___ACrangeExpr___empty_init},
   {(bigint) parser_prod___ACrangeExpr___init_acrangeexpr},
-  {(bigint) 5 /* 86: ACrangeExpr < ACrangeExpr: superclass init_table position */},
+  {(bigint) 5 /* 87: ACrangeExpr < ACrangeExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ACrangeExpr::_parent */
@@ -35586,28 +40549,48 @@ val_t NEW_ACrangeExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_ACrangeExpr;
+  ATTR_parser_nodes___ARangeExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ARangeExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ACrangeExpr___empty_init() {
+val_t NEW_ACrangeExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACrangeExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ACrangeExpr_parser_prod___ARangeExpr___empty_init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACrangeExpr();
+  parser_prod___ARangeExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ACrangeExpr_parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ACrangeExpr();
+  parser_prod___ARangeExpr___init_arangeexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_ACrangeExpr_parser_prod___ACrangeExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ACrangeExpr();
   parser_prod___ACrangeExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ACrangeExpr___init_acrangeexpr(val_t p0, val_t p1) {
+val_t NEW_ACrangeExpr_parser_prod___ACrangeExpr___init_acrangeexpr(val_t p0, val_t p1) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ACrangeExpr();
   parser_prod___ACrangeExpr___init_acrangeexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AOrangeExpr[87] = {
-  {(bigint) 3691 /* 0: Identity */},
+const classtable_elt_t VFT_AOrangeExpr[88] = {
+  {(bigint) 3695 /* 0: Identity */},
   {(bigint) 3 /* 1: AOrangeExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AOrangeExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AOrangeExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AOrangeExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3399 /* 5: AOrangeExpr < ARangeExpr: superclass typecheck marker */},
-  {(bigint) 3691 /* 6: AOrangeExpr < AOrangeExpr: superclass typecheck marker */},
+  {(bigint) 3695 /* 6: AOrangeExpr < AOrangeExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -35659,6 +40642,7 @@ const classtable_elt_t VFT_AOrangeExpr[87] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AOrangeExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ARangeExpr___after_typing},
@@ -35667,12 +40651,12 @@ const classtable_elt_t VFT_AOrangeExpr[87] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AOrangeExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AOrangeExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ARangeExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AOrangeExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AOrangeExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -35680,14 +40664,14 @@ const classtable_elt_t VFT_AOrangeExpr[87] = {
   {(bigint) compiling_methods___AOrangeExpr___propname},
   {(bigint) parser_prod___ARangeExpr___empty_init},
   {(bigint) parser_prod___ARangeExpr___init_arangeexpr},
-  {(bigint) 4 /* 79: AOrangeExpr < ARangeExpr: superclass init_table position */},
+  {(bigint) 4 /* 80: AOrangeExpr < ARangeExpr: superclass init_table position */},
   {(bigint) parser_nodes___ARangeExpr___n_expr},
   {(bigint) parser_prod___AOrangeExpr___n_expr__eq},
   {(bigint) parser_nodes___ARangeExpr___n_expr2},
   {(bigint) parser_prod___AOrangeExpr___n_expr2__eq},
   {(bigint) parser_prod___AOrangeExpr___empty_init},
   {(bigint) parser_prod___AOrangeExpr___init_aorangeexpr},
-  {(bigint) 5 /* 86: AOrangeExpr < AOrangeExpr: superclass init_table position */},
+  {(bigint) 5 /* 87: AOrangeExpr < AOrangeExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AOrangeExpr::_parent */
@@ -35701,21 +40685,41 @@ val_t NEW_AOrangeExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_AOrangeExpr;
+  ATTR_parser_nodes___ARangeExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___ARangeExpr____n_expr2(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AOrangeExpr___empty_init() {
+val_t NEW_AOrangeExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AOrangeExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AOrangeExpr_parser_prod___ARangeExpr___empty_init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AOrangeExpr();
+  parser_prod___ARangeExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AOrangeExpr_parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AOrangeExpr();
+  parser_prod___ARangeExpr___init_arangeexpr(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_AOrangeExpr_parser_prod___AOrangeExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AOrangeExpr();
   parser_prod___AOrangeExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AOrangeExpr___init_aorangeexpr(val_t p0, val_t p1) {
+val_t NEW_AOrangeExpr_parser_prod___AOrangeExpr___init_aorangeexpr(val_t p0, val_t p1) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AOrangeExpr();
   parser_prod___AOrangeExpr___init_aorangeexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AArrayExpr[82] = {
+const classtable_elt_t VFT_AArrayExpr[83] = {
   {(bigint) 3603 /* 0: Identity */},
   {(bigint) 3 /* 1: AArrayExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AArrayExpr < PNode: superclass typecheck marker */},
@@ -35774,6 +40778,7 @@ const classtable_elt_t VFT_AArrayExpr[82] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AArrayExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AArrayExpr___after_typing},
@@ -35782,12 +40787,12 @@ const classtable_elt_t VFT_AArrayExpr[82] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AArrayExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AArrayExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AArrayExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AArrayExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AArrayExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -35795,7 +40800,7 @@ const classtable_elt_t VFT_AArrayExpr[82] = {
   {(bigint) typing___AArrayExpr___stype__eq},
   {(bigint) parser_prod___AArrayExpr___empty_init},
   {(bigint) parser_prod___AArrayExpr___init_aarrayexpr},
-  {(bigint) 4 /* 79: AArrayExpr < AArrayExpr: superclass init_table position */},
+  {(bigint) 4 /* 80: AArrayExpr < AArrayExpr: superclass init_table position */},
   {(bigint) parser_nodes___AArrayExpr___n_exprs},
   {(bigint) parser_nodes___AArrayExpr___n_exprs__eq},
 };
@@ -35810,21 +40815,28 @@ val_t NEW_AArrayExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AArrayExpr;
+  ATTR_parser_nodes___AArrayExpr____n_exprs(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AArrayExpr___empty_init() {
+val_t NEW_AArrayExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AArrayExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AArrayExpr_parser_prod___AArrayExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AArrayExpr();
   parser_prod___AArrayExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AArrayExpr___init_aarrayexpr(val_t p0) {
+val_t NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AArrayExpr();
   parser_prod___AArrayExpr___init_aarrayexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ASelfExpr[81] = {
+const classtable_elt_t VFT_ASelfExpr[82] = {
   {(bigint) 3383 /* 0: Identity */},
   {(bigint) 3 /* 1: ASelfExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ASelfExpr < PNode: superclass typecheck marker */},
@@ -35883,6 +40895,7 @@ const classtable_elt_t VFT_ASelfExpr[81] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ASelfExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASelfExpr___after_typing},
@@ -35891,19 +40904,19 @@ const classtable_elt_t VFT_ASelfExpr[81] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ASelfExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ASelfExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASelfExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ASelfExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ASelfExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___ASelfExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___ASelfExpr___empty_init},
   {(bigint) parser_prod___ASelfExpr___init_aselfexpr},
-  {(bigint) 4 /* 78: ASelfExpr < ASelfExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: ASelfExpr < ASelfExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASelfExpr___n_kwself},
   {(bigint) parser_prod___ASelfExpr___n_kwself__eq},
 };
@@ -35918,28 +40931,35 @@ val_t NEW_ASelfExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ASelfExpr;
+  ATTR_parser_nodes___ASelfExpr____n_kwself(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ASelfExpr___empty_init() {
+val_t NEW_ASelfExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ASelfExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ASelfExpr_parser_prod___ASelfExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ASelfExpr();
   parser_prod___ASelfExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ASelfExpr___init_aselfexpr(val_t p0) {
+val_t NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ASelfExpr();
   parser_prod___ASelfExpr___init_aselfexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AImplicitSelfExpr[84] = {
-  {(bigint) 3723 /* 0: Identity */},
+const classtable_elt_t VFT_AImplicitSelfExpr[85] = {
+  {(bigint) 3727 /* 0: Identity */},
   {(bigint) 3 /* 1: AImplicitSelfExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AImplicitSelfExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AImplicitSelfExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AImplicitSelfExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3383 /* 5: AImplicitSelfExpr < ASelfExpr: superclass typecheck marker */},
-  {(bigint) 3723 /* 6: AImplicitSelfExpr < AImplicitSelfExpr: superclass typecheck marker */},
+  {(bigint) 3727 /* 6: AImplicitSelfExpr < AImplicitSelfExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -35991,6 +41011,7 @@ const classtable_elt_t VFT_AImplicitSelfExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AImplicitSelfExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASelfExpr___after_typing},
@@ -35999,24 +41020,24 @@ const classtable_elt_t VFT_AImplicitSelfExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AImplicitSelfExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AImplicitSelfExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASelfExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AImplicitSelfExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AImplicitSelfExpr < PExpr: superclass init_table position */},
   {(bigint) typing___AImplicitSelfExpr___is_implicit_self},
   {(bigint) typing___ASelfExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___ASelfExpr___empty_init},
   {(bigint) parser_prod___ASelfExpr___init_aselfexpr},
-  {(bigint) 4 /* 78: AImplicitSelfExpr < ASelfExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AImplicitSelfExpr < ASelfExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASelfExpr___n_kwself},
   {(bigint) parser_prod___ASelfExpr___n_kwself__eq},
   {(bigint) parser_prod___AImplicitSelfExpr___empty_init},
   {(bigint) parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr},
-  {(bigint) 5 /* 83: AImplicitSelfExpr < AImplicitSelfExpr: superclass init_table position */},
+  {(bigint) 5 /* 84: AImplicitSelfExpr < AImplicitSelfExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AImplicitSelfExpr::_parent */
@@ -36029,28 +41050,47 @@ val_t NEW_AImplicitSelfExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AImplicitSelfExpr;
+  ATTR_parser_nodes___ASelfExpr____n_kwself(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AImplicitSelfExpr___empty_init() {
+val_t NEW_AImplicitSelfExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AImplicitSelfExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AImplicitSelfExpr_parser_prod___ASelfExpr___empty_init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AImplicitSelfExpr();
+  parser_prod___ASelfExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_AImplicitSelfExpr_parser_prod___ASelfExpr___init_aselfexpr(val_t p0) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AImplicitSelfExpr();
+  parser_prod___ASelfExpr___init_aselfexpr(self, p0, init_table);
+  return self;
+}
+val_t NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AImplicitSelfExpr();
   parser_prod___AImplicitSelfExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() {
+val_t NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AImplicitSelfExpr();
   parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ATrueExpr[82] = {
-  {(bigint) 3671 /* 0: Identity */},
+const classtable_elt_t VFT_ATrueExpr[83] = {
+  {(bigint) 3675 /* 0: Identity */},
   {(bigint) 3 /* 1: ATrueExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ATrueExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ATrueExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ATrueExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3567 /* 5: ATrueExpr < ABoolExpr: superclass typecheck marker */},
-  {(bigint) 3671 /* 6: ATrueExpr < ATrueExpr: superclass typecheck marker */},
+  {(bigint) 3675 /* 6: ATrueExpr < ATrueExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -36102,6 +41142,7 @@ const classtable_elt_t VFT_ATrueExpr[82] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ATrueExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ABoolExpr___after_typing},
@@ -36110,20 +41151,20 @@ const classtable_elt_t VFT_ATrueExpr[82] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ATrueExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ATrueExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ATrueExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ATrueExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ATrueExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 4 /* 76: ATrueExpr < ABoolExpr: superclass init_table position */},
+  {(bigint) 4 /* 77: ATrueExpr < ABoolExpr: superclass init_table position */},
   {(bigint) parser_prod___ATrueExpr___empty_init},
   {(bigint) parser_prod___ATrueExpr___init_atrueexpr},
-  {(bigint) 5 /* 79: ATrueExpr < ATrueExpr: superclass init_table position */},
+  {(bigint) 5 /* 80: ATrueExpr < ATrueExpr: superclass init_table position */},
   {(bigint) parser_nodes___ATrueExpr___n_kwtrue},
   {(bigint) parser_prod___ATrueExpr___n_kwtrue__eq},
 };
@@ -36138,28 +41179,35 @@ val_t NEW_ATrueExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ATrueExpr;
+  ATTR_parser_nodes___ATrueExpr____n_kwtrue(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ATrueExpr___empty_init() {
+val_t NEW_ATrueExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ATrueExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ATrueExpr_parser_prod___ATrueExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ATrueExpr();
   parser_prod___ATrueExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ATrueExpr___init_atrueexpr(val_t p0) {
+val_t NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_ATrueExpr();
   parser_prod___ATrueExpr___init_atrueexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AFalseExpr[82] = {
-  {(bigint) 3731 /* 0: Identity */},
+const classtable_elt_t VFT_AFalseExpr[83] = {
+  {(bigint) 3735 /* 0: Identity */},
   {(bigint) 3 /* 1: AFalseExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AFalseExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AFalseExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AFalseExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3567 /* 5: AFalseExpr < ABoolExpr: superclass typecheck marker */},
-  {(bigint) 3731 /* 6: AFalseExpr < AFalseExpr: superclass typecheck marker */},
+  {(bigint) 3735 /* 6: AFalseExpr < AFalseExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -36211,6 +41259,7 @@ const classtable_elt_t VFT_AFalseExpr[82] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AFalseExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ABoolExpr___after_typing},
@@ -36219,20 +41268,20 @@ const classtable_elt_t VFT_AFalseExpr[82] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AFalseExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AFalseExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AFalseExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AFalseExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AFalseExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 4 /* 76: AFalseExpr < ABoolExpr: superclass init_table position */},
+  {(bigint) 4 /* 77: AFalseExpr < ABoolExpr: superclass init_table position */},
   {(bigint) parser_prod___AFalseExpr___empty_init},
   {(bigint) parser_prod___AFalseExpr___init_afalseexpr},
-  {(bigint) 5 /* 79: AFalseExpr < AFalseExpr: superclass init_table position */},
+  {(bigint) 5 /* 80: AFalseExpr < AFalseExpr: superclass init_table position */},
   {(bigint) parser_nodes___AFalseExpr___n_kwfalse},
   {(bigint) parser_prod___AFalseExpr___n_kwfalse__eq},
 };
@@ -36247,21 +41296,28 @@ val_t NEW_AFalseExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AFalseExpr;
+  ATTR_parser_nodes___AFalseExpr____n_kwfalse(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AFalseExpr___empty_init() {
+val_t NEW_AFalseExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AFalseExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AFalseExpr_parser_prod___AFalseExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AFalseExpr();
   parser_prod___AFalseExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AFalseExpr___init_afalseexpr(val_t p0) {
+val_t NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AFalseExpr();
   parser_prod___AFalseExpr___init_afalseexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ANullExpr[81] = {
+const classtable_elt_t VFT_ANullExpr[82] = {
   {(bigint) 3443 /* 0: Identity */},
   {(bigint) 3 /* 1: ANullExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ANullExpr < PNode: superclass typecheck marker */},
@@ -36320,6 +41376,7 @@ const classtable_elt_t VFT_ANullExpr[81] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ANullExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ANullExpr___after_typing},
@@ -36328,19 +41385,19 @@ const classtable_elt_t VFT_ANullExpr[81] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ANullExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ANullExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ANullExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ANullExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ANullExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___ANullExpr___empty_init},
   {(bigint) parser_prod___ANullExpr___init_anullexpr},
-  {(bigint) 4 /* 78: ANullExpr < ANullExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: ANullExpr < ANullExpr: superclass init_table position */},
   {(bigint) parser_nodes___ANullExpr___n_kwnull},
   {(bigint) parser_prod___ANullExpr___n_kwnull__eq},
 };
@@ -36355,21 +41412,28 @@ val_t NEW_ANullExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ANullExpr;
+  ATTR_parser_nodes___ANullExpr____n_kwnull(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ANullExpr___empty_init() {
+val_t NEW_ANullExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ANullExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ANullExpr_parser_prod___ANullExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ANullExpr();
   parser_prod___ANullExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ANullExpr___init_anullexpr(val_t p0) {
+val_t NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ANullExpr();
   parser_prod___ANullExpr___init_anullexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AIntExpr[81] = {
+const classtable_elt_t VFT_AIntExpr[82] = {
   {(bigint) 3491 /* 0: Identity */},
   {(bigint) 3 /* 1: AIntExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AIntExpr < PNode: superclass typecheck marker */},
@@ -36428,6 +41492,7 @@ const classtable_elt_t VFT_AIntExpr[81] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AIntExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AIntExpr___after_typing},
@@ -36436,19 +41501,19 @@ const classtable_elt_t VFT_AIntExpr[81] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AIntExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AIntExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AIntExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AIntExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AIntExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___AIntExpr___empty_init},
   {(bigint) parser_prod___AIntExpr___init_aintexpr},
-  {(bigint) 4 /* 78: AIntExpr < AIntExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AIntExpr < AIntExpr: superclass init_table position */},
   {(bigint) parser_nodes___AIntExpr___n_number},
   {(bigint) parser_prod___AIntExpr___n_number__eq},
 };
@@ -36463,21 +41528,28 @@ val_t NEW_AIntExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AIntExpr;
+  ATTR_parser_nodes___AIntExpr____n_number(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AIntExpr___empty_init() {
+val_t NEW_AIntExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AIntExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AIntExpr_parser_prod___AIntExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AIntExpr();
   parser_prod___AIntExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AIntExpr___init_aintexpr(val_t p0) {
+val_t NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AIntExpr();
   parser_prod___AIntExpr___init_aintexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AFloatExpr[81] = {
+const classtable_elt_t VFT_AFloatExpr[82] = {
   {(bigint) 3527 /* 0: Identity */},
   {(bigint) 3 /* 1: AFloatExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AFloatExpr < PNode: superclass typecheck marker */},
@@ -36536,6 +41608,7 @@ const classtable_elt_t VFT_AFloatExpr[81] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AFloatExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AFloatExpr___after_typing},
@@ -36544,19 +41617,19 @@ const classtable_elt_t VFT_AFloatExpr[81] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AFloatExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AFloatExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AFloatExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AFloatExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AFloatExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___AFloatExpr___empty_init},
   {(bigint) parser_prod___AFloatExpr___init_afloatexpr},
-  {(bigint) 4 /* 78: AFloatExpr < AFloatExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AFloatExpr < AFloatExpr: superclass init_table position */},
   {(bigint) parser_nodes___AFloatExpr___n_float},
   {(bigint) parser_prod___AFloatExpr___n_float__eq},
 };
@@ -36571,21 +41644,28 @@ val_t NEW_AFloatExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AFloatExpr;
+  ATTR_parser_nodes___AFloatExpr____n_float(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AFloatExpr___empty_init() {
+val_t NEW_AFloatExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AFloatExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AFloatExpr_parser_prod___AFloatExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AFloatExpr();
   parser_prod___AFloatExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AFloatExpr___init_afloatexpr(val_t p0) {
+val_t NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AFloatExpr();
   parser_prod___AFloatExpr___init_afloatexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ACharExpr[81] = {
+const classtable_elt_t VFT_ACharExpr[82] = {
   {(bigint) 3555 /* 0: Identity */},
   {(bigint) 3 /* 1: ACharExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ACharExpr < PNode: superclass typecheck marker */},
@@ -36644,6 +41724,7 @@ const classtable_elt_t VFT_ACharExpr[81] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ACharExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ACharExpr___after_typing},
@@ -36652,19 +41733,19 @@ const classtable_elt_t VFT_ACharExpr[81] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ACharExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ACharExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ACharExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ACharExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ACharExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___ACharExpr___empty_init},
   {(bigint) parser_prod___ACharExpr___init_acharexpr},
-  {(bigint) 4 /* 78: ACharExpr < ACharExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: ACharExpr < ACharExpr: superclass init_table position */},
   {(bigint) parser_nodes___ACharExpr___n_char},
   {(bigint) parser_prod___ACharExpr___n_char__eq},
 };
@@ -36679,21 +41760,28 @@ val_t NEW_ACharExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ACharExpr;
+  ATTR_parser_nodes___ACharExpr____n_char(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ACharExpr___empty_init() {
+val_t NEW_ACharExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ACharExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ACharExpr_parser_prod___ACharExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ACharExpr();
   parser_prod___ACharExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ACharExpr___init_acharexpr(val_t p0) {
+val_t NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ACharExpr();
   parser_prod___ACharExpr___init_acharexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AStringFormExpr[79] = {
+const classtable_elt_t VFT_AStringFormExpr[80] = {
   {(bigint) 3363 /* 0: Identity */},
   {(bigint) 3 /* 1: AStringFormExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AStringFormExpr < PNode: superclass typecheck marker */},
@@ -36752,6 +41840,7 @@ const classtable_elt_t VFT_AStringFormExpr[79] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AStringFormExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AStringFormExpr___after_typing},
@@ -36760,19 +41849,19 @@ const classtable_elt_t VFT_AStringFormExpr[79] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AStringFormExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AStringFormExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AStringFormExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AStringFormExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AStringFormExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) compiling_methods___AStringFormExpr___string_text},
   {(bigint) compiling_methods___AStringFormExpr___compute_string_info},
-  {(bigint) 4 /* 78: AStringFormExpr < AStringFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AStringFormExpr < AStringFormExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AStringFormExpr::_parent */
@@ -36789,14 +41878,20 @@ val_t NEW_AStringFormExpr(void) {
   ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_AStringExpr[84] = {
-  {(bigint) 3679 /* 0: Identity */},
+val_t NEW_AStringFormExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AStringFormExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_AStringExpr[85] = {
+  {(bigint) 3683 /* 0: Identity */},
   {(bigint) 3 /* 1: AStringExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AStringExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AStringExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AStringExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3363 /* 5: AStringExpr < AStringFormExpr: superclass typecheck marker */},
-  {(bigint) 3679 /* 6: AStringExpr < AStringExpr: superclass typecheck marker */},
+  {(bigint) 3683 /* 6: AStringExpr < AStringExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -36848,6 +41943,7 @@ const classtable_elt_t VFT_AStringExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AStringExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AStringFormExpr___after_typing},
@@ -36856,22 +41952,22 @@ const classtable_elt_t VFT_AStringExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AStringExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AStringExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AStringFormExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AStringExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AStringExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) compiling_methods___AStringExpr___string_text},
   {(bigint) compiling_methods___AStringFormExpr___compute_string_info},
-  {(bigint) 4 /* 78: AStringExpr < AStringFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AStringExpr < AStringFormExpr: superclass init_table position */},
   {(bigint) parser_prod___AStringExpr___empty_init},
   {(bigint) parser_prod___AStringExpr___init_astringexpr},
-  {(bigint) 5 /* 81: AStringExpr < AStringExpr: superclass init_table position */},
+  {(bigint) 5 /* 82: AStringExpr < AStringExpr: superclass init_table position */},
   {(bigint) parser_nodes___AStringExpr___n_string},
   {(bigint) parser_prod___AStringExpr___n_string__eq},
 };
@@ -36888,29 +41984,36 @@ val_t NEW_AStringExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AStringExpr;
+  ATTR_parser_nodes___AStringExpr____n_string(obj) =  NIT_NULL /*null*/;
   ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AStringExpr___empty_init() {
+val_t NEW_AStringExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStringExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AStringExpr_parser_prod___AStringExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AStringExpr();
   parser_prod___AStringExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AStringExpr___init_astringexpr(val_t p0) {
+val_t NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AStringExpr();
   parser_prod___AStringExpr___init_astringexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AStartStringExpr[84] = {
-  {(bigint) 3683 /* 0: Identity */},
+const classtable_elt_t VFT_AStartStringExpr[85] = {
+  {(bigint) 3687 /* 0: Identity */},
   {(bigint) 3 /* 1: AStartStringExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AStartStringExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AStartStringExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AStartStringExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3363 /* 5: AStartStringExpr < AStringFormExpr: superclass typecheck marker */},
-  {(bigint) 3683 /* 6: AStartStringExpr < AStartStringExpr: superclass typecheck marker */},
+  {(bigint) 3687 /* 6: AStartStringExpr < AStartStringExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -36962,6 +42065,7 @@ const classtable_elt_t VFT_AStartStringExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AStartStringExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AStringFormExpr___after_typing},
@@ -36970,22 +42074,22 @@ const classtable_elt_t VFT_AStartStringExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AStartStringExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AStartStringExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AStringFormExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AStartStringExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AStartStringExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) compiling_methods___AStartStringExpr___string_text},
   {(bigint) compiling_methods___AStringFormExpr___compute_string_info},
-  {(bigint) 4 /* 78: AStartStringExpr < AStringFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AStartStringExpr < AStringFormExpr: superclass init_table position */},
   {(bigint) parser_prod___AStartStringExpr___empty_init},
   {(bigint) parser_prod___AStartStringExpr___init_astartstringexpr},
-  {(bigint) 5 /* 81: AStartStringExpr < AStartStringExpr: superclass init_table position */},
+  {(bigint) 5 /* 82: AStartStringExpr < AStartStringExpr: superclass init_table position */},
   {(bigint) parser_nodes___AStartStringExpr___n_string},
   {(bigint) parser_prod___AStartStringExpr___n_string__eq},
 };
@@ -37002,29 +42106,36 @@ val_t NEW_AStartStringExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AStartStringExpr;
+  ATTR_parser_nodes___AStartStringExpr____n_string(obj) =  NIT_NULL /*null*/;
   ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AStartStringExpr___empty_init() {
+val_t NEW_AStartStringExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AStartStringExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AStartStringExpr_parser_prod___AStartStringExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AStartStringExpr();
   parser_prod___AStartStringExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AStartStringExpr___init_astartstringexpr(val_t p0) {
+val_t NEW_AStartStringExpr_parser_prod___AStartStringExpr___init_astartstringexpr(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AStartStringExpr();
   parser_prod___AStartStringExpr___init_astartstringexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AMidStringExpr[84] = {
-  {(bigint) 3711 /* 0: Identity */},
+const classtable_elt_t VFT_AMidStringExpr[85] = {
+  {(bigint) 3715 /* 0: Identity */},
   {(bigint) 3 /* 1: AMidStringExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AMidStringExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AMidStringExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AMidStringExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3363 /* 5: AMidStringExpr < AStringFormExpr: superclass typecheck marker */},
-  {(bigint) 3711 /* 6: AMidStringExpr < AMidStringExpr: superclass typecheck marker */},
+  {(bigint) 3715 /* 6: AMidStringExpr < AMidStringExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -37076,6 +42187,7 @@ const classtable_elt_t VFT_AMidStringExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AMidStringExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AStringFormExpr___after_typing},
@@ -37084,22 +42196,22 @@ const classtable_elt_t VFT_AMidStringExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AMidStringExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AMidStringExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AStringFormExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AMidStringExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AMidStringExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) compiling_methods___AMidStringExpr___string_text},
   {(bigint) compiling_methods___AStringFormExpr___compute_string_info},
-  {(bigint) 4 /* 78: AMidStringExpr < AStringFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AMidStringExpr < AStringFormExpr: superclass init_table position */},
   {(bigint) parser_prod___AMidStringExpr___empty_init},
   {(bigint) parser_prod___AMidStringExpr___init_amidstringexpr},
-  {(bigint) 5 /* 81: AMidStringExpr < AMidStringExpr: superclass init_table position */},
+  {(bigint) 5 /* 82: AMidStringExpr < AMidStringExpr: superclass init_table position */},
   {(bigint) parser_nodes___AMidStringExpr___n_string},
   {(bigint) parser_prod___AMidStringExpr___n_string__eq},
 };
@@ -37116,29 +42228,36 @@ val_t NEW_AMidStringExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AMidStringExpr;
+  ATTR_parser_nodes___AMidStringExpr____n_string(obj) =  NIT_NULL /*null*/;
   ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AMidStringExpr___empty_init() {
+val_t NEW_AMidStringExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AMidStringExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AMidStringExpr_parser_prod___AMidStringExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AMidStringExpr();
   parser_prod___AMidStringExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AMidStringExpr___init_amidstringexpr(val_t p0) {
+val_t NEW_AMidStringExpr_parser_prod___AMidStringExpr___init_amidstringexpr(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AMidStringExpr();
   parser_prod___AMidStringExpr___init_amidstringexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AEndStringExpr[84] = {
-  {(bigint) 3739 /* 0: Identity */},
+const classtable_elt_t VFT_AEndStringExpr[85] = {
+  {(bigint) 3743 /* 0: Identity */},
   {(bigint) 3 /* 1: AEndStringExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AEndStringExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AEndStringExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AEndStringExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3363 /* 5: AEndStringExpr < AStringFormExpr: superclass typecheck marker */},
-  {(bigint) 3739 /* 6: AEndStringExpr < AEndStringExpr: superclass typecheck marker */},
+  {(bigint) 3743 /* 6: AEndStringExpr < AEndStringExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -37190,6 +42309,7 @@ const classtable_elt_t VFT_AEndStringExpr[84] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AEndStringExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AStringFormExpr___after_typing},
@@ -37198,22 +42318,22 @@ const classtable_elt_t VFT_AEndStringExpr[84] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AEndStringExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AEndStringExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AStringFormExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AEndStringExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AEndStringExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) compiling_methods___AEndStringExpr___string_text},
   {(bigint) compiling_methods___AStringFormExpr___compute_string_info},
-  {(bigint) 4 /* 78: AEndStringExpr < AStringFormExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AEndStringExpr < AStringFormExpr: superclass init_table position */},
   {(bigint) parser_prod___AEndStringExpr___empty_init},
   {(bigint) parser_prod___AEndStringExpr___init_aendstringexpr},
-  {(bigint) 5 /* 81: AEndStringExpr < AEndStringExpr: superclass init_table position */},
+  {(bigint) 5 /* 82: AEndStringExpr < AEndStringExpr: superclass init_table position */},
   {(bigint) parser_nodes___AEndStringExpr___n_string},
   {(bigint) parser_prod___AEndStringExpr___n_string__eq},
 };
@@ -37230,22 +42350,29 @@ val_t NEW_AEndStringExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AEndStringExpr;
+  ATTR_parser_nodes___AEndStringExpr____n_string(obj) =  NIT_NULL /*null*/;
   ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AEndStringExpr___empty_init() {
+val_t NEW_AEndStringExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AEndStringExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AEndStringExpr_parser_prod___AEndStringExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AEndStringExpr();
   parser_prod___AEndStringExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AEndStringExpr___init_aendstringexpr(val_t p0) {
+val_t NEW_AEndStringExpr_parser_prod___AEndStringExpr___init_aendstringexpr(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AEndStringExpr();
   parser_prod___AEndStringExpr___init_aendstringexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ASuperstringExpr[81] = {
+const classtable_elt_t VFT_ASuperstringExpr[82] = {
   {(bigint) 3355 /* 0: Identity */},
   {(bigint) 3 /* 1: ASuperstringExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ASuperstringExpr < PNode: superclass typecheck marker */},
@@ -37304,6 +42431,7 @@ const classtable_elt_t VFT_ASuperstringExpr[81] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ASuperstringExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASuperstringExpr___after_typing},
@@ -37312,19 +42440,19 @@ const classtable_elt_t VFT_ASuperstringExpr[81] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ASuperstringExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ASuperstringExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASuperstringExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ASuperstringExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ASuperstringExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___ASuperstringExpr___empty_init},
   {(bigint) parser_prod___ASuperstringExpr___init_asuperstringexpr},
-  {(bigint) 4 /* 78: ASuperstringExpr < ASuperstringExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: ASuperstringExpr < ASuperstringExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASuperstringExpr___n_exprs},
   {(bigint) parser_nodes___ASuperstringExpr___n_exprs__eq},
 };
@@ -37339,28 +42467,35 @@ val_t NEW_ASuperstringExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ASuperstringExpr;
+  ATTR_parser_nodes___ASuperstringExpr____n_exprs(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ASuperstringExpr___empty_init() {
+val_t NEW_ASuperstringExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ASuperstringExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ASuperstringExpr();
   parser_prod___ASuperstringExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t p0) {
+val_t NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ASuperstringExpr();
   parser_prod___ASuperstringExpr___init_asuperstringexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AParExpr[82] = {
-  {(bigint) 3687 /* 0: Identity */},
+const classtable_elt_t VFT_AParExpr[83] = {
+  {(bigint) 3691 /* 0: Identity */},
   {(bigint) 3 /* 1: AParExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AParExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: AParExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: AParExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3411 /* 5: AParExpr < AProxyExpr: superclass typecheck marker */},
-  {(bigint) 3687 /* 6: AParExpr < AParExpr: superclass typecheck marker */},
+  {(bigint) 3691 /* 6: AParExpr < AParExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -37412,6 +42547,7 @@ const classtable_elt_t VFT_AParExpr[82] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 2 /* 57: AParExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AProxyExpr___after_typing},
@@ -37420,22 +42556,22 @@ const classtable_elt_t VFT_AParExpr[82] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 3 /* 66: AParExpr < Prod: superclass init_table position */},
+  {(bigint) 3 /* 67: AParExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AProxyExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 4 /* 71: AParExpr < PExpr: superclass init_table position */},
+  {(bigint) 4 /* 72: AParExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: AParExpr < AProxyExpr: superclass init_table position */},
+  {(bigint) 0 /* 77: AParExpr < AProxyExpr: superclass init_table position */},
   {(bigint) parser_nodes___AProxyExpr___n_expr},
   {(bigint) parser_prod___AParExpr___n_expr__eq},
   {(bigint) parser_prod___AParExpr___empty_init},
   {(bigint) parser_prod___AParExpr___init_aparexpr},
-  {(bigint) 5 /* 81: AParExpr < AParExpr: superclass init_table position */},
+  {(bigint) 5 /* 82: AParExpr < AParExpr: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AParExpr::_parent */
@@ -37448,21 +42584,28 @@ val_t NEW_AParExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AParExpr;
+  ATTR_parser_nodes___AProxyExpr____n_expr(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AParExpr___empty_init() {
+val_t NEW_AParExpr_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_AParExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AParExpr_parser_prod___AParExpr___empty_init() {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AParExpr();
   parser_prod___AParExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AParExpr___init_aparexpr(val_t p0) {
+val_t NEW_AParExpr_parser_prod___AParExpr___init_aparexpr(val_t p0) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_AParExpr();
   parser_prod___AParExpr___init_aparexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AProxyExpr[79] = {
+const classtable_elt_t VFT_AProxyExpr[80] = {
   {(bigint) 3411 /* 0: Identity */},
   {(bigint) 3 /* 1: AProxyExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AProxyExpr < PNode: superclass typecheck marker */},
@@ -37521,6 +42664,7 @@ const classtable_elt_t VFT_AProxyExpr[79] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AProxyExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AProxyExpr___after_typing},
@@ -37529,17 +42673,17 @@ const classtable_elt_t VFT_AProxyExpr[79] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AProxyExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AProxyExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AProxyExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AProxyExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AProxyExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 4 /* 76: AProxyExpr < AProxyExpr: superclass init_table position */},
+  {(bigint) 4 /* 77: AProxyExpr < AProxyExpr: superclass init_table position */},
   {(bigint) parser_nodes___AProxyExpr___n_expr},
   {(bigint) parser_nodes___AProxyExpr___n_expr__eq},
 };
@@ -37554,9 +42698,16 @@ val_t NEW_AProxyExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_AProxyExpr;
+  ATTR_parser_nodes___AProxyExpr____n_expr(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_AAsCastExpr[85] = {
+val_t NEW_AProxyExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AProxyExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_AAsCastExpr[86] = {
   {(bigint) 3599 /* 0: Identity */},
   {(bigint) 3 /* 1: AAsCastExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAsCastExpr < PNode: superclass typecheck marker */},
@@ -37615,6 +42766,7 @@ const classtable_elt_t VFT_AAsCastExpr[85] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAsCastExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___AAsCastExpr___after_typing},
@@ -37623,19 +42775,19 @@ const classtable_elt_t VFT_AAsCastExpr[85] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAsCastExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAsCastExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___AAsCastExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AAsCastExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AAsCastExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) parser_prod___AAsCastExpr___empty_init},
   {(bigint) parser_prod___AAsCastExpr___init_aascastexpr},
-  {(bigint) 4 /* 78: AAsCastExpr < AAsCastExpr: superclass init_table position */},
+  {(bigint) 4 /* 79: AAsCastExpr < AAsCastExpr: superclass init_table position */},
   {(bigint) parser_nodes___AAsCastExpr___n_expr},
   {(bigint) parser_prod___AAsCastExpr___n_expr__eq},
   {(bigint) parser_nodes___AAsCastExpr___n_kwas},
@@ -37656,21 +42808,30 @@ val_t NEW_AAsCastExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AAsCastExpr;
+  ATTR_parser_nodes___AAsCastExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAsCastExpr____n_kwas(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AAsCastExpr____n_type(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AAsCastExpr___empty_init() {
+val_t NEW_AAsCastExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AAsCastExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AAsCastExpr_parser_prod___AAsCastExpr___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAsCastExpr();
   parser_prod___AAsCastExpr___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AAsCastExpr___init_aascastexpr(val_t p0, val_t p1, val_t p2) {
+val_t NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(val_t p0, val_t p1, val_t p2) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AAsCastExpr();
   parser_prod___AAsCastExpr___init_aascastexpr(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_APlusAssignOp[74] = {
+const classtable_elt_t VFT_APlusAssignOp[75] = {
   {(bigint) 3427 /* 0: Identity */},
   {(bigint) 3 /* 1: APlusAssignOp < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: APlusAssignOp < PNode: superclass typecheck marker */},
@@ -37729,6 +42890,7 @@ const classtable_elt_t VFT_APlusAssignOp[74] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: APlusAssignOp < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -37737,12 +42899,12 @@ const classtable_elt_t VFT_APlusAssignOp[74] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: APlusAssignOp < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: APlusAssignOp < Prod: superclass init_table position */},
   {(bigint) typing___APlusAssignOp___method_name},
-  {(bigint) 3 /* 68: APlusAssignOp < PAssignOp: superclass init_table position */},
+  {(bigint) 3 /* 69: APlusAssignOp < PAssignOp: superclass init_table position */},
   {(bigint) parser_prod___APlusAssignOp___empty_init},
   {(bigint) parser_prod___APlusAssignOp___init_aplusassignop},
-  {(bigint) 4 /* 71: APlusAssignOp < APlusAssignOp: superclass init_table position */},
+  {(bigint) 4 /* 72: APlusAssignOp < APlusAssignOp: superclass init_table position */},
   {(bigint) parser_nodes___APlusAssignOp___n_pluseq},
   {(bigint) parser_prod___APlusAssignOp___n_pluseq__eq},
 };
@@ -37755,21 +42917,28 @@ val_t NEW_APlusAssignOp(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_APlusAssignOp;
+  ATTR_parser_nodes___APlusAssignOp____n_pluseq(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___APlusAssignOp___empty_init() {
+val_t NEW_APlusAssignOp_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_APlusAssignOp();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_APlusAssignOp_parser_prod___APlusAssignOp___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APlusAssignOp();
   parser_prod___APlusAssignOp___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___APlusAssignOp___init_aplusassignop(val_t p0) {
+val_t NEW_APlusAssignOp_parser_prod___APlusAssignOp___init_aplusassignop(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_APlusAssignOp();
   parser_prod___APlusAssignOp___init_aplusassignop(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AMinusAssignOp[74] = {
+const classtable_elt_t VFT_AMinusAssignOp[75] = {
   {(bigint) 3463 /* 0: Identity */},
   {(bigint) 3 /* 1: AMinusAssignOp < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AMinusAssignOp < PNode: superclass typecheck marker */},
@@ -37828,6 +42997,7 @@ const classtable_elt_t VFT_AMinusAssignOp[74] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AMinusAssignOp < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -37836,12 +43006,12 @@ const classtable_elt_t VFT_AMinusAssignOp[74] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AMinusAssignOp < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AMinusAssignOp < Prod: superclass init_table position */},
   {(bigint) typing___AMinusAssignOp___method_name},
-  {(bigint) 3 /* 68: AMinusAssignOp < PAssignOp: superclass init_table position */},
+  {(bigint) 3 /* 69: AMinusAssignOp < PAssignOp: superclass init_table position */},
   {(bigint) parser_prod___AMinusAssignOp___empty_init},
   {(bigint) parser_prod___AMinusAssignOp___init_aminusassignop},
-  {(bigint) 4 /* 71: AMinusAssignOp < AMinusAssignOp: superclass init_table position */},
+  {(bigint) 4 /* 72: AMinusAssignOp < AMinusAssignOp: superclass init_table position */},
   {(bigint) parser_nodes___AMinusAssignOp___n_minuseq},
   {(bigint) parser_prod___AMinusAssignOp___n_minuseq__eq},
 };
@@ -37854,21 +43024,28 @@ val_t NEW_AMinusAssignOp(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_AMinusAssignOp;
+  ATTR_parser_nodes___AMinusAssignOp____n_minuseq(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AMinusAssignOp___empty_init() {
+val_t NEW_AMinusAssignOp_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AMinusAssignOp();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AMinusAssignOp();
   parser_prod___AMinusAssignOp___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AMinusAssignOp___init_aminusassignop(val_t p0) {
+val_t NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___init_aminusassignop(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AMinusAssignOp();
   parser_prod___AMinusAssignOp___init_aminusassignop(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AQualified[75] = {
+const classtable_elt_t VFT_AQualified[76] = {
   {(bigint) 3403 /* 0: Identity */},
   {(bigint) 3 /* 1: AQualified < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AQualified < PNode: superclass typecheck marker */},
@@ -37927,6 +43104,7 @@ const classtable_elt_t VFT_AQualified[75] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AQualified < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -37935,11 +43113,11 @@ const classtable_elt_t VFT_AQualified[75] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AQualified < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: AQualified < PQualified: superclass init_table position */},
+  {(bigint) 2 /* 67: AQualified < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: AQualified < PQualified: superclass init_table position */},
   {(bigint) parser_prod___AQualified___empty_init},
   {(bigint) parser_prod___AQualified___init_aqualified},
-  {(bigint) 4 /* 70: AQualified < AQualified: superclass init_table position */},
+  {(bigint) 4 /* 71: AQualified < AQualified: superclass init_table position */},
   {(bigint) parser_nodes___AQualified___n_id},
   {(bigint) parser_nodes___AQualified___n_id__eq},
   {(bigint) parser_nodes___AQualified___n_classid},
@@ -37955,21 +43133,29 @@ val_t NEW_AQualified(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_AQualified;
+  ATTR_parser_nodes___AQualified____n_id(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AQualified____n_classid(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___AQualified___empty_init() {
+val_t NEW_AQualified_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AQualified();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_AQualified_parser_prod___AQualified___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AQualified();
   parser_prod___AQualified___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___AQualified___init_aqualified(val_t p0, val_t p1) {
+val_t NEW_AQualified_parser_prod___AQualified___init_aqualified(val_t p0, val_t p1) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_AQualified();
   parser_prod___AQualified___init_aqualified(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ADoc[73] = {
+const classtable_elt_t VFT_ADoc[74] = {
   {(bigint) 3535 /* 0: Identity */},
   {(bigint) 3 /* 1: ADoc < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ADoc < PNode: superclass typecheck marker */},
@@ -38028,6 +43214,7 @@ const classtable_elt_t VFT_ADoc[73] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ADoc < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -38036,11 +43223,11 @@ const classtable_elt_t VFT_ADoc[73] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ADoc < Prod: superclass init_table position */},
-  {(bigint) 3 /* 67: ADoc < PDoc: superclass init_table position */},
+  {(bigint) 2 /* 67: ADoc < Prod: superclass init_table position */},
+  {(bigint) 3 /* 68: ADoc < PDoc: superclass init_table position */},
   {(bigint) parser_prod___ADoc___empty_init},
   {(bigint) parser_prod___ADoc___init_adoc},
-  {(bigint) 4 /* 70: ADoc < ADoc: superclass init_table position */},
+  {(bigint) 4 /* 71: ADoc < ADoc: superclass init_table position */},
   {(bigint) parser_nodes___ADoc___n_comment},
   {(bigint) parser_nodes___ADoc___n_comment__eq},
 };
@@ -38053,21 +43240,28 @@ val_t NEW_ADoc(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_ADoc;
+  ATTR_parser_nodes___ADoc____n_comment(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___ADoc___empty_init() {
+val_t NEW_ADoc_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ADoc();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ADoc_parser_prod___ADoc___empty_init() {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ADoc();
   parser_prod___ADoc___empty_init(self, init_table);
   return self;
 }
-val_t NEW_parser_prod___ADoc___init_adoc(val_t p0) {
+val_t NEW_ADoc_parser_prod___ADoc___init_adoc(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_ADoc();
   parser_prod___ADoc___init_adoc(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_Start[73] = {
+const classtable_elt_t VFT_Start[74] = {
   {(bigint) 3031 /* 0: Identity */},
   {(bigint) 3 /* 1: Start < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: Start < PNode: superclass typecheck marker */},
@@ -38126,6 +43320,7 @@ const classtable_elt_t VFT_Start[73] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: Start < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -38134,9 +43329,9 @@ const classtable_elt_t VFT_Start[73] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: Start < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: Start < Prod: superclass init_table position */},
   {(bigint) parser_prod___Start___init},
-  {(bigint) 3 /* 68: Start < Start: superclass init_table position */},
+  {(bigint) 3 /* 69: Start < Start: superclass init_table position */},
   {(bigint) parser_nodes___Start___n_base},
   {(bigint) parser_nodes___Start___n_base__eq},
   {(bigint) parser_nodes___Start___n_eof},
@@ -38154,7 +43349,13 @@ val_t NEW_Start(void) {
   obj->vft = (classtable_elt_t*)VFT_Start;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser_prod___Start___init(val_t p0, val_t p1) {
+val_t NEW_Start_parser_nodes___PNode___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_Start();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_Start_parser_prod___Start___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_Start();
   parser_prod___Start___init(self, p0, p1, init_table);
@@ -38240,13 +43441,13 @@ val_t NEW_Lexer(void) {
   ATTR_lexer___Lexer____eof(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_lexer___Lexer___init(val_t p0, val_t p1) {
+val_t NEW_Lexer_lexer___Lexer___init(val_t p0, val_t p1) {
   int init_table[2] = {0, 0};
   val_t self = NEW_Lexer();
   lexer___Lexer___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_Visitor[42] = {
+const classtable_elt_t VFT_Visitor[43] = {
   {(bigint) 7 /* 0: Identity */},
   {(bigint) 3 /* 1: Visitor < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: Visitor < Visitor: superclass typecheck marker */},
@@ -38289,6 +43490,7 @@ const classtable_elt_t VFT_Visitor[42] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: Visitor < Visitor: superclass init_table position */},
   {(bigint) parser_prod___Visitor___visit},
+  {(bigint) parser_prod___Visitor___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_Visitor(void) {
@@ -38297,7 +43499,13 @@ val_t NEW_Visitor(void) {
   obj->vft = (classtable_elt_t*)VFT_Visitor;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_ParserTable[1210] = {
+val_t NEW_Visitor_parser_prod___Visitor___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_Visitor();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_ParserTable[1211] = {
   {(bigint) 59 /* 0: Identity */},
   {(bigint) 3 /* 1: ParserTable < Object: superclass typecheck marker */},
   {(bigint) 59 /* 2: ParserTable < ParserTable: superclass typecheck marker */},
@@ -39508,6 +44716,7 @@ const classtable_elt_t VFT_ParserTable[1210] = {
   {(bigint) parser_tables___ParserTable___build_goto_table},
   {(bigint) parser_tables___ParserTable___error_messages},
   {(bigint) parser_tables___ParserTable___errors},
+  {(bigint) parser_tables___ParserTable___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ParserTable::_action_table */
@@ -39520,6 +44729,12 @@ val_t NEW_ParserTable(void) {
   ATTR_parser_tables___ParserTable____goto_table(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
+val_t NEW_ParserTable_parser_tables___ParserTable___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_ParserTable();
+  parser_tables___ParserTable___init(self, init_table);
+  return self;
+}
 const classtable_elt_t VFT_State[46] = {
   {(bigint) 35 /* 0: Identity */},
   {(bigint) 3 /* 1: State < Object: superclass typecheck marker */},
@@ -39578,13 +44793,13 @@ val_t NEW_State(void) {
   ATTR_parser___State____state(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___State___init(val_t p0, val_t p1) {
+val_t NEW_State_parser___State___init(val_t p0, val_t p1) {
   int init_table[2] = {0, 0};
   val_t self = NEW_State();
   parser___State___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_Parser[1218] = {
+const classtable_elt_t VFT_Parser[1219] = {
   {(bigint) 2519 /* 0: Identity */},
   {(bigint) 3 /* 1: Parser < Object: superclass typecheck marker */},
   {(bigint) 59 /* 2: Parser < ParserTable: superclass typecheck marker */},
@@ -40795,7 +46010,8 @@ const classtable_elt_t VFT_Parser[1218] = {
   {(bigint) parser_tables___ParserTable___build_goto_table},
   {(bigint) parser_tables___ParserTable___error_messages},
   {(bigint) parser_tables___ParserTable___errors},
-  {(bigint) 2 /* 1210: Parser < Parser: superclass init_table position */},
+  {(bigint) parser_tables___ParserTable___init},
+  {(bigint) 2 /* 1211: Parser < Parser: superclass init_table position */},
   {(bigint) parser___Parser___init},
   {(bigint) parser___Parser___go_to},
   {(bigint) parser___Parser___push},
@@ -40820,13 +46036,19 @@ val_t NEW_Parser(void) {
   ATTR_parser___Parser____stack_pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___Parser___init(val_t p0) {
+val_t NEW_Parser_parser_tables___ParserTable___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_Parser();
+  parser_tables___ParserTable___init(self, init_table);
+  return self;
+}
+val_t NEW_Parser_parser___Parser___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_Parser();
   parser___Parser___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_SearchTokensVisitor[44] = {
+const classtable_elt_t VFT_SearchTokensVisitor[45] = {
   {(bigint) 207 /* 0: Identity */},
   {(bigint) 3 /* 1: SearchTokensVisitor < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: SearchTokensVisitor < Visitor: superclass typecheck marker */},
@@ -40869,7 +46091,8 @@ const classtable_elt_t VFT_SearchTokensVisitor[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: SearchTokensVisitor < Visitor: superclass init_table position */},
   {(bigint) parser___SearchTokensVisitor___visit},
-  {(bigint) 2 /* 42: SearchTokensVisitor < SearchTokensVisitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___init},
+  {(bigint) 2 /* 43: SearchTokensVisitor < SearchTokensVisitor: superclass init_table position */},
   {(bigint) parser___SearchTokensVisitor___init},
 };
 /* 0: Pointer to the classtable */
@@ -40881,13 +46104,19 @@ val_t NEW_SearchTokensVisitor(void) {
   obj->vft = (classtable_elt_t*)VFT_SearchTokensVisitor;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___SearchTokensVisitor___init() {
+val_t NEW_SearchTokensVisitor_parser_prod___Visitor___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_SearchTokensVisitor();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+val_t NEW_SearchTokensVisitor_parser___SearchTokensVisitor___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_SearchTokensVisitor();
   parser___SearchTokensVisitor___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction[42] = {
+const classtable_elt_t VFT_ReduceAction[43] = {
   {(bigint) 39 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction < ReduceAction: superclass typecheck marker */},
@@ -40930,6 +46159,7 @@ const classtable_elt_t VFT_ReduceAction[42] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction___action},
+  {(bigint) parser___ReduceAction___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction(void) {
@@ -40938,7 +46168,13 @@ val_t NEW_ReduceAction(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_ReduceAction0[44] = {
+val_t NEW_ReduceAction_parser___ReduceAction___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_ReduceAction();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_ReduceAction0[45] = {
   {(bigint) 2503 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction0 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction0 < ReduceAction: superclass typecheck marker */},
@@ -40981,7 +46217,8 @@ const classtable_elt_t VFT_ReduceAction0[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction0 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction0___action},
-  {(bigint) 2 /* 42: ReduceAction0 < ReduceAction0: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction0 < ReduceAction0: superclass init_table position */},
   {(bigint) parser___ReduceAction0___init},
 };
 /* 0: Pointer to the classtable */
@@ -40991,13 +46228,19 @@ val_t NEW_ReduceAction0(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction0;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction0___init() {
+val_t NEW_ReduceAction0_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction0();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction0_parser___ReduceAction0___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction0();
   parser___ReduceAction0___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction1[44] = {
+const classtable_elt_t VFT_ReduceAction1[45] = {
   {(bigint) 2499 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction1 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction1 < ReduceAction: superclass typecheck marker */},
@@ -41040,7 +46283,8 @@ const classtable_elt_t VFT_ReduceAction1[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction1 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction1___action},
-  {(bigint) 2 /* 42: ReduceAction1 < ReduceAction1: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction1 < ReduceAction1: superclass init_table position */},
   {(bigint) parser___ReduceAction1___init},
 };
 /* 0: Pointer to the classtable */
@@ -41050,13 +46294,19 @@ val_t NEW_ReduceAction1(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction1;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction1___init() {
+val_t NEW_ReduceAction1_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction1();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction1_parser___ReduceAction1___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction1();
   parser___ReduceAction1___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction2[44] = {
+const classtable_elt_t VFT_ReduceAction2[45] = {
   {(bigint) 2055 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction2 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction2 < ReduceAction: superclass typecheck marker */},
@@ -41099,7 +46349,8 @@ const classtable_elt_t VFT_ReduceAction2[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction2 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction2___action},
-  {(bigint) 2 /* 42: ReduceAction2 < ReduceAction2: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction2 < ReduceAction2: superclass init_table position */},
   {(bigint) parser___ReduceAction2___init},
 };
 /* 0: Pointer to the classtable */
@@ -41109,13 +46360,19 @@ val_t NEW_ReduceAction2(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction2;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction2___init() {
+val_t NEW_ReduceAction2_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction2();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction2_parser___ReduceAction2___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction2();
   parser___ReduceAction2___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction3[44] = {
+const classtable_elt_t VFT_ReduceAction3[45] = {
   {(bigint) 1611 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction3 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction3 < ReduceAction: superclass typecheck marker */},
@@ -41158,7 +46415,8 @@ const classtable_elt_t VFT_ReduceAction3[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction3 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction3___action},
-  {(bigint) 2 /* 42: ReduceAction3 < ReduceAction3: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction3 < ReduceAction3: superclass init_table position */},
   {(bigint) parser___ReduceAction3___init},
 };
 /* 0: Pointer to the classtable */
@@ -41168,13 +46426,19 @@ val_t NEW_ReduceAction3(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction3;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction3___init() {
+val_t NEW_ReduceAction3_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction3();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction3_parser___ReduceAction3___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction3();
   parser___ReduceAction3___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction4[44] = {
+const classtable_elt_t VFT_ReduceAction4[45] = {
   {(bigint) 1167 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction4 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction4 < ReduceAction: superclass typecheck marker */},
@@ -41217,7 +46481,8 @@ const classtable_elt_t VFT_ReduceAction4[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction4 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction4___action},
-  {(bigint) 2 /* 42: ReduceAction4 < ReduceAction4: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction4 < ReduceAction4: superclass init_table position */},
   {(bigint) parser___ReduceAction4___init},
 };
 /* 0: Pointer to the classtable */
@@ -41227,13 +46492,19 @@ val_t NEW_ReduceAction4(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction4;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction4___init() {
+val_t NEW_ReduceAction4_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction4();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction4_parser___ReduceAction4___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction4();
   parser___ReduceAction4___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction5[44] = {
+const classtable_elt_t VFT_ReduceAction5[45] = {
   {(bigint) 723 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction5 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction5 < ReduceAction: superclass typecheck marker */},
@@ -41276,7 +46547,8 @@ const classtable_elt_t VFT_ReduceAction5[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction5 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction5___action},
-  {(bigint) 2 /* 42: ReduceAction5 < ReduceAction5: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction5 < ReduceAction5: superclass init_table position */},
   {(bigint) parser___ReduceAction5___init},
 };
 /* 0: Pointer to the classtable */
@@ -41286,13 +46558,19 @@ val_t NEW_ReduceAction5(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction5;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction5___init() {
+val_t NEW_ReduceAction5_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction5();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction5_parser___ReduceAction5___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction5();
   parser___ReduceAction5___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction6[44] = {
+const classtable_elt_t VFT_ReduceAction6[45] = {
   {(bigint) 387 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction6 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction6 < ReduceAction: superclass typecheck marker */},
@@ -41335,7 +46613,8 @@ const classtable_elt_t VFT_ReduceAction6[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction6 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction6___action},
-  {(bigint) 2 /* 42: ReduceAction6 < ReduceAction6: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction6 < ReduceAction6: superclass init_table position */},
   {(bigint) parser___ReduceAction6___init},
 };
 /* 0: Pointer to the classtable */
@@ -41345,13 +46624,19 @@ val_t NEW_ReduceAction6(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction6;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction6___init() {
+val_t NEW_ReduceAction6_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction6();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction6_parser___ReduceAction6___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction6();
   parser___ReduceAction6___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction7[44] = {
+const classtable_elt_t VFT_ReduceAction7[45] = {
   {(bigint) 343 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction7 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction7 < ReduceAction: superclass typecheck marker */},
@@ -41394,7 +46679,8 @@ const classtable_elt_t VFT_ReduceAction7[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction7 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction7___action},
-  {(bigint) 2 /* 42: ReduceAction7 < ReduceAction7: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction7 < ReduceAction7: superclass init_table position */},
   {(bigint) parser___ReduceAction7___init},
 };
 /* 0: Pointer to the classtable */
@@ -41404,13 +46690,19 @@ val_t NEW_ReduceAction7(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction7;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction7___init() {
+val_t NEW_ReduceAction7_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction7();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction7_parser___ReduceAction7___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction7();
   parser___ReduceAction7___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction8[44] = {
+const classtable_elt_t VFT_ReduceAction8[45] = {
   {(bigint) 299 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction8 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction8 < ReduceAction: superclass typecheck marker */},
@@ -41453,7 +46745,8 @@ const classtable_elt_t VFT_ReduceAction8[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction8 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction8___action},
-  {(bigint) 2 /* 42: ReduceAction8 < ReduceAction8: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction8 < ReduceAction8: superclass init_table position */},
   {(bigint) parser___ReduceAction8___init},
 };
 /* 0: Pointer to the classtable */
@@ -41463,13 +46756,19 @@ val_t NEW_ReduceAction8(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction8;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction8___init() {
+val_t NEW_ReduceAction8_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction8();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction8_parser___ReduceAction8___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction8();
   parser___ReduceAction8___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction9[44] = {
+const classtable_elt_t VFT_ReduceAction9[45] = {
   {(bigint) 255 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction9 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction9 < ReduceAction: superclass typecheck marker */},
@@ -41512,7 +46811,8 @@ const classtable_elt_t VFT_ReduceAction9[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction9 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction9___action},
-  {(bigint) 2 /* 42: ReduceAction9 < ReduceAction9: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction9 < ReduceAction9: superclass init_table position */},
   {(bigint) parser___ReduceAction9___init},
 };
 /* 0: Pointer to the classtable */
@@ -41522,13 +46822,19 @@ val_t NEW_ReduceAction9(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction9;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction9___init() {
+val_t NEW_ReduceAction9_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction9();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction9_parser___ReduceAction9___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction9();
   parser___ReduceAction9___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction10[44] = {
+const classtable_elt_t VFT_ReduceAction10[45] = {
   {(bigint) 2495 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction10 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction10 < ReduceAction: superclass typecheck marker */},
@@ -41571,7 +46877,8 @@ const classtable_elt_t VFT_ReduceAction10[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction10 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction10___action},
-  {(bigint) 2 /* 42: ReduceAction10 < ReduceAction10: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction10 < ReduceAction10: superclass init_table position */},
   {(bigint) parser___ReduceAction10___init},
 };
 /* 0: Pointer to the classtable */
@@ -41581,13 +46888,19 @@ val_t NEW_ReduceAction10(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction10;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction10___init() {
+val_t NEW_ReduceAction10_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction10();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction10_parser___ReduceAction10___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction10();
   parser___ReduceAction10___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction11[44] = {
+const classtable_elt_t VFT_ReduceAction11[45] = {
   {(bigint) 2451 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction11 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction11 < ReduceAction: superclass typecheck marker */},
@@ -41630,7 +46943,8 @@ const classtable_elt_t VFT_ReduceAction11[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction11 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction11___action},
-  {(bigint) 2 /* 42: ReduceAction11 < ReduceAction11: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction11 < ReduceAction11: superclass init_table position */},
   {(bigint) parser___ReduceAction11___init},
 };
 /* 0: Pointer to the classtable */
@@ -41640,13 +46954,19 @@ val_t NEW_ReduceAction11(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction11;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction11___init() {
+val_t NEW_ReduceAction11_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction11();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction11_parser___ReduceAction11___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction11();
   parser___ReduceAction11___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction12[44] = {
+const classtable_elt_t VFT_ReduceAction12[45] = {
   {(bigint) 2407 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction12 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction12 < ReduceAction: superclass typecheck marker */},
@@ -41689,7 +47009,8 @@ const classtable_elt_t VFT_ReduceAction12[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction12 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction12___action},
-  {(bigint) 2 /* 42: ReduceAction12 < ReduceAction12: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction12 < ReduceAction12: superclass init_table position */},
   {(bigint) parser___ReduceAction12___init},
 };
 /* 0: Pointer to the classtable */
@@ -41699,13 +47020,19 @@ val_t NEW_ReduceAction12(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction12;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction12___init() {
+val_t NEW_ReduceAction12_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction12();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction12_parser___ReduceAction12___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction12();
   parser___ReduceAction12___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction13[44] = {
+const classtable_elt_t VFT_ReduceAction13[45] = {
   {(bigint) 2363 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction13 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction13 < ReduceAction: superclass typecheck marker */},
@@ -41748,7 +47075,8 @@ const classtable_elt_t VFT_ReduceAction13[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction13 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction13___action},
-  {(bigint) 2 /* 42: ReduceAction13 < ReduceAction13: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction13 < ReduceAction13: superclass init_table position */},
   {(bigint) parser___ReduceAction13___init},
 };
 /* 0: Pointer to the classtable */
@@ -41758,13 +47086,19 @@ val_t NEW_ReduceAction13(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction13;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction13___init() {
+val_t NEW_ReduceAction13_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction13();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction13_parser___ReduceAction13___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction13();
   parser___ReduceAction13___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction14[44] = {
+const classtable_elt_t VFT_ReduceAction14[45] = {
   {(bigint) 2319 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction14 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction14 < ReduceAction: superclass typecheck marker */},
@@ -41807,7 +47141,8 @@ const classtable_elt_t VFT_ReduceAction14[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction14 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction14___action},
-  {(bigint) 2 /* 42: ReduceAction14 < ReduceAction14: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction14 < ReduceAction14: superclass init_table position */},
   {(bigint) parser___ReduceAction14___init},
 };
 /* 0: Pointer to the classtable */
@@ -41817,13 +47152,19 @@ val_t NEW_ReduceAction14(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction14;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction14___init() {
+val_t NEW_ReduceAction14_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction14();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction14_parser___ReduceAction14___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction14();
   parser___ReduceAction14___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction15[44] = {
+const classtable_elt_t VFT_ReduceAction15[45] = {
   {(bigint) 2275 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction15 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction15 < ReduceAction: superclass typecheck marker */},
@@ -41866,7 +47207,8 @@ const classtable_elt_t VFT_ReduceAction15[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction15 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction15___action},
-  {(bigint) 2 /* 42: ReduceAction15 < ReduceAction15: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction15 < ReduceAction15: superclass init_table position */},
   {(bigint) parser___ReduceAction15___init},
 };
 /* 0: Pointer to the classtable */
@@ -41876,13 +47218,19 @@ val_t NEW_ReduceAction15(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction15;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction15___init() {
+val_t NEW_ReduceAction15_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction15();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction15_parser___ReduceAction15___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction15();
   parser___ReduceAction15___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction16[44] = {
+const classtable_elt_t VFT_ReduceAction16[45] = {
   {(bigint) 2231 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction16 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction16 < ReduceAction: superclass typecheck marker */},
@@ -41925,7 +47273,8 @@ const classtable_elt_t VFT_ReduceAction16[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction16 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction16___action},
-  {(bigint) 2 /* 42: ReduceAction16 < ReduceAction16: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction16 < ReduceAction16: superclass init_table position */},
   {(bigint) parser___ReduceAction16___init},
 };
 /* 0: Pointer to the classtable */
@@ -41935,13 +47284,19 @@ val_t NEW_ReduceAction16(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction16;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction16___init() {
+val_t NEW_ReduceAction16_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction16();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction16_parser___ReduceAction16___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction16();
   parser___ReduceAction16___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction17[44] = {
+const classtable_elt_t VFT_ReduceAction17[45] = {
   {(bigint) 2187 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction17 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction17 < ReduceAction: superclass typecheck marker */},
@@ -41984,7 +47339,8 @@ const classtable_elt_t VFT_ReduceAction17[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction17 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction17___action},
-  {(bigint) 2 /* 42: ReduceAction17 < ReduceAction17: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction17 < ReduceAction17: superclass init_table position */},
   {(bigint) parser___ReduceAction17___init},
 };
 /* 0: Pointer to the classtable */
@@ -41994,13 +47350,19 @@ val_t NEW_ReduceAction17(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction17;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction17___init() {
+val_t NEW_ReduceAction17_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction17();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction17_parser___ReduceAction17___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction17();
   parser___ReduceAction17___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction18[44] = {
+const classtable_elt_t VFT_ReduceAction18[45] = {
   {(bigint) 2143 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction18 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction18 < ReduceAction: superclass typecheck marker */},
@@ -42043,7 +47405,8 @@ const classtable_elt_t VFT_ReduceAction18[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction18 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction18___action},
-  {(bigint) 2 /* 42: ReduceAction18 < ReduceAction18: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction18 < ReduceAction18: superclass init_table position */},
   {(bigint) parser___ReduceAction18___init},
 };
 /* 0: Pointer to the classtable */
@@ -42053,13 +47416,19 @@ val_t NEW_ReduceAction18(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction18;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction18___init() {
+val_t NEW_ReduceAction18_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction18();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction18_parser___ReduceAction18___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction18();
   parser___ReduceAction18___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction19[44] = {
+const classtable_elt_t VFT_ReduceAction19[45] = {
   {(bigint) 2099 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction19 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction19 < ReduceAction: superclass typecheck marker */},
@@ -42102,7 +47471,8 @@ const classtable_elt_t VFT_ReduceAction19[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction19 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction19___action},
-  {(bigint) 2 /* 42: ReduceAction19 < ReduceAction19: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction19 < ReduceAction19: superclass init_table position */},
   {(bigint) parser___ReduceAction19___init},
 };
 /* 0: Pointer to the classtable */
@@ -42112,13 +47482,19 @@ val_t NEW_ReduceAction19(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction19;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction19___init() {
+val_t NEW_ReduceAction19_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction19();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction19_parser___ReduceAction19___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction19();
   parser___ReduceAction19___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction20[44] = {
+const classtable_elt_t VFT_ReduceAction20[45] = {
   {(bigint) 2051 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction20 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction20 < ReduceAction: superclass typecheck marker */},
@@ -42161,7 +47537,8 @@ const classtable_elt_t VFT_ReduceAction20[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction20 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction20___action},
-  {(bigint) 2 /* 42: ReduceAction20 < ReduceAction20: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction20 < ReduceAction20: superclass init_table position */},
   {(bigint) parser___ReduceAction20___init},
 };
 /* 0: Pointer to the classtable */
@@ -42171,13 +47548,19 @@ val_t NEW_ReduceAction20(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction20;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction20___init() {
+val_t NEW_ReduceAction20_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction20();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction20_parser___ReduceAction20___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction20();
   parser___ReduceAction20___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction21[44] = {
+const classtable_elt_t VFT_ReduceAction21[45] = {
   {(bigint) 2007 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction21 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction21 < ReduceAction: superclass typecheck marker */},
@@ -42220,7 +47603,8 @@ const classtable_elt_t VFT_ReduceAction21[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction21 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction21___action},
-  {(bigint) 2 /* 42: ReduceAction21 < ReduceAction21: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction21 < ReduceAction21: superclass init_table position */},
   {(bigint) parser___ReduceAction21___init},
 };
 /* 0: Pointer to the classtable */
@@ -42230,13 +47614,19 @@ val_t NEW_ReduceAction21(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction21;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction21___init() {
+val_t NEW_ReduceAction21_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction21();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction21_parser___ReduceAction21___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction21();
   parser___ReduceAction21___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction22[44] = {
+const classtable_elt_t VFT_ReduceAction22[45] = {
   {(bigint) 1963 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction22 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction22 < ReduceAction: superclass typecheck marker */},
@@ -42279,7 +47669,8 @@ const classtable_elt_t VFT_ReduceAction22[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction22 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction22___action},
-  {(bigint) 2 /* 42: ReduceAction22 < ReduceAction22: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction22 < ReduceAction22: superclass init_table position */},
   {(bigint) parser___ReduceAction22___init},
 };
 /* 0: Pointer to the classtable */
@@ -42289,13 +47680,19 @@ val_t NEW_ReduceAction22(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction22;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction22___init() {
+val_t NEW_ReduceAction22_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction22();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction22_parser___ReduceAction22___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction22();
   parser___ReduceAction22___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction23[44] = {
+const classtable_elt_t VFT_ReduceAction23[45] = {
   {(bigint) 1919 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction23 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction23 < ReduceAction: superclass typecheck marker */},
@@ -42338,7 +47735,8 @@ const classtable_elt_t VFT_ReduceAction23[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction23 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction23___action},
-  {(bigint) 2 /* 42: ReduceAction23 < ReduceAction23: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction23 < ReduceAction23: superclass init_table position */},
   {(bigint) parser___ReduceAction23___init},
 };
 /* 0: Pointer to the classtable */
@@ -42348,13 +47746,19 @@ val_t NEW_ReduceAction23(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction23;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction23___init() {
+val_t NEW_ReduceAction23_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction23();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction23_parser___ReduceAction23___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction23();
   parser___ReduceAction23___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction24[44] = {
+const classtable_elt_t VFT_ReduceAction24[45] = {
   {(bigint) 1875 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction24 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction24 < ReduceAction: superclass typecheck marker */},
@@ -42397,7 +47801,8 @@ const classtable_elt_t VFT_ReduceAction24[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction24 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction24___action},
-  {(bigint) 2 /* 42: ReduceAction24 < ReduceAction24: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction24 < ReduceAction24: superclass init_table position */},
   {(bigint) parser___ReduceAction24___init},
 };
 /* 0: Pointer to the classtable */
@@ -42407,13 +47812,19 @@ val_t NEW_ReduceAction24(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction24;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction24___init() {
+val_t NEW_ReduceAction24_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction24();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction24_parser___ReduceAction24___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction24();
   parser___ReduceAction24___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction25[44] = {
+const classtable_elt_t VFT_ReduceAction25[45] = {
   {(bigint) 1831 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction25 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction25 < ReduceAction: superclass typecheck marker */},
@@ -42456,7 +47867,8 @@ const classtable_elt_t VFT_ReduceAction25[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction25 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction25___action},
-  {(bigint) 2 /* 42: ReduceAction25 < ReduceAction25: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction25 < ReduceAction25: superclass init_table position */},
   {(bigint) parser___ReduceAction25___init},
 };
 /* 0: Pointer to the classtable */
@@ -42466,13 +47878,19 @@ val_t NEW_ReduceAction25(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction25;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction25___init() {
+val_t NEW_ReduceAction25_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction25();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction25_parser___ReduceAction25___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction25();
   parser___ReduceAction25___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction26[44] = {
+const classtable_elt_t VFT_ReduceAction26[45] = {
   {(bigint) 1787 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction26 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction26 < ReduceAction: superclass typecheck marker */},
@@ -42515,7 +47933,8 @@ const classtable_elt_t VFT_ReduceAction26[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction26 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction26___action},
-  {(bigint) 2 /* 42: ReduceAction26 < ReduceAction26: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction26 < ReduceAction26: superclass init_table position */},
   {(bigint) parser___ReduceAction26___init},
 };
 /* 0: Pointer to the classtable */
@@ -42525,13 +47944,19 @@ val_t NEW_ReduceAction26(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction26;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction26___init() {
+val_t NEW_ReduceAction26_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction26();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction26_parser___ReduceAction26___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction26();
   parser___ReduceAction26___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction27[44] = {
+const classtable_elt_t VFT_ReduceAction27[45] = {
   {(bigint) 1743 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction27 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction27 < ReduceAction: superclass typecheck marker */},
@@ -42574,7 +47999,8 @@ const classtable_elt_t VFT_ReduceAction27[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction27 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction27___action},
-  {(bigint) 2 /* 42: ReduceAction27 < ReduceAction27: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction27 < ReduceAction27: superclass init_table position */},
   {(bigint) parser___ReduceAction27___init},
 };
 /* 0: Pointer to the classtable */
@@ -42584,13 +48010,19 @@ val_t NEW_ReduceAction27(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction27;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction27___init() {
+val_t NEW_ReduceAction27_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction27();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction27_parser___ReduceAction27___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction27();
   parser___ReduceAction27___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction28[44] = {
+const classtable_elt_t VFT_ReduceAction28[45] = {
   {(bigint) 1699 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction28 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction28 < ReduceAction: superclass typecheck marker */},
@@ -42633,7 +48065,8 @@ const classtable_elt_t VFT_ReduceAction28[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction28 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction28___action},
-  {(bigint) 2 /* 42: ReduceAction28 < ReduceAction28: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction28 < ReduceAction28: superclass init_table position */},
   {(bigint) parser___ReduceAction28___init},
 };
 /* 0: Pointer to the classtable */
@@ -42643,13 +48076,19 @@ val_t NEW_ReduceAction28(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction28;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction28___init() {
+val_t NEW_ReduceAction28_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction28();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction28_parser___ReduceAction28___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction28();
   parser___ReduceAction28___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction29[44] = {
+const classtable_elt_t VFT_ReduceAction29[45] = {
   {(bigint) 1655 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction29 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction29 < ReduceAction: superclass typecheck marker */},
@@ -42692,7 +48131,8 @@ const classtable_elt_t VFT_ReduceAction29[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction29 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction29___action},
-  {(bigint) 2 /* 42: ReduceAction29 < ReduceAction29: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction29 < ReduceAction29: superclass init_table position */},
   {(bigint) parser___ReduceAction29___init},
 };
 /* 0: Pointer to the classtable */
@@ -42702,13 +48142,19 @@ val_t NEW_ReduceAction29(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction29;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction29___init() {
+val_t NEW_ReduceAction29_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction29();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction29_parser___ReduceAction29___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction29();
   parser___ReduceAction29___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction30[44] = {
+const classtable_elt_t VFT_ReduceAction30[45] = {
   {(bigint) 1607 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction30 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction30 < ReduceAction: superclass typecheck marker */},
@@ -42751,7 +48197,8 @@ const classtable_elt_t VFT_ReduceAction30[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction30 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction30___action},
-  {(bigint) 2 /* 42: ReduceAction30 < ReduceAction30: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction30 < ReduceAction30: superclass init_table position */},
   {(bigint) parser___ReduceAction30___init},
 };
 /* 0: Pointer to the classtable */
@@ -42761,13 +48208,19 @@ val_t NEW_ReduceAction30(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction30;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction30___init() {
+val_t NEW_ReduceAction30_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction30();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction30_parser___ReduceAction30___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction30();
   parser___ReduceAction30___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction31[44] = {
+const classtable_elt_t VFT_ReduceAction31[45] = {
   {(bigint) 1563 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction31 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction31 < ReduceAction: superclass typecheck marker */},
@@ -42810,7 +48263,8 @@ const classtable_elt_t VFT_ReduceAction31[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction31 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction31___action},
-  {(bigint) 2 /* 42: ReduceAction31 < ReduceAction31: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction31 < ReduceAction31: superclass init_table position */},
   {(bigint) parser___ReduceAction31___init},
 };
 /* 0: Pointer to the classtable */
@@ -42820,13 +48274,19 @@ val_t NEW_ReduceAction31(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction31;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction31___init() {
+val_t NEW_ReduceAction31_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction31();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction31_parser___ReduceAction31___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction31();
   parser___ReduceAction31___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction32[44] = {
+const classtable_elt_t VFT_ReduceAction32[45] = {
   {(bigint) 1519 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction32 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction32 < ReduceAction: superclass typecheck marker */},
@@ -42869,7 +48329,8 @@ const classtable_elt_t VFT_ReduceAction32[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction32 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction32___action},
-  {(bigint) 2 /* 42: ReduceAction32 < ReduceAction32: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction32 < ReduceAction32: superclass init_table position */},
   {(bigint) parser___ReduceAction32___init},
 };
 /* 0: Pointer to the classtable */
@@ -42879,13 +48340,19 @@ val_t NEW_ReduceAction32(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction32;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction32___init() {
+val_t NEW_ReduceAction32_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction32();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction32_parser___ReduceAction32___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction32();
   parser___ReduceAction32___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction33[44] = {
+const classtable_elt_t VFT_ReduceAction33[45] = {
   {(bigint) 1475 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction33 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction33 < ReduceAction: superclass typecheck marker */},
@@ -42928,7 +48395,8 @@ const classtable_elt_t VFT_ReduceAction33[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction33 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction33___action},
-  {(bigint) 2 /* 42: ReduceAction33 < ReduceAction33: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction33 < ReduceAction33: superclass init_table position */},
   {(bigint) parser___ReduceAction33___init},
 };
 /* 0: Pointer to the classtable */
@@ -42938,13 +48406,19 @@ val_t NEW_ReduceAction33(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction33;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction33___init() {
+val_t NEW_ReduceAction33_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction33();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction33_parser___ReduceAction33___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction33();
   parser___ReduceAction33___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction34[44] = {
+const classtable_elt_t VFT_ReduceAction34[45] = {
   {(bigint) 1431 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction34 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction34 < ReduceAction: superclass typecheck marker */},
@@ -42987,7 +48461,8 @@ const classtable_elt_t VFT_ReduceAction34[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction34 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction34___action},
-  {(bigint) 2 /* 42: ReduceAction34 < ReduceAction34: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction34 < ReduceAction34: superclass init_table position */},
   {(bigint) parser___ReduceAction34___init},
 };
 /* 0: Pointer to the classtable */
@@ -42997,13 +48472,19 @@ val_t NEW_ReduceAction34(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction34;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction34___init() {
+val_t NEW_ReduceAction34_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction34();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction34_parser___ReduceAction34___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction34();
   parser___ReduceAction34___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction35[44] = {
+const classtable_elt_t VFT_ReduceAction35[45] = {
   {(bigint) 1387 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction35 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction35 < ReduceAction: superclass typecheck marker */},
@@ -43046,7 +48527,8 @@ const classtable_elt_t VFT_ReduceAction35[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction35 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction35___action},
-  {(bigint) 2 /* 42: ReduceAction35 < ReduceAction35: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction35 < ReduceAction35: superclass init_table position */},
   {(bigint) parser___ReduceAction35___init},
 };
 /* 0: Pointer to the classtable */
@@ -43056,13 +48538,19 @@ val_t NEW_ReduceAction35(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction35;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction35___init() {
+val_t NEW_ReduceAction35_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction35();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction35_parser___ReduceAction35___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction35();
   parser___ReduceAction35___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction36[44] = {
+const classtable_elt_t VFT_ReduceAction36[45] = {
   {(bigint) 1343 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction36 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction36 < ReduceAction: superclass typecheck marker */},
@@ -43105,7 +48593,8 @@ const classtable_elt_t VFT_ReduceAction36[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction36 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction36___action},
-  {(bigint) 2 /* 42: ReduceAction36 < ReduceAction36: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction36 < ReduceAction36: superclass init_table position */},
   {(bigint) parser___ReduceAction36___init},
 };
 /* 0: Pointer to the classtable */
@@ -43115,13 +48604,19 @@ val_t NEW_ReduceAction36(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction36;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction36___init() {
+val_t NEW_ReduceAction36_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction36();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction36_parser___ReduceAction36___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction36();
   parser___ReduceAction36___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction37[44] = {
+const classtable_elt_t VFT_ReduceAction37[45] = {
   {(bigint) 1299 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction37 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction37 < ReduceAction: superclass typecheck marker */},
@@ -43164,7 +48659,8 @@ const classtable_elt_t VFT_ReduceAction37[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction37 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction37___action},
-  {(bigint) 2 /* 42: ReduceAction37 < ReduceAction37: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction37 < ReduceAction37: superclass init_table position */},
   {(bigint) parser___ReduceAction37___init},
 };
 /* 0: Pointer to the classtable */
@@ -43174,13 +48670,19 @@ val_t NEW_ReduceAction37(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction37;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction37___init() {
+val_t NEW_ReduceAction37_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction37();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction37_parser___ReduceAction37___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction37();
   parser___ReduceAction37___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction38[44] = {
+const classtable_elt_t VFT_ReduceAction38[45] = {
   {(bigint) 1255 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction38 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction38 < ReduceAction: superclass typecheck marker */},
@@ -43223,7 +48725,8 @@ const classtable_elt_t VFT_ReduceAction38[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction38 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction38___action},
-  {(bigint) 2 /* 42: ReduceAction38 < ReduceAction38: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction38 < ReduceAction38: superclass init_table position */},
   {(bigint) parser___ReduceAction38___init},
 };
 /* 0: Pointer to the classtable */
@@ -43233,13 +48736,19 @@ val_t NEW_ReduceAction38(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction38;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction38___init() {
+val_t NEW_ReduceAction38_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction38();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction38_parser___ReduceAction38___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction38();
   parser___ReduceAction38___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction39[44] = {
+const classtable_elt_t VFT_ReduceAction39[45] = {
   {(bigint) 1211 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction39 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction39 < ReduceAction: superclass typecheck marker */},
@@ -43282,7 +48791,8 @@ const classtable_elt_t VFT_ReduceAction39[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction39 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction39___action},
-  {(bigint) 2 /* 42: ReduceAction39 < ReduceAction39: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction39 < ReduceAction39: superclass init_table position */},
   {(bigint) parser___ReduceAction39___init},
 };
 /* 0: Pointer to the classtable */
@@ -43292,13 +48802,19 @@ val_t NEW_ReduceAction39(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction39;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction39___init() {
+val_t NEW_ReduceAction39_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction39();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction39_parser___ReduceAction39___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction39();
   parser___ReduceAction39___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction40[44] = {
+const classtable_elt_t VFT_ReduceAction40[45] = {
   {(bigint) 1163 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction40 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction40 < ReduceAction: superclass typecheck marker */},
@@ -43341,7 +48857,8 @@ const classtable_elt_t VFT_ReduceAction40[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction40 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction40___action},
-  {(bigint) 2 /* 42: ReduceAction40 < ReduceAction40: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction40 < ReduceAction40: superclass init_table position */},
   {(bigint) parser___ReduceAction40___init},
 };
 /* 0: Pointer to the classtable */
@@ -43351,13 +48868,19 @@ val_t NEW_ReduceAction40(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction40;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction40___init() {
+val_t NEW_ReduceAction40_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction40();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction40_parser___ReduceAction40___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction40();
   parser___ReduceAction40___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction41[44] = {
+const classtable_elt_t VFT_ReduceAction41[45] = {
   {(bigint) 1119 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction41 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction41 < ReduceAction: superclass typecheck marker */},
@@ -43400,7 +48923,8 @@ const classtable_elt_t VFT_ReduceAction41[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction41 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction41___action},
-  {(bigint) 2 /* 42: ReduceAction41 < ReduceAction41: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction41 < ReduceAction41: superclass init_table position */},
   {(bigint) parser___ReduceAction41___init},
 };
 /* 0: Pointer to the classtable */
@@ -43410,13 +48934,19 @@ val_t NEW_ReduceAction41(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction41;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction41___init() {
+val_t NEW_ReduceAction41_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction41();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction41_parser___ReduceAction41___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction41();
   parser___ReduceAction41___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction42[44] = {
+const classtable_elt_t VFT_ReduceAction42[45] = {
   {(bigint) 1075 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction42 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction42 < ReduceAction: superclass typecheck marker */},
@@ -43459,7 +48989,8 @@ const classtable_elt_t VFT_ReduceAction42[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction42 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction42___action},
-  {(bigint) 2 /* 42: ReduceAction42 < ReduceAction42: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction42 < ReduceAction42: superclass init_table position */},
   {(bigint) parser___ReduceAction42___init},
 };
 /* 0: Pointer to the classtable */
@@ -43469,13 +49000,19 @@ val_t NEW_ReduceAction42(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction42;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction42___init() {
+val_t NEW_ReduceAction42_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction42();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction42_parser___ReduceAction42___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction42();
   parser___ReduceAction42___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction43[44] = {
+const classtable_elt_t VFT_ReduceAction43[45] = {
   {(bigint) 1031 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction43 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction43 < ReduceAction: superclass typecheck marker */},
@@ -43518,7 +49055,8 @@ const classtable_elt_t VFT_ReduceAction43[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction43 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction43___action},
-  {(bigint) 2 /* 42: ReduceAction43 < ReduceAction43: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction43 < ReduceAction43: superclass init_table position */},
   {(bigint) parser___ReduceAction43___init},
 };
 /* 0: Pointer to the classtable */
@@ -43528,13 +49066,19 @@ val_t NEW_ReduceAction43(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction43;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction43___init() {
+val_t NEW_ReduceAction43_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction43();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction43_parser___ReduceAction43___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction43();
   parser___ReduceAction43___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction44[44] = {
+const classtable_elt_t VFT_ReduceAction44[45] = {
   {(bigint) 987 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction44 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction44 < ReduceAction: superclass typecheck marker */},
@@ -43577,7 +49121,8 @@ const classtable_elt_t VFT_ReduceAction44[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction44 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction44___action},
-  {(bigint) 2 /* 42: ReduceAction44 < ReduceAction44: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction44 < ReduceAction44: superclass init_table position */},
   {(bigint) parser___ReduceAction44___init},
 };
 /* 0: Pointer to the classtable */
@@ -43587,13 +49132,19 @@ val_t NEW_ReduceAction44(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction44;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction44___init() {
+val_t NEW_ReduceAction44_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction44();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction44_parser___ReduceAction44___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction44();
   parser___ReduceAction44___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction45[44] = {
+const classtable_elt_t VFT_ReduceAction45[45] = {
   {(bigint) 943 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction45 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction45 < ReduceAction: superclass typecheck marker */},
@@ -43636,7 +49187,8 @@ const classtable_elt_t VFT_ReduceAction45[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction45 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction45___action},
-  {(bigint) 2 /* 42: ReduceAction45 < ReduceAction45: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction45 < ReduceAction45: superclass init_table position */},
   {(bigint) parser___ReduceAction45___init},
 };
 /* 0: Pointer to the classtable */
@@ -43646,13 +49198,19 @@ val_t NEW_ReduceAction45(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction45;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction45___init() {
+val_t NEW_ReduceAction45_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction45();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction45_parser___ReduceAction45___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction45();
   parser___ReduceAction45___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction46[44] = {
+const classtable_elt_t VFT_ReduceAction46[45] = {
   {(bigint) 899 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction46 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction46 < ReduceAction: superclass typecheck marker */},
@@ -43695,7 +49253,8 @@ const classtable_elt_t VFT_ReduceAction46[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction46 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction46___action},
-  {(bigint) 2 /* 42: ReduceAction46 < ReduceAction46: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction46 < ReduceAction46: superclass init_table position */},
   {(bigint) parser___ReduceAction46___init},
 };
 /* 0: Pointer to the classtable */
@@ -43705,13 +49264,19 @@ val_t NEW_ReduceAction46(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction46;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction46___init() {
+val_t NEW_ReduceAction46_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction46();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction46_parser___ReduceAction46___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction46();
   parser___ReduceAction46___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction47[44] = {
+const classtable_elt_t VFT_ReduceAction47[45] = {
   {(bigint) 855 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction47 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction47 < ReduceAction: superclass typecheck marker */},
@@ -43754,7 +49319,8 @@ const classtable_elt_t VFT_ReduceAction47[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction47 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction47___action},
-  {(bigint) 2 /* 42: ReduceAction47 < ReduceAction47: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction47 < ReduceAction47: superclass init_table position */},
   {(bigint) parser___ReduceAction47___init},
 };
 /* 0: Pointer to the classtable */
@@ -43764,13 +49330,19 @@ val_t NEW_ReduceAction47(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction47;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction47___init() {
+val_t NEW_ReduceAction47_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction47();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction47_parser___ReduceAction47___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction47();
   parser___ReduceAction47___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction48[44] = {
+const classtable_elt_t VFT_ReduceAction48[45] = {
   {(bigint) 811 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction48 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction48 < ReduceAction: superclass typecheck marker */},
@@ -43813,7 +49385,8 @@ const classtable_elt_t VFT_ReduceAction48[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction48 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction48___action},
-  {(bigint) 2 /* 42: ReduceAction48 < ReduceAction48: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction48 < ReduceAction48: superclass init_table position */},
   {(bigint) parser___ReduceAction48___init},
 };
 /* 0: Pointer to the classtable */
@@ -43823,13 +49396,19 @@ val_t NEW_ReduceAction48(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction48;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction48___init() {
+val_t NEW_ReduceAction48_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction48();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction48_parser___ReduceAction48___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction48();
   parser___ReduceAction48___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction49[44] = {
+const classtable_elt_t VFT_ReduceAction49[45] = {
   {(bigint) 767 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction49 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction49 < ReduceAction: superclass typecheck marker */},
@@ -43872,7 +49451,8 @@ const classtable_elt_t VFT_ReduceAction49[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction49 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction49___action},
-  {(bigint) 2 /* 42: ReduceAction49 < ReduceAction49: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction49 < ReduceAction49: superclass init_table position */},
   {(bigint) parser___ReduceAction49___init},
 };
 /* 0: Pointer to the classtable */
@@ -43882,13 +49462,19 @@ val_t NEW_ReduceAction49(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction49;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction49___init() {
+val_t NEW_ReduceAction49_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction49();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction49_parser___ReduceAction49___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction49();
   parser___ReduceAction49___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction50[44] = {
+const classtable_elt_t VFT_ReduceAction50[45] = {
   {(bigint) 719 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction50 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction50 < ReduceAction: superclass typecheck marker */},
@@ -43931,7 +49517,8 @@ const classtable_elt_t VFT_ReduceAction50[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction50 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction50___action},
-  {(bigint) 2 /* 42: ReduceAction50 < ReduceAction50: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction50 < ReduceAction50: superclass init_table position */},
   {(bigint) parser___ReduceAction50___init},
 };
 /* 0: Pointer to the classtable */
@@ -43941,13 +49528,19 @@ val_t NEW_ReduceAction50(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction50;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction50___init() {
+val_t NEW_ReduceAction50_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction50();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction50_parser___ReduceAction50___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction50();
   parser___ReduceAction50___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction51[44] = {
+const classtable_elt_t VFT_ReduceAction51[45] = {
   {(bigint) 675 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction51 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction51 < ReduceAction: superclass typecheck marker */},
@@ -43990,7 +49583,8 @@ const classtable_elt_t VFT_ReduceAction51[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction51 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction51___action},
-  {(bigint) 2 /* 42: ReduceAction51 < ReduceAction51: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction51 < ReduceAction51: superclass init_table position */},
   {(bigint) parser___ReduceAction51___init},
 };
 /* 0: Pointer to the classtable */
@@ -44000,13 +49594,19 @@ val_t NEW_ReduceAction51(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction51;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction51___init() {
+val_t NEW_ReduceAction51_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction51();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction51_parser___ReduceAction51___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction51();
   parser___ReduceAction51___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction52[44] = {
+const classtable_elt_t VFT_ReduceAction52[45] = {
   {(bigint) 631 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction52 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction52 < ReduceAction: superclass typecheck marker */},
@@ -44049,7 +49649,8 @@ const classtable_elt_t VFT_ReduceAction52[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction52 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction52___action},
-  {(bigint) 2 /* 42: ReduceAction52 < ReduceAction52: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction52 < ReduceAction52: superclass init_table position */},
   {(bigint) parser___ReduceAction52___init},
 };
 /* 0: Pointer to the classtable */
@@ -44059,13 +49660,19 @@ val_t NEW_ReduceAction52(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction52;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction52___init() {
+val_t NEW_ReduceAction52_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction52();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction52_parser___ReduceAction52___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction52();
   parser___ReduceAction52___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction53[44] = {
+const classtable_elt_t VFT_ReduceAction53[45] = {
   {(bigint) 587 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction53 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction53 < ReduceAction: superclass typecheck marker */},
@@ -44108,7 +49715,8 @@ const classtable_elt_t VFT_ReduceAction53[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction53 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction53___action},
-  {(bigint) 2 /* 42: ReduceAction53 < ReduceAction53: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction53 < ReduceAction53: superclass init_table position */},
   {(bigint) parser___ReduceAction53___init},
 };
 /* 0: Pointer to the classtable */
@@ -44118,13 +49726,19 @@ val_t NEW_ReduceAction53(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction53;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction53___init() {
+val_t NEW_ReduceAction53_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction53();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction53_parser___ReduceAction53___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction53();
   parser___ReduceAction53___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction54[44] = {
+const classtable_elt_t VFT_ReduceAction54[45] = {
   {(bigint) 543 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction54 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction54 < ReduceAction: superclass typecheck marker */},
@@ -44167,7 +49781,8 @@ const classtable_elt_t VFT_ReduceAction54[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction54 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction54___action},
-  {(bigint) 2 /* 42: ReduceAction54 < ReduceAction54: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction54 < ReduceAction54: superclass init_table position */},
   {(bigint) parser___ReduceAction54___init},
 };
 /* 0: Pointer to the classtable */
@@ -44177,13 +49792,19 @@ val_t NEW_ReduceAction54(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction54;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction54___init() {
+val_t NEW_ReduceAction54_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction54();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction54_parser___ReduceAction54___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction54();
   parser___ReduceAction54___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction55[44] = {
+const classtable_elt_t VFT_ReduceAction55[45] = {
   {(bigint) 499 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction55 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction55 < ReduceAction: superclass typecheck marker */},
@@ -44226,7 +49847,8 @@ const classtable_elt_t VFT_ReduceAction55[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction55 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction55___action},
-  {(bigint) 2 /* 42: ReduceAction55 < ReduceAction55: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction55 < ReduceAction55: superclass init_table position */},
   {(bigint) parser___ReduceAction55___init},
 };
 /* 0: Pointer to the classtable */
@@ -44236,13 +49858,19 @@ val_t NEW_ReduceAction55(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction55;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction55___init() {
+val_t NEW_ReduceAction55_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction55();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction55_parser___ReduceAction55___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction55();
   parser___ReduceAction55___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction56[44] = {
+const classtable_elt_t VFT_ReduceAction56[45] = {
   {(bigint) 455 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction56 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction56 < ReduceAction: superclass typecheck marker */},
@@ -44285,7 +49913,8 @@ const classtable_elt_t VFT_ReduceAction56[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction56 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction56___action},
-  {(bigint) 2 /* 42: ReduceAction56 < ReduceAction56: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction56 < ReduceAction56: superclass init_table position */},
   {(bigint) parser___ReduceAction56___init},
 };
 /* 0: Pointer to the classtable */
@@ -44295,13 +49924,19 @@ val_t NEW_ReduceAction56(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction56;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction56___init() {
+val_t NEW_ReduceAction56_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction56();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction56_parser___ReduceAction56___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction56();
   parser___ReduceAction56___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction57[44] = {
+const classtable_elt_t VFT_ReduceAction57[45] = {
   {(bigint) 411 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction57 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction57 < ReduceAction: superclass typecheck marker */},
@@ -44344,7 +49979,8 @@ const classtable_elt_t VFT_ReduceAction57[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction57 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction57___action},
-  {(bigint) 2 /* 42: ReduceAction57 < ReduceAction57: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction57 < ReduceAction57: superclass init_table position */},
   {(bigint) parser___ReduceAction57___init},
 };
 /* 0: Pointer to the classtable */
@@ -44354,13 +49990,19 @@ val_t NEW_ReduceAction57(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction57;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction57___init() {
+val_t NEW_ReduceAction57_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction57();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction57_parser___ReduceAction57___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction57();
   parser___ReduceAction57___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction58[44] = {
+const classtable_elt_t VFT_ReduceAction58[45] = {
   {(bigint) 395 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction58 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction58 < ReduceAction: superclass typecheck marker */},
@@ -44403,7 +50045,8 @@ const classtable_elt_t VFT_ReduceAction58[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction58 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction58___action},
-  {(bigint) 2 /* 42: ReduceAction58 < ReduceAction58: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction58 < ReduceAction58: superclass init_table position */},
   {(bigint) parser___ReduceAction58___init},
 };
 /* 0: Pointer to the classtable */
@@ -44413,13 +50056,19 @@ val_t NEW_ReduceAction58(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction58;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction58___init() {
+val_t NEW_ReduceAction58_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction58();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction58_parser___ReduceAction58___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction58();
   parser___ReduceAction58___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction59[44] = {
+const classtable_elt_t VFT_ReduceAction59[45] = {
   {(bigint) 391 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction59 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction59 < ReduceAction: superclass typecheck marker */},
@@ -44462,7 +50111,8 @@ const classtable_elt_t VFT_ReduceAction59[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction59 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction59___action},
-  {(bigint) 2 /* 42: ReduceAction59 < ReduceAction59: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction59 < ReduceAction59: superclass init_table position */},
   {(bigint) parser___ReduceAction59___init},
 };
 /* 0: Pointer to the classtable */
@@ -44472,13 +50122,19 @@ val_t NEW_ReduceAction59(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction59;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction59___init() {
+val_t NEW_ReduceAction59_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction59();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction59_parser___ReduceAction59___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction59();
   parser___ReduceAction59___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction60[44] = {
+const classtable_elt_t VFT_ReduceAction60[45] = {
   {(bigint) 383 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction60 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction60 < ReduceAction: superclass typecheck marker */},
@@ -44521,7 +50177,8 @@ const classtable_elt_t VFT_ReduceAction60[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction60 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction60___action},
-  {(bigint) 2 /* 42: ReduceAction60 < ReduceAction60: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction60 < ReduceAction60: superclass init_table position */},
   {(bigint) parser___ReduceAction60___init},
 };
 /* 0: Pointer to the classtable */
@@ -44531,13 +50188,19 @@ val_t NEW_ReduceAction60(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction60;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction60___init() {
+val_t NEW_ReduceAction60_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction60();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction60_parser___ReduceAction60___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction60();
   parser___ReduceAction60___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction61[44] = {
+const classtable_elt_t VFT_ReduceAction61[45] = {
   {(bigint) 379 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction61 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction61 < ReduceAction: superclass typecheck marker */},
@@ -44580,7 +50243,8 @@ const classtable_elt_t VFT_ReduceAction61[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction61 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction61___action},
-  {(bigint) 2 /* 42: ReduceAction61 < ReduceAction61: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction61 < ReduceAction61: superclass init_table position */},
   {(bigint) parser___ReduceAction61___init},
 };
 /* 0: Pointer to the classtable */
@@ -44590,13 +50254,19 @@ val_t NEW_ReduceAction61(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction61;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction61___init() {
+val_t NEW_ReduceAction61_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction61();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction61_parser___ReduceAction61___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction61();
   parser___ReduceAction61___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction62[44] = {
+const classtable_elt_t VFT_ReduceAction62[45] = {
   {(bigint) 375 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction62 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction62 < ReduceAction: superclass typecheck marker */},
@@ -44639,7 +50309,8 @@ const classtable_elt_t VFT_ReduceAction62[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction62 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction62___action},
-  {(bigint) 2 /* 42: ReduceAction62 < ReduceAction62: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction62 < ReduceAction62: superclass init_table position */},
   {(bigint) parser___ReduceAction62___init},
 };
 /* 0: Pointer to the classtable */
@@ -44649,13 +50320,19 @@ val_t NEW_ReduceAction62(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction62;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction62___init() {
+val_t NEW_ReduceAction62_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction62();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction62_parser___ReduceAction62___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction62();
   parser___ReduceAction62___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction63[44] = {
+const classtable_elt_t VFT_ReduceAction63[45] = {
   {(bigint) 371 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction63 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction63 < ReduceAction: superclass typecheck marker */},
@@ -44698,7 +50375,8 @@ const classtable_elt_t VFT_ReduceAction63[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction63 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction63___action},
-  {(bigint) 2 /* 42: ReduceAction63 < ReduceAction63: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction63 < ReduceAction63: superclass init_table position */},
   {(bigint) parser___ReduceAction63___init},
 };
 /* 0: Pointer to the classtable */
@@ -44708,13 +50386,19 @@ val_t NEW_ReduceAction63(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction63;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction63___init() {
+val_t NEW_ReduceAction63_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction63();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction63_parser___ReduceAction63___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction63();
   parser___ReduceAction63___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction64[44] = {
+const classtable_elt_t VFT_ReduceAction64[45] = {
   {(bigint) 367 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction64 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction64 < ReduceAction: superclass typecheck marker */},
@@ -44757,7 +50441,8 @@ const classtable_elt_t VFT_ReduceAction64[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction64 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction64___action},
-  {(bigint) 2 /* 42: ReduceAction64 < ReduceAction64: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction64 < ReduceAction64: superclass init_table position */},
   {(bigint) parser___ReduceAction64___init},
 };
 /* 0: Pointer to the classtable */
@@ -44767,13 +50452,19 @@ val_t NEW_ReduceAction64(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction64;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction64___init() {
+val_t NEW_ReduceAction64_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction64();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction64_parser___ReduceAction64___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction64();
   parser___ReduceAction64___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction65[44] = {
+const classtable_elt_t VFT_ReduceAction65[45] = {
   {(bigint) 363 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction65 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction65 < ReduceAction: superclass typecheck marker */},
@@ -44816,7 +50507,8 @@ const classtable_elt_t VFT_ReduceAction65[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction65 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction65___action},
-  {(bigint) 2 /* 42: ReduceAction65 < ReduceAction65: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction65 < ReduceAction65: superclass init_table position */},
   {(bigint) parser___ReduceAction65___init},
 };
 /* 0: Pointer to the classtable */
@@ -44826,13 +50518,19 @@ val_t NEW_ReduceAction65(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction65;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction65___init() {
+val_t NEW_ReduceAction65_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction65();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction65_parser___ReduceAction65___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction65();
   parser___ReduceAction65___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction66[44] = {
+const classtable_elt_t VFT_ReduceAction66[45] = {
   {(bigint) 359 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction66 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction66 < ReduceAction: superclass typecheck marker */},
@@ -44875,7 +50573,8 @@ const classtable_elt_t VFT_ReduceAction66[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction66 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction66___action},
-  {(bigint) 2 /* 42: ReduceAction66 < ReduceAction66: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction66 < ReduceAction66: superclass init_table position */},
   {(bigint) parser___ReduceAction66___init},
 };
 /* 0: Pointer to the classtable */
@@ -44885,13 +50584,19 @@ val_t NEW_ReduceAction66(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction66;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction66___init() {
+val_t NEW_ReduceAction66_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction66();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction66_parser___ReduceAction66___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction66();
   parser___ReduceAction66___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction67[44] = {
+const classtable_elt_t VFT_ReduceAction67[45] = {
   {(bigint) 355 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction67 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction67 < ReduceAction: superclass typecheck marker */},
@@ -44934,7 +50639,8 @@ const classtable_elt_t VFT_ReduceAction67[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction67 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction67___action},
-  {(bigint) 2 /* 42: ReduceAction67 < ReduceAction67: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction67 < ReduceAction67: superclass init_table position */},
   {(bigint) parser___ReduceAction67___init},
 };
 /* 0: Pointer to the classtable */
@@ -44944,13 +50650,19 @@ val_t NEW_ReduceAction67(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction67;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction67___init() {
+val_t NEW_ReduceAction67_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction67();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction67_parser___ReduceAction67___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction67();
   parser___ReduceAction67___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction68[44] = {
+const classtable_elt_t VFT_ReduceAction68[45] = {
   {(bigint) 351 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction68 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction68 < ReduceAction: superclass typecheck marker */},
@@ -44993,7 +50705,8 @@ const classtable_elt_t VFT_ReduceAction68[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction68 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction68___action},
-  {(bigint) 2 /* 42: ReduceAction68 < ReduceAction68: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction68 < ReduceAction68: superclass init_table position */},
   {(bigint) parser___ReduceAction68___init},
 };
 /* 0: Pointer to the classtable */
@@ -45003,13 +50716,19 @@ val_t NEW_ReduceAction68(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction68;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction68___init() {
+val_t NEW_ReduceAction68_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction68();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction68_parser___ReduceAction68___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction68();
   parser___ReduceAction68___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction69[44] = {
+const classtable_elt_t VFT_ReduceAction69[45] = {
   {(bigint) 347 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction69 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction69 < ReduceAction: superclass typecheck marker */},
@@ -45052,7 +50771,8 @@ const classtable_elt_t VFT_ReduceAction69[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction69 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction69___action},
-  {(bigint) 2 /* 42: ReduceAction69 < ReduceAction69: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction69 < ReduceAction69: superclass init_table position */},
   {(bigint) parser___ReduceAction69___init},
 };
 /* 0: Pointer to the classtable */
@@ -45062,13 +50782,19 @@ val_t NEW_ReduceAction69(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction69;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction69___init() {
+val_t NEW_ReduceAction69_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction69();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction69_parser___ReduceAction69___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction69();
   parser___ReduceAction69___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction70[44] = {
+const classtable_elt_t VFT_ReduceAction70[45] = {
   {(bigint) 339 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction70 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction70 < ReduceAction: superclass typecheck marker */},
@@ -45111,7 +50837,8 @@ const classtable_elt_t VFT_ReduceAction70[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction70 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction70___action},
-  {(bigint) 2 /* 42: ReduceAction70 < ReduceAction70: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction70 < ReduceAction70: superclass init_table position */},
   {(bigint) parser___ReduceAction70___init},
 };
 /* 0: Pointer to the classtable */
@@ -45121,13 +50848,19 @@ val_t NEW_ReduceAction70(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction70;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction70___init() {
+val_t NEW_ReduceAction70_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction70();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction70_parser___ReduceAction70___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction70();
   parser___ReduceAction70___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction71[44] = {
+const classtable_elt_t VFT_ReduceAction71[45] = {
   {(bigint) 335 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction71 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction71 < ReduceAction: superclass typecheck marker */},
@@ -45170,7 +50903,8 @@ const classtable_elt_t VFT_ReduceAction71[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction71 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction71___action},
-  {(bigint) 2 /* 42: ReduceAction71 < ReduceAction71: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction71 < ReduceAction71: superclass init_table position */},
   {(bigint) parser___ReduceAction71___init},
 };
 /* 0: Pointer to the classtable */
@@ -45180,13 +50914,19 @@ val_t NEW_ReduceAction71(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction71;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction71___init() {
+val_t NEW_ReduceAction71_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction71();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction71_parser___ReduceAction71___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction71();
   parser___ReduceAction71___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction72[44] = {
+const classtable_elt_t VFT_ReduceAction72[45] = {
   {(bigint) 331 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction72 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction72 < ReduceAction: superclass typecheck marker */},
@@ -45229,7 +50969,8 @@ const classtable_elt_t VFT_ReduceAction72[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction72 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction72___action},
-  {(bigint) 2 /* 42: ReduceAction72 < ReduceAction72: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction72 < ReduceAction72: superclass init_table position */},
   {(bigint) parser___ReduceAction72___init},
 };
 /* 0: Pointer to the classtable */
@@ -45239,13 +50980,19 @@ val_t NEW_ReduceAction72(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction72;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction72___init() {
+val_t NEW_ReduceAction72_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction72();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction72_parser___ReduceAction72___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction72();
   parser___ReduceAction72___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction73[44] = {
+const classtable_elt_t VFT_ReduceAction73[45] = {
   {(bigint) 327 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction73 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction73 < ReduceAction: superclass typecheck marker */},
@@ -45288,7 +51035,8 @@ const classtable_elt_t VFT_ReduceAction73[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction73 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction73___action},
-  {(bigint) 2 /* 42: ReduceAction73 < ReduceAction73: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction73 < ReduceAction73: superclass init_table position */},
   {(bigint) parser___ReduceAction73___init},
 };
 /* 0: Pointer to the classtable */
@@ -45298,13 +51046,19 @@ val_t NEW_ReduceAction73(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction73;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction73___init() {
+val_t NEW_ReduceAction73_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction73();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction73_parser___ReduceAction73___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction73();
   parser___ReduceAction73___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction74[44] = {
+const classtable_elt_t VFT_ReduceAction74[45] = {
   {(bigint) 323 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction74 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction74 < ReduceAction: superclass typecheck marker */},
@@ -45347,7 +51101,8 @@ const classtable_elt_t VFT_ReduceAction74[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction74 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction74___action},
-  {(bigint) 2 /* 42: ReduceAction74 < ReduceAction74: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction74 < ReduceAction74: superclass init_table position */},
   {(bigint) parser___ReduceAction74___init},
 };
 /* 0: Pointer to the classtable */
@@ -45357,13 +51112,19 @@ val_t NEW_ReduceAction74(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction74;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction74___init() {
+val_t NEW_ReduceAction74_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction74();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction74_parser___ReduceAction74___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction74();
   parser___ReduceAction74___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction75[44] = {
+const classtable_elt_t VFT_ReduceAction75[45] = {
   {(bigint) 319 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction75 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction75 < ReduceAction: superclass typecheck marker */},
@@ -45406,7 +51167,8 @@ const classtable_elt_t VFT_ReduceAction75[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction75 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction75___action},
-  {(bigint) 2 /* 42: ReduceAction75 < ReduceAction75: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction75 < ReduceAction75: superclass init_table position */},
   {(bigint) parser___ReduceAction75___init},
 };
 /* 0: Pointer to the classtable */
@@ -45416,13 +51178,19 @@ val_t NEW_ReduceAction75(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction75;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction75___init() {
+val_t NEW_ReduceAction75_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction75();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction75_parser___ReduceAction75___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction75();
   parser___ReduceAction75___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction76[44] = {
+const classtable_elt_t VFT_ReduceAction76[45] = {
   {(bigint) 315 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction76 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction76 < ReduceAction: superclass typecheck marker */},
@@ -45465,7 +51233,8 @@ const classtable_elt_t VFT_ReduceAction76[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction76 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction76___action},
-  {(bigint) 2 /* 42: ReduceAction76 < ReduceAction76: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction76 < ReduceAction76: superclass init_table position */},
   {(bigint) parser___ReduceAction76___init},
 };
 /* 0: Pointer to the classtable */
@@ -45475,13 +51244,19 @@ val_t NEW_ReduceAction76(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction76;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction76___init() {
+val_t NEW_ReduceAction76_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction76();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction76_parser___ReduceAction76___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction76();
   parser___ReduceAction76___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction77[44] = {
+const classtable_elt_t VFT_ReduceAction77[45] = {
   {(bigint) 311 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction77 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction77 < ReduceAction: superclass typecheck marker */},
@@ -45524,7 +51299,8 @@ const classtable_elt_t VFT_ReduceAction77[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction77 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction77___action},
-  {(bigint) 2 /* 42: ReduceAction77 < ReduceAction77: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction77 < ReduceAction77: superclass init_table position */},
   {(bigint) parser___ReduceAction77___init},
 };
 /* 0: Pointer to the classtable */
@@ -45534,13 +51310,19 @@ val_t NEW_ReduceAction77(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction77;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction77___init() {
+val_t NEW_ReduceAction77_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction77();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction77_parser___ReduceAction77___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction77();
   parser___ReduceAction77___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction78[44] = {
+const classtable_elt_t VFT_ReduceAction78[45] = {
   {(bigint) 307 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction78 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction78 < ReduceAction: superclass typecheck marker */},
@@ -45583,7 +51365,8 @@ const classtable_elt_t VFT_ReduceAction78[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction78 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction78___action},
-  {(bigint) 2 /* 42: ReduceAction78 < ReduceAction78: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction78 < ReduceAction78: superclass init_table position */},
   {(bigint) parser___ReduceAction78___init},
 };
 /* 0: Pointer to the classtable */
@@ -45593,13 +51376,19 @@ val_t NEW_ReduceAction78(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction78;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction78___init() {
+val_t NEW_ReduceAction78_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction78();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction78_parser___ReduceAction78___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction78();
   parser___ReduceAction78___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction79[44] = {
+const classtable_elt_t VFT_ReduceAction79[45] = {
   {(bigint) 303 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction79 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction79 < ReduceAction: superclass typecheck marker */},
@@ -45642,7 +51431,8 @@ const classtable_elt_t VFT_ReduceAction79[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction79 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction79___action},
-  {(bigint) 2 /* 42: ReduceAction79 < ReduceAction79: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction79 < ReduceAction79: superclass init_table position */},
   {(bigint) parser___ReduceAction79___init},
 };
 /* 0: Pointer to the classtable */
@@ -45652,13 +51442,19 @@ val_t NEW_ReduceAction79(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction79;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction79___init() {
+val_t NEW_ReduceAction79_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction79();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction79_parser___ReduceAction79___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction79();
   parser___ReduceAction79___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction80[44] = {
+const classtable_elt_t VFT_ReduceAction80[45] = {
   {(bigint) 295 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction80 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction80 < ReduceAction: superclass typecheck marker */},
@@ -45701,7 +51497,8 @@ const classtable_elt_t VFT_ReduceAction80[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction80 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction80___action},
-  {(bigint) 2 /* 42: ReduceAction80 < ReduceAction80: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction80 < ReduceAction80: superclass init_table position */},
   {(bigint) parser___ReduceAction80___init},
 };
 /* 0: Pointer to the classtable */
@@ -45711,13 +51508,19 @@ val_t NEW_ReduceAction80(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction80;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction80___init() {
+val_t NEW_ReduceAction80_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction80();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction80_parser___ReduceAction80___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction80();
   parser___ReduceAction80___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction81[44] = {
+const classtable_elt_t VFT_ReduceAction81[45] = {
   {(bigint) 291 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction81 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction81 < ReduceAction: superclass typecheck marker */},
@@ -45760,7 +51563,8 @@ const classtable_elt_t VFT_ReduceAction81[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction81 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction81___action},
-  {(bigint) 2 /* 42: ReduceAction81 < ReduceAction81: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction81 < ReduceAction81: superclass init_table position */},
   {(bigint) parser___ReduceAction81___init},
 };
 /* 0: Pointer to the classtable */
@@ -45770,13 +51574,19 @@ val_t NEW_ReduceAction81(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction81;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction81___init() {
+val_t NEW_ReduceAction81_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction81();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction81_parser___ReduceAction81___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction81();
   parser___ReduceAction81___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction82[44] = {
+const classtable_elt_t VFT_ReduceAction82[45] = {
   {(bigint) 287 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction82 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction82 < ReduceAction: superclass typecheck marker */},
@@ -45819,7 +51629,8 @@ const classtable_elt_t VFT_ReduceAction82[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction82 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction82___action},
-  {(bigint) 2 /* 42: ReduceAction82 < ReduceAction82: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction82 < ReduceAction82: superclass init_table position */},
   {(bigint) parser___ReduceAction82___init},
 };
 /* 0: Pointer to the classtable */
@@ -45829,13 +51640,19 @@ val_t NEW_ReduceAction82(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction82;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction82___init() {
+val_t NEW_ReduceAction82_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction82();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction82_parser___ReduceAction82___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction82();
   parser___ReduceAction82___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction83[44] = {
+const classtable_elt_t VFT_ReduceAction83[45] = {
   {(bigint) 283 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction83 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction83 < ReduceAction: superclass typecheck marker */},
@@ -45878,7 +51695,8 @@ const classtable_elt_t VFT_ReduceAction83[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction83 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction83___action},
-  {(bigint) 2 /* 42: ReduceAction83 < ReduceAction83: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction83 < ReduceAction83: superclass init_table position */},
   {(bigint) parser___ReduceAction83___init},
 };
 /* 0: Pointer to the classtable */
@@ -45888,13 +51706,19 @@ val_t NEW_ReduceAction83(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction83;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction83___init() {
+val_t NEW_ReduceAction83_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction83();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction83_parser___ReduceAction83___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction83();
   parser___ReduceAction83___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction84[44] = {
+const classtable_elt_t VFT_ReduceAction84[45] = {
   {(bigint) 279 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction84 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction84 < ReduceAction: superclass typecheck marker */},
@@ -45937,7 +51761,8 @@ const classtable_elt_t VFT_ReduceAction84[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction84 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction84___action},
-  {(bigint) 2 /* 42: ReduceAction84 < ReduceAction84: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction84 < ReduceAction84: superclass init_table position */},
   {(bigint) parser___ReduceAction84___init},
 };
 /* 0: Pointer to the classtable */
@@ -45947,13 +51772,19 @@ val_t NEW_ReduceAction84(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction84;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction84___init() {
+val_t NEW_ReduceAction84_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction84();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction84_parser___ReduceAction84___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction84();
   parser___ReduceAction84___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction85[44] = {
+const classtable_elt_t VFT_ReduceAction85[45] = {
   {(bigint) 275 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction85 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction85 < ReduceAction: superclass typecheck marker */},
@@ -45996,7 +51827,8 @@ const classtable_elt_t VFT_ReduceAction85[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction85 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction85___action},
-  {(bigint) 2 /* 42: ReduceAction85 < ReduceAction85: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction85 < ReduceAction85: superclass init_table position */},
   {(bigint) parser___ReduceAction85___init},
 };
 /* 0: Pointer to the classtable */
@@ -46006,13 +51838,19 @@ val_t NEW_ReduceAction85(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction85;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction85___init() {
+val_t NEW_ReduceAction85_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction85();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction85_parser___ReduceAction85___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction85();
   parser___ReduceAction85___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction86[44] = {
+const classtable_elt_t VFT_ReduceAction86[45] = {
   {(bigint) 271 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction86 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction86 < ReduceAction: superclass typecheck marker */},
@@ -46055,7 +51893,8 @@ const classtable_elt_t VFT_ReduceAction86[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction86 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction86___action},
-  {(bigint) 2 /* 42: ReduceAction86 < ReduceAction86: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction86 < ReduceAction86: superclass init_table position */},
   {(bigint) parser___ReduceAction86___init},
 };
 /* 0: Pointer to the classtable */
@@ -46065,13 +51904,19 @@ val_t NEW_ReduceAction86(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction86;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction86___init() {
+val_t NEW_ReduceAction86_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction86();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction86_parser___ReduceAction86___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction86();
   parser___ReduceAction86___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction87[44] = {
+const classtable_elt_t VFT_ReduceAction87[45] = {
   {(bigint) 267 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction87 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction87 < ReduceAction: superclass typecheck marker */},
@@ -46114,7 +51959,8 @@ const classtable_elt_t VFT_ReduceAction87[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction87 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction87___action},
-  {(bigint) 2 /* 42: ReduceAction87 < ReduceAction87: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction87 < ReduceAction87: superclass init_table position */},
   {(bigint) parser___ReduceAction87___init},
 };
 /* 0: Pointer to the classtable */
@@ -46124,13 +51970,19 @@ val_t NEW_ReduceAction87(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction87;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction87___init() {
+val_t NEW_ReduceAction87_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction87();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction87_parser___ReduceAction87___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction87();
   parser___ReduceAction87___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction88[44] = {
+const classtable_elt_t VFT_ReduceAction88[45] = {
   {(bigint) 263 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction88 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction88 < ReduceAction: superclass typecheck marker */},
@@ -46173,7 +52025,8 @@ const classtable_elt_t VFT_ReduceAction88[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction88 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction88___action},
-  {(bigint) 2 /* 42: ReduceAction88 < ReduceAction88: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction88 < ReduceAction88: superclass init_table position */},
   {(bigint) parser___ReduceAction88___init},
 };
 /* 0: Pointer to the classtable */
@@ -46183,13 +52036,19 @@ val_t NEW_ReduceAction88(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction88;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction88___init() {
+val_t NEW_ReduceAction88_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction88();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction88_parser___ReduceAction88___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction88();
   parser___ReduceAction88___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction89[44] = {
+const classtable_elt_t VFT_ReduceAction89[45] = {
   {(bigint) 259 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction89 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction89 < ReduceAction: superclass typecheck marker */},
@@ -46232,7 +52091,8 @@ const classtable_elt_t VFT_ReduceAction89[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction89 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction89___action},
-  {(bigint) 2 /* 42: ReduceAction89 < ReduceAction89: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction89 < ReduceAction89: superclass init_table position */},
   {(bigint) parser___ReduceAction89___init},
 };
 /* 0: Pointer to the classtable */
@@ -46242,13 +52102,19 @@ val_t NEW_ReduceAction89(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction89;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction89___init() {
+val_t NEW_ReduceAction89_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction89();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction89_parser___ReduceAction89___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction89();
   parser___ReduceAction89___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction90[44] = {
+const classtable_elt_t VFT_ReduceAction90[45] = {
   {(bigint) 251 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction90 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction90 < ReduceAction: superclass typecheck marker */},
@@ -46291,7 +52157,8 @@ const classtable_elt_t VFT_ReduceAction90[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction90 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction90___action},
-  {(bigint) 2 /* 42: ReduceAction90 < ReduceAction90: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction90 < ReduceAction90: superclass init_table position */},
   {(bigint) parser___ReduceAction90___init},
 };
 /* 0: Pointer to the classtable */
@@ -46301,13 +52168,19 @@ val_t NEW_ReduceAction90(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction90;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction90___init() {
+val_t NEW_ReduceAction90_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction90();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction90_parser___ReduceAction90___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction90();
   parser___ReduceAction90___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction91[44] = {
+const classtable_elt_t VFT_ReduceAction91[45] = {
   {(bigint) 247 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction91 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction91 < ReduceAction: superclass typecheck marker */},
@@ -46350,7 +52223,8 @@ const classtable_elt_t VFT_ReduceAction91[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction91 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction91___action},
-  {(bigint) 2 /* 42: ReduceAction91 < ReduceAction91: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction91 < ReduceAction91: superclass init_table position */},
   {(bigint) parser___ReduceAction91___init},
 };
 /* 0: Pointer to the classtable */
@@ -46360,13 +52234,19 @@ val_t NEW_ReduceAction91(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction91;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction91___init() {
+val_t NEW_ReduceAction91_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction91();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction91_parser___ReduceAction91___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction91();
   parser___ReduceAction91___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction92[44] = {
+const classtable_elt_t VFT_ReduceAction92[45] = {
   {(bigint) 243 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction92 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction92 < ReduceAction: superclass typecheck marker */},
@@ -46409,7 +52289,8 @@ const classtable_elt_t VFT_ReduceAction92[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction92 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction92___action},
-  {(bigint) 2 /* 42: ReduceAction92 < ReduceAction92: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction92 < ReduceAction92: superclass init_table position */},
   {(bigint) parser___ReduceAction92___init},
 };
 /* 0: Pointer to the classtable */
@@ -46419,13 +52300,19 @@ val_t NEW_ReduceAction92(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction92;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction92___init() {
+val_t NEW_ReduceAction92_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction92();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction92_parser___ReduceAction92___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction92();
   parser___ReduceAction92___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction93[44] = {
+const classtable_elt_t VFT_ReduceAction93[45] = {
   {(bigint) 239 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction93 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction93 < ReduceAction: superclass typecheck marker */},
@@ -46468,7 +52355,8 @@ const classtable_elt_t VFT_ReduceAction93[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction93 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction93___action},
-  {(bigint) 2 /* 42: ReduceAction93 < ReduceAction93: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction93 < ReduceAction93: superclass init_table position */},
   {(bigint) parser___ReduceAction93___init},
 };
 /* 0: Pointer to the classtable */
@@ -46478,13 +52366,19 @@ val_t NEW_ReduceAction93(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction93;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction93___init() {
+val_t NEW_ReduceAction93_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction93();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction93_parser___ReduceAction93___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction93();
   parser___ReduceAction93___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction94[44] = {
+const classtable_elt_t VFT_ReduceAction94[45] = {
   {(bigint) 235 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction94 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction94 < ReduceAction: superclass typecheck marker */},
@@ -46527,7 +52421,8 @@ const classtable_elt_t VFT_ReduceAction94[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction94 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction94___action},
-  {(bigint) 2 /* 42: ReduceAction94 < ReduceAction94: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction94 < ReduceAction94: superclass init_table position */},
   {(bigint) parser___ReduceAction94___init},
 };
 /* 0: Pointer to the classtable */
@@ -46537,13 +52432,19 @@ val_t NEW_ReduceAction94(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction94;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction94___init() {
+val_t NEW_ReduceAction94_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction94();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction94_parser___ReduceAction94___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction94();
   parser___ReduceAction94___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction95[44] = {
+const classtable_elt_t VFT_ReduceAction95[45] = {
   {(bigint) 231 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction95 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction95 < ReduceAction: superclass typecheck marker */},
@@ -46586,7 +52487,8 @@ const classtable_elt_t VFT_ReduceAction95[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction95 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction95___action},
-  {(bigint) 2 /* 42: ReduceAction95 < ReduceAction95: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction95 < ReduceAction95: superclass init_table position */},
   {(bigint) parser___ReduceAction95___init},
 };
 /* 0: Pointer to the classtable */
@@ -46596,13 +52498,19 @@ val_t NEW_ReduceAction95(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction95;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction95___init() {
+val_t NEW_ReduceAction95_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction95();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction95_parser___ReduceAction95___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction95();
   parser___ReduceAction95___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction96[44] = {
+const classtable_elt_t VFT_ReduceAction96[45] = {
   {(bigint) 227 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction96 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction96 < ReduceAction: superclass typecheck marker */},
@@ -46645,7 +52553,8 @@ const classtable_elt_t VFT_ReduceAction96[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction96 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction96___action},
-  {(bigint) 2 /* 42: ReduceAction96 < ReduceAction96: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction96 < ReduceAction96: superclass init_table position */},
   {(bigint) parser___ReduceAction96___init},
 };
 /* 0: Pointer to the classtable */
@@ -46655,13 +52564,19 @@ val_t NEW_ReduceAction96(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction96;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction96___init() {
+val_t NEW_ReduceAction96_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction96();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction96_parser___ReduceAction96___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction96();
   parser___ReduceAction96___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction97[44] = {
+const classtable_elt_t VFT_ReduceAction97[45] = {
   {(bigint) 223 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction97 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction97 < ReduceAction: superclass typecheck marker */},
@@ -46704,7 +52619,8 @@ const classtable_elt_t VFT_ReduceAction97[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction97 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction97___action},
-  {(bigint) 2 /* 42: ReduceAction97 < ReduceAction97: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction97 < ReduceAction97: superclass init_table position */},
   {(bigint) parser___ReduceAction97___init},
 };
 /* 0: Pointer to the classtable */
@@ -46714,13 +52630,19 @@ val_t NEW_ReduceAction97(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction97;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction97___init() {
+val_t NEW_ReduceAction97_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction97();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction97_parser___ReduceAction97___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction97();
   parser___ReduceAction97___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction98[44] = {
+const classtable_elt_t VFT_ReduceAction98[45] = {
   {(bigint) 219 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction98 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction98 < ReduceAction: superclass typecheck marker */},
@@ -46763,7 +52685,8 @@ const classtable_elt_t VFT_ReduceAction98[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction98 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction98___action},
-  {(bigint) 2 /* 42: ReduceAction98 < ReduceAction98: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction98 < ReduceAction98: superclass init_table position */},
   {(bigint) parser___ReduceAction98___init},
 };
 /* 0: Pointer to the classtable */
@@ -46773,13 +52696,19 @@ val_t NEW_ReduceAction98(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction98;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction98___init() {
+val_t NEW_ReduceAction98_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction98();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction98_parser___ReduceAction98___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction98();
   parser___ReduceAction98___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction99[44] = {
+const classtable_elt_t VFT_ReduceAction99[45] = {
   {(bigint) 215 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction99 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction99 < ReduceAction: superclass typecheck marker */},
@@ -46822,7 +52751,8 @@ const classtable_elt_t VFT_ReduceAction99[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction99 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction99___action},
-  {(bigint) 2 /* 42: ReduceAction99 < ReduceAction99: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction99 < ReduceAction99: superclass init_table position */},
   {(bigint) parser___ReduceAction99___init},
 };
 /* 0: Pointer to the classtable */
@@ -46832,13 +52762,19 @@ val_t NEW_ReduceAction99(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction99;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction99___init() {
+val_t NEW_ReduceAction99_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction99();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction99_parser___ReduceAction99___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction99();
   parser___ReduceAction99___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction100[44] = {
+const classtable_elt_t VFT_ReduceAction100[45] = {
   {(bigint) 2491 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction100 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction100 < ReduceAction: superclass typecheck marker */},
@@ -46881,7 +52817,8 @@ const classtable_elt_t VFT_ReduceAction100[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction100 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction100___action},
-  {(bigint) 2 /* 42: ReduceAction100 < ReduceAction100: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction100 < ReduceAction100: superclass init_table position */},
   {(bigint) parser___ReduceAction100___init},
 };
 /* 0: Pointer to the classtable */
@@ -46891,13 +52828,19 @@ val_t NEW_ReduceAction100(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction100;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction100___init() {
+val_t NEW_ReduceAction100_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction100();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction100_parser___ReduceAction100___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction100();
   parser___ReduceAction100___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction101[44] = {
+const classtable_elt_t VFT_ReduceAction101[45] = {
   {(bigint) 2487 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction101 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction101 < ReduceAction: superclass typecheck marker */},
@@ -46940,7 +52883,8 @@ const classtable_elt_t VFT_ReduceAction101[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction101 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction101___action},
-  {(bigint) 2 /* 42: ReduceAction101 < ReduceAction101: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction101 < ReduceAction101: superclass init_table position */},
   {(bigint) parser___ReduceAction101___init},
 };
 /* 0: Pointer to the classtable */
@@ -46950,13 +52894,19 @@ val_t NEW_ReduceAction101(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction101;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction101___init() {
+val_t NEW_ReduceAction101_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction101();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction101_parser___ReduceAction101___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction101();
   parser___ReduceAction101___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction102[44] = {
+const classtable_elt_t VFT_ReduceAction102[45] = {
   {(bigint) 2483 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction102 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction102 < ReduceAction: superclass typecheck marker */},
@@ -46999,7 +52949,8 @@ const classtable_elt_t VFT_ReduceAction102[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction102 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction102___action},
-  {(bigint) 2 /* 42: ReduceAction102 < ReduceAction102: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction102 < ReduceAction102: superclass init_table position */},
   {(bigint) parser___ReduceAction102___init},
 };
 /* 0: Pointer to the classtable */
@@ -47009,13 +52960,19 @@ val_t NEW_ReduceAction102(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction102;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction102___init() {
+val_t NEW_ReduceAction102_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction102();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction102_parser___ReduceAction102___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction102();
   parser___ReduceAction102___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction103[44] = {
+const classtable_elt_t VFT_ReduceAction103[45] = {
   {(bigint) 2479 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction103 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction103 < ReduceAction: superclass typecheck marker */},
@@ -47058,7 +53015,8 @@ const classtable_elt_t VFT_ReduceAction103[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction103 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction103___action},
-  {(bigint) 2 /* 42: ReduceAction103 < ReduceAction103: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction103 < ReduceAction103: superclass init_table position */},
   {(bigint) parser___ReduceAction103___init},
 };
 /* 0: Pointer to the classtable */
@@ -47068,13 +53026,19 @@ val_t NEW_ReduceAction103(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction103;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction103___init() {
+val_t NEW_ReduceAction103_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction103();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction103_parser___ReduceAction103___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction103();
   parser___ReduceAction103___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction104[44] = {
+const classtable_elt_t VFT_ReduceAction104[45] = {
   {(bigint) 2475 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction104 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction104 < ReduceAction: superclass typecheck marker */},
@@ -47117,7 +53081,8 @@ const classtable_elt_t VFT_ReduceAction104[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction104 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction104___action},
-  {(bigint) 2 /* 42: ReduceAction104 < ReduceAction104: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction104 < ReduceAction104: superclass init_table position */},
   {(bigint) parser___ReduceAction104___init},
 };
 /* 0: Pointer to the classtable */
@@ -47127,13 +53092,19 @@ val_t NEW_ReduceAction104(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction104;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction104___init() {
+val_t NEW_ReduceAction104_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction104();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction104_parser___ReduceAction104___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction104();
   parser___ReduceAction104___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction105[44] = {
+const classtable_elt_t VFT_ReduceAction105[45] = {
   {(bigint) 2471 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction105 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction105 < ReduceAction: superclass typecheck marker */},
@@ -47176,7 +53147,8 @@ const classtable_elt_t VFT_ReduceAction105[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction105 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction105___action},
-  {(bigint) 2 /* 42: ReduceAction105 < ReduceAction105: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction105 < ReduceAction105: superclass init_table position */},
   {(bigint) parser___ReduceAction105___init},
 };
 /* 0: Pointer to the classtable */
@@ -47186,13 +53158,19 @@ val_t NEW_ReduceAction105(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction105;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction105___init() {
+val_t NEW_ReduceAction105_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction105();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction105_parser___ReduceAction105___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction105();
   parser___ReduceAction105___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction106[44] = {
+const classtable_elt_t VFT_ReduceAction106[45] = {
   {(bigint) 2467 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction106 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction106 < ReduceAction: superclass typecheck marker */},
@@ -47235,7 +53213,8 @@ const classtable_elt_t VFT_ReduceAction106[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction106 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction106___action},
-  {(bigint) 2 /* 42: ReduceAction106 < ReduceAction106: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction106 < ReduceAction106: superclass init_table position */},
   {(bigint) parser___ReduceAction106___init},
 };
 /* 0: Pointer to the classtable */
@@ -47245,13 +53224,19 @@ val_t NEW_ReduceAction106(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction106;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction106___init() {
+val_t NEW_ReduceAction106_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction106();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction106_parser___ReduceAction106___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction106();
   parser___ReduceAction106___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction107[44] = {
+const classtable_elt_t VFT_ReduceAction107[45] = {
   {(bigint) 2463 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction107 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction107 < ReduceAction: superclass typecheck marker */},
@@ -47294,7 +53279,8 @@ const classtable_elt_t VFT_ReduceAction107[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction107 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction107___action},
-  {(bigint) 2 /* 42: ReduceAction107 < ReduceAction107: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction107 < ReduceAction107: superclass init_table position */},
   {(bigint) parser___ReduceAction107___init},
 };
 /* 0: Pointer to the classtable */
@@ -47304,13 +53290,19 @@ val_t NEW_ReduceAction107(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction107;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction107___init() {
+val_t NEW_ReduceAction107_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction107();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction107_parser___ReduceAction107___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction107();
   parser___ReduceAction107___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction108[44] = {
+const classtable_elt_t VFT_ReduceAction108[45] = {
   {(bigint) 2459 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction108 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction108 < ReduceAction: superclass typecheck marker */},
@@ -47353,7 +53345,8 @@ const classtable_elt_t VFT_ReduceAction108[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction108 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction108___action},
-  {(bigint) 2 /* 42: ReduceAction108 < ReduceAction108: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction108 < ReduceAction108: superclass init_table position */},
   {(bigint) parser___ReduceAction108___init},
 };
 /* 0: Pointer to the classtable */
@@ -47363,13 +53356,19 @@ val_t NEW_ReduceAction108(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction108;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction108___init() {
+val_t NEW_ReduceAction108_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction108();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction108_parser___ReduceAction108___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction108();
   parser___ReduceAction108___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction109[44] = {
+const classtable_elt_t VFT_ReduceAction109[45] = {
   {(bigint) 2455 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction109 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction109 < ReduceAction: superclass typecheck marker */},
@@ -47412,7 +53411,8 @@ const classtable_elt_t VFT_ReduceAction109[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction109 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction109___action},
-  {(bigint) 2 /* 42: ReduceAction109 < ReduceAction109: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction109 < ReduceAction109: superclass init_table position */},
   {(bigint) parser___ReduceAction109___init},
 };
 /* 0: Pointer to the classtable */
@@ -47422,13 +53422,19 @@ val_t NEW_ReduceAction109(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction109;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction109___init() {
+val_t NEW_ReduceAction109_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction109();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction109_parser___ReduceAction109___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction109();
   parser___ReduceAction109___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction110[44] = {
+const classtable_elt_t VFT_ReduceAction110[45] = {
   {(bigint) 2447 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction110 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction110 < ReduceAction: superclass typecheck marker */},
@@ -47471,7 +53477,8 @@ const classtable_elt_t VFT_ReduceAction110[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction110 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction110___action},
-  {(bigint) 2 /* 42: ReduceAction110 < ReduceAction110: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction110 < ReduceAction110: superclass init_table position */},
   {(bigint) parser___ReduceAction110___init},
 };
 /* 0: Pointer to the classtable */
@@ -47481,13 +53488,19 @@ val_t NEW_ReduceAction110(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction110;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction110___init() {
+val_t NEW_ReduceAction110_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction110();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction110_parser___ReduceAction110___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction110();
   parser___ReduceAction110___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction111[44] = {
+const classtable_elt_t VFT_ReduceAction111[45] = {
   {(bigint) 2443 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction111 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction111 < ReduceAction: superclass typecheck marker */},
@@ -47530,7 +53543,8 @@ const classtable_elt_t VFT_ReduceAction111[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction111 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction111___action},
-  {(bigint) 2 /* 42: ReduceAction111 < ReduceAction111: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction111 < ReduceAction111: superclass init_table position */},
   {(bigint) parser___ReduceAction111___init},
 };
 /* 0: Pointer to the classtable */
@@ -47540,13 +53554,19 @@ val_t NEW_ReduceAction111(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction111;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction111___init() {
+val_t NEW_ReduceAction111_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction111();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction111_parser___ReduceAction111___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction111();
   parser___ReduceAction111___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction112[44] = {
+const classtable_elt_t VFT_ReduceAction112[45] = {
   {(bigint) 2439 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction112 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction112 < ReduceAction: superclass typecheck marker */},
@@ -47589,7 +53609,8 @@ const classtable_elt_t VFT_ReduceAction112[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction112 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction112___action},
-  {(bigint) 2 /* 42: ReduceAction112 < ReduceAction112: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction112 < ReduceAction112: superclass init_table position */},
   {(bigint) parser___ReduceAction112___init},
 };
 /* 0: Pointer to the classtable */
@@ -47599,13 +53620,19 @@ val_t NEW_ReduceAction112(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction112;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction112___init() {
+val_t NEW_ReduceAction112_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction112();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction112_parser___ReduceAction112___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction112();
   parser___ReduceAction112___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction113[44] = {
+const classtable_elt_t VFT_ReduceAction113[45] = {
   {(bigint) 2435 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction113 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction113 < ReduceAction: superclass typecheck marker */},
@@ -47648,7 +53675,8 @@ const classtable_elt_t VFT_ReduceAction113[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction113 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction113___action},
-  {(bigint) 2 /* 42: ReduceAction113 < ReduceAction113: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction113 < ReduceAction113: superclass init_table position */},
   {(bigint) parser___ReduceAction113___init},
 };
 /* 0: Pointer to the classtable */
@@ -47658,13 +53686,19 @@ val_t NEW_ReduceAction113(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction113;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction113___init() {
+val_t NEW_ReduceAction113_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction113();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction113_parser___ReduceAction113___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction113();
   parser___ReduceAction113___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction114[44] = {
+const classtable_elt_t VFT_ReduceAction114[45] = {
   {(bigint) 2431 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction114 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction114 < ReduceAction: superclass typecheck marker */},
@@ -47707,7 +53741,8 @@ const classtable_elt_t VFT_ReduceAction114[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction114 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction114___action},
-  {(bigint) 2 /* 42: ReduceAction114 < ReduceAction114: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction114 < ReduceAction114: superclass init_table position */},
   {(bigint) parser___ReduceAction114___init},
 };
 /* 0: Pointer to the classtable */
@@ -47717,13 +53752,19 @@ val_t NEW_ReduceAction114(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction114;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction114___init() {
+val_t NEW_ReduceAction114_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction114();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction114_parser___ReduceAction114___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction114();
   parser___ReduceAction114___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction115[44] = {
+const classtable_elt_t VFT_ReduceAction115[45] = {
   {(bigint) 2427 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction115 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction115 < ReduceAction: superclass typecheck marker */},
@@ -47766,7 +53807,8 @@ const classtable_elt_t VFT_ReduceAction115[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction115 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction115___action},
-  {(bigint) 2 /* 42: ReduceAction115 < ReduceAction115: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction115 < ReduceAction115: superclass init_table position */},
   {(bigint) parser___ReduceAction115___init},
 };
 /* 0: Pointer to the classtable */
@@ -47776,13 +53818,19 @@ val_t NEW_ReduceAction115(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction115;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction115___init() {
+val_t NEW_ReduceAction115_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction115();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction115_parser___ReduceAction115___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction115();
   parser___ReduceAction115___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction116[44] = {
+const classtable_elt_t VFT_ReduceAction116[45] = {
   {(bigint) 2423 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction116 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction116 < ReduceAction: superclass typecheck marker */},
@@ -47825,7 +53873,8 @@ const classtable_elt_t VFT_ReduceAction116[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction116 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction116___action},
-  {(bigint) 2 /* 42: ReduceAction116 < ReduceAction116: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction116 < ReduceAction116: superclass init_table position */},
   {(bigint) parser___ReduceAction116___init},
 };
 /* 0: Pointer to the classtable */
@@ -47835,13 +53884,19 @@ val_t NEW_ReduceAction116(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction116;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction116___init() {
+val_t NEW_ReduceAction116_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction116();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction116_parser___ReduceAction116___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction116();
   parser___ReduceAction116___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction117[44] = {
+const classtable_elt_t VFT_ReduceAction117[45] = {
   {(bigint) 2419 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction117 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction117 < ReduceAction: superclass typecheck marker */},
@@ -47884,7 +53939,8 @@ const classtable_elt_t VFT_ReduceAction117[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction117 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction117___action},
-  {(bigint) 2 /* 42: ReduceAction117 < ReduceAction117: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction117 < ReduceAction117: superclass init_table position */},
   {(bigint) parser___ReduceAction117___init},
 };
 /* 0: Pointer to the classtable */
@@ -47894,13 +53950,19 @@ val_t NEW_ReduceAction117(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction117;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction117___init() {
+val_t NEW_ReduceAction117_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction117();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction117_parser___ReduceAction117___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction117();
   parser___ReduceAction117___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction118[44] = {
+const classtable_elt_t VFT_ReduceAction118[45] = {
   {(bigint) 2415 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction118 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction118 < ReduceAction: superclass typecheck marker */},
@@ -47943,7 +54005,8 @@ const classtable_elt_t VFT_ReduceAction118[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction118 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction118___action},
-  {(bigint) 2 /* 42: ReduceAction118 < ReduceAction118: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction118 < ReduceAction118: superclass init_table position */},
   {(bigint) parser___ReduceAction118___init},
 };
 /* 0: Pointer to the classtable */
@@ -47953,13 +54016,19 @@ val_t NEW_ReduceAction118(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction118;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction118___init() {
+val_t NEW_ReduceAction118_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction118();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction118_parser___ReduceAction118___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction118();
   parser___ReduceAction118___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction119[44] = {
+const classtable_elt_t VFT_ReduceAction119[45] = {
   {(bigint) 2411 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction119 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction119 < ReduceAction: superclass typecheck marker */},
@@ -48002,7 +54071,8 @@ const classtable_elt_t VFT_ReduceAction119[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction119 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction119___action},
-  {(bigint) 2 /* 42: ReduceAction119 < ReduceAction119: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction119 < ReduceAction119: superclass init_table position */},
   {(bigint) parser___ReduceAction119___init},
 };
 /* 0: Pointer to the classtable */
@@ -48012,13 +54082,19 @@ val_t NEW_ReduceAction119(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction119;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction119___init() {
+val_t NEW_ReduceAction119_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction119();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction119_parser___ReduceAction119___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction119();
   parser___ReduceAction119___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction120[44] = {
+const classtable_elt_t VFT_ReduceAction120[45] = {
   {(bigint) 2403 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction120 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction120 < ReduceAction: superclass typecheck marker */},
@@ -48061,7 +54137,8 @@ const classtable_elt_t VFT_ReduceAction120[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction120 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction120___action},
-  {(bigint) 2 /* 42: ReduceAction120 < ReduceAction120: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction120 < ReduceAction120: superclass init_table position */},
   {(bigint) parser___ReduceAction120___init},
 };
 /* 0: Pointer to the classtable */
@@ -48071,13 +54148,19 @@ val_t NEW_ReduceAction120(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction120;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction120___init() {
+val_t NEW_ReduceAction120_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction120();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction120_parser___ReduceAction120___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction120();
   parser___ReduceAction120___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction121[44] = {
+const classtable_elt_t VFT_ReduceAction121[45] = {
   {(bigint) 2399 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction121 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction121 < ReduceAction: superclass typecheck marker */},
@@ -48120,7 +54203,8 @@ const classtable_elt_t VFT_ReduceAction121[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction121 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction121___action},
-  {(bigint) 2 /* 42: ReduceAction121 < ReduceAction121: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction121 < ReduceAction121: superclass init_table position */},
   {(bigint) parser___ReduceAction121___init},
 };
 /* 0: Pointer to the classtable */
@@ -48130,13 +54214,19 @@ val_t NEW_ReduceAction121(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction121;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction121___init() {
+val_t NEW_ReduceAction121_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction121();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction121_parser___ReduceAction121___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction121();
   parser___ReduceAction121___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction122[44] = {
+const classtable_elt_t VFT_ReduceAction122[45] = {
   {(bigint) 2395 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction122 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction122 < ReduceAction: superclass typecheck marker */},
@@ -48179,7 +54269,8 @@ const classtable_elt_t VFT_ReduceAction122[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction122 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction122___action},
-  {(bigint) 2 /* 42: ReduceAction122 < ReduceAction122: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction122 < ReduceAction122: superclass init_table position */},
   {(bigint) parser___ReduceAction122___init},
 };
 /* 0: Pointer to the classtable */
@@ -48189,13 +54280,19 @@ val_t NEW_ReduceAction122(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction122;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction122___init() {
+val_t NEW_ReduceAction122_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction122();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction122_parser___ReduceAction122___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction122();
   parser___ReduceAction122___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction123[44] = {
+const classtable_elt_t VFT_ReduceAction123[45] = {
   {(bigint) 2391 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction123 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction123 < ReduceAction: superclass typecheck marker */},
@@ -48238,7 +54335,8 @@ const classtable_elt_t VFT_ReduceAction123[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction123 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction123___action},
-  {(bigint) 2 /* 42: ReduceAction123 < ReduceAction123: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction123 < ReduceAction123: superclass init_table position */},
   {(bigint) parser___ReduceAction123___init},
 };
 /* 0: Pointer to the classtable */
@@ -48248,13 +54346,19 @@ val_t NEW_ReduceAction123(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction123;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction123___init() {
+val_t NEW_ReduceAction123_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction123();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction123_parser___ReduceAction123___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction123();
   parser___ReduceAction123___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction124[44] = {
+const classtable_elt_t VFT_ReduceAction124[45] = {
   {(bigint) 2387 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction124 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction124 < ReduceAction: superclass typecheck marker */},
@@ -48297,7 +54401,8 @@ const classtable_elt_t VFT_ReduceAction124[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction124 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction124___action},
-  {(bigint) 2 /* 42: ReduceAction124 < ReduceAction124: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction124 < ReduceAction124: superclass init_table position */},
   {(bigint) parser___ReduceAction124___init},
 };
 /* 0: Pointer to the classtable */
@@ -48307,13 +54412,19 @@ val_t NEW_ReduceAction124(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction124;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction124___init() {
+val_t NEW_ReduceAction124_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction124();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction124_parser___ReduceAction124___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction124();
   parser___ReduceAction124___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction125[44] = {
+const classtable_elt_t VFT_ReduceAction125[45] = {
   {(bigint) 2383 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction125 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction125 < ReduceAction: superclass typecheck marker */},
@@ -48356,7 +54467,8 @@ const classtable_elt_t VFT_ReduceAction125[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction125 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction125___action},
-  {(bigint) 2 /* 42: ReduceAction125 < ReduceAction125: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction125 < ReduceAction125: superclass init_table position */},
   {(bigint) parser___ReduceAction125___init},
 };
 /* 0: Pointer to the classtable */
@@ -48366,13 +54478,19 @@ val_t NEW_ReduceAction125(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction125;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction125___init() {
+val_t NEW_ReduceAction125_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction125();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction125_parser___ReduceAction125___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction125();
   parser___ReduceAction125___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction126[44] = {
+const classtable_elt_t VFT_ReduceAction126[45] = {
   {(bigint) 2379 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction126 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction126 < ReduceAction: superclass typecheck marker */},
@@ -48415,7 +54533,8 @@ const classtable_elt_t VFT_ReduceAction126[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction126 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction126___action},
-  {(bigint) 2 /* 42: ReduceAction126 < ReduceAction126: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction126 < ReduceAction126: superclass init_table position */},
   {(bigint) parser___ReduceAction126___init},
 };
 /* 0: Pointer to the classtable */
@@ -48425,13 +54544,19 @@ val_t NEW_ReduceAction126(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction126;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction126___init() {
+val_t NEW_ReduceAction126_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction126();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction126_parser___ReduceAction126___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction126();
   parser___ReduceAction126___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction127[44] = {
+const classtable_elt_t VFT_ReduceAction127[45] = {
   {(bigint) 2375 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction127 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction127 < ReduceAction: superclass typecheck marker */},
@@ -48474,7 +54599,8 @@ const classtable_elt_t VFT_ReduceAction127[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction127 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction127___action},
-  {(bigint) 2 /* 42: ReduceAction127 < ReduceAction127: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction127 < ReduceAction127: superclass init_table position */},
   {(bigint) parser___ReduceAction127___init},
 };
 /* 0: Pointer to the classtable */
@@ -48484,13 +54610,19 @@ val_t NEW_ReduceAction127(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction127;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction127___init() {
+val_t NEW_ReduceAction127_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction127();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction127_parser___ReduceAction127___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction127();
   parser___ReduceAction127___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction128[44] = {
+const classtable_elt_t VFT_ReduceAction128[45] = {
   {(bigint) 2371 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction128 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction128 < ReduceAction: superclass typecheck marker */},
@@ -48533,7 +54665,8 @@ const classtable_elt_t VFT_ReduceAction128[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction128 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction128___action},
-  {(bigint) 2 /* 42: ReduceAction128 < ReduceAction128: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction128 < ReduceAction128: superclass init_table position */},
   {(bigint) parser___ReduceAction128___init},
 };
 /* 0: Pointer to the classtable */
@@ -48543,13 +54676,19 @@ val_t NEW_ReduceAction128(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction128;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction128___init() {
+val_t NEW_ReduceAction128_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction128();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction128_parser___ReduceAction128___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction128();
   parser___ReduceAction128___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction129[44] = {
+const classtable_elt_t VFT_ReduceAction129[45] = {
   {(bigint) 2367 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction129 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction129 < ReduceAction: superclass typecheck marker */},
@@ -48592,7 +54731,8 @@ const classtable_elt_t VFT_ReduceAction129[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction129 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction129___action},
-  {(bigint) 2 /* 42: ReduceAction129 < ReduceAction129: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction129 < ReduceAction129: superclass init_table position */},
   {(bigint) parser___ReduceAction129___init},
 };
 /* 0: Pointer to the classtable */
@@ -48602,13 +54742,19 @@ val_t NEW_ReduceAction129(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction129;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction129___init() {
+val_t NEW_ReduceAction129_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction129();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction129_parser___ReduceAction129___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction129();
   parser___ReduceAction129___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction130[44] = {
+const classtable_elt_t VFT_ReduceAction130[45] = {
   {(bigint) 2359 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction130 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction130 < ReduceAction: superclass typecheck marker */},
@@ -48651,7 +54797,8 @@ const classtable_elt_t VFT_ReduceAction130[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction130 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction130___action},
-  {(bigint) 2 /* 42: ReduceAction130 < ReduceAction130: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction130 < ReduceAction130: superclass init_table position */},
   {(bigint) parser___ReduceAction130___init},
 };
 /* 0: Pointer to the classtable */
@@ -48661,13 +54808,19 @@ val_t NEW_ReduceAction130(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction130;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction130___init() {
+val_t NEW_ReduceAction130_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction130();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction130_parser___ReduceAction130___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction130();
   parser___ReduceAction130___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction131[44] = {
+const classtable_elt_t VFT_ReduceAction131[45] = {
   {(bigint) 2355 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction131 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction131 < ReduceAction: superclass typecheck marker */},
@@ -48710,7 +54863,8 @@ const classtable_elt_t VFT_ReduceAction131[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction131 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction131___action},
-  {(bigint) 2 /* 42: ReduceAction131 < ReduceAction131: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction131 < ReduceAction131: superclass init_table position */},
   {(bigint) parser___ReduceAction131___init},
 };
 /* 0: Pointer to the classtable */
@@ -48720,13 +54874,19 @@ val_t NEW_ReduceAction131(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction131;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction131___init() {
+val_t NEW_ReduceAction131_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction131();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction131_parser___ReduceAction131___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction131();
   parser___ReduceAction131___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction132[44] = {
+const classtable_elt_t VFT_ReduceAction132[45] = {
   {(bigint) 2351 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction132 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction132 < ReduceAction: superclass typecheck marker */},
@@ -48769,7 +54929,8 @@ const classtable_elt_t VFT_ReduceAction132[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction132 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction132___action},
-  {(bigint) 2 /* 42: ReduceAction132 < ReduceAction132: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction132 < ReduceAction132: superclass init_table position */},
   {(bigint) parser___ReduceAction132___init},
 };
 /* 0: Pointer to the classtable */
@@ -48779,13 +54940,19 @@ val_t NEW_ReduceAction132(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction132;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction132___init() {
+val_t NEW_ReduceAction132_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction132();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction132_parser___ReduceAction132___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction132();
   parser___ReduceAction132___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction133[44] = {
+const classtable_elt_t VFT_ReduceAction133[45] = {
   {(bigint) 2347 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction133 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction133 < ReduceAction: superclass typecheck marker */},
@@ -48828,7 +54995,8 @@ const classtable_elt_t VFT_ReduceAction133[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction133 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction133___action},
-  {(bigint) 2 /* 42: ReduceAction133 < ReduceAction133: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction133 < ReduceAction133: superclass init_table position */},
   {(bigint) parser___ReduceAction133___init},
 };
 /* 0: Pointer to the classtable */
@@ -48838,13 +55006,19 @@ val_t NEW_ReduceAction133(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction133;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction133___init() {
+val_t NEW_ReduceAction133_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction133();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction133_parser___ReduceAction133___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction133();
   parser___ReduceAction133___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction134[44] = {
+const classtable_elt_t VFT_ReduceAction134[45] = {
   {(bigint) 2343 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction134 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction134 < ReduceAction: superclass typecheck marker */},
@@ -48887,7 +55061,8 @@ const classtable_elt_t VFT_ReduceAction134[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction134 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction134___action},
-  {(bigint) 2 /* 42: ReduceAction134 < ReduceAction134: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction134 < ReduceAction134: superclass init_table position */},
   {(bigint) parser___ReduceAction134___init},
 };
 /* 0: Pointer to the classtable */
@@ -48897,13 +55072,19 @@ val_t NEW_ReduceAction134(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction134;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction134___init() {
+val_t NEW_ReduceAction134_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction134();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction134_parser___ReduceAction134___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction134();
   parser___ReduceAction134___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction135[44] = {
+const classtable_elt_t VFT_ReduceAction135[45] = {
   {(bigint) 2339 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction135 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction135 < ReduceAction: superclass typecheck marker */},
@@ -48946,7 +55127,8 @@ const classtable_elt_t VFT_ReduceAction135[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction135 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction135___action},
-  {(bigint) 2 /* 42: ReduceAction135 < ReduceAction135: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction135 < ReduceAction135: superclass init_table position */},
   {(bigint) parser___ReduceAction135___init},
 };
 /* 0: Pointer to the classtable */
@@ -48956,13 +55138,19 @@ val_t NEW_ReduceAction135(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction135;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction135___init() {
+val_t NEW_ReduceAction135_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction135();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction135_parser___ReduceAction135___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction135();
   parser___ReduceAction135___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction136[44] = {
+const classtable_elt_t VFT_ReduceAction136[45] = {
   {(bigint) 2335 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction136 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction136 < ReduceAction: superclass typecheck marker */},
@@ -49005,7 +55193,8 @@ const classtable_elt_t VFT_ReduceAction136[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction136 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction136___action},
-  {(bigint) 2 /* 42: ReduceAction136 < ReduceAction136: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction136 < ReduceAction136: superclass init_table position */},
   {(bigint) parser___ReduceAction136___init},
 };
 /* 0: Pointer to the classtable */
@@ -49015,13 +55204,19 @@ val_t NEW_ReduceAction136(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction136;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction136___init() {
+val_t NEW_ReduceAction136_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction136();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction136_parser___ReduceAction136___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction136();
   parser___ReduceAction136___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction137[44] = {
+const classtable_elt_t VFT_ReduceAction137[45] = {
   {(bigint) 2331 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction137 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction137 < ReduceAction: superclass typecheck marker */},
@@ -49064,7 +55259,8 @@ const classtable_elt_t VFT_ReduceAction137[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction137 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction137___action},
-  {(bigint) 2 /* 42: ReduceAction137 < ReduceAction137: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction137 < ReduceAction137: superclass init_table position */},
   {(bigint) parser___ReduceAction137___init},
 };
 /* 0: Pointer to the classtable */
@@ -49074,13 +55270,19 @@ val_t NEW_ReduceAction137(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction137;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction137___init() {
+val_t NEW_ReduceAction137_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction137();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction137_parser___ReduceAction137___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction137();
   parser___ReduceAction137___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction138[44] = {
+const classtable_elt_t VFT_ReduceAction138[45] = {
   {(bigint) 2327 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction138 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction138 < ReduceAction: superclass typecheck marker */},
@@ -49123,7 +55325,8 @@ const classtable_elt_t VFT_ReduceAction138[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction138 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction138___action},
-  {(bigint) 2 /* 42: ReduceAction138 < ReduceAction138: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction138 < ReduceAction138: superclass init_table position */},
   {(bigint) parser___ReduceAction138___init},
 };
 /* 0: Pointer to the classtable */
@@ -49133,13 +55336,19 @@ val_t NEW_ReduceAction138(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction138;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction138___init() {
+val_t NEW_ReduceAction138_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction138();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction138_parser___ReduceAction138___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction138();
   parser___ReduceAction138___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction139[44] = {
+const classtable_elt_t VFT_ReduceAction139[45] = {
   {(bigint) 2323 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction139 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction139 < ReduceAction: superclass typecheck marker */},
@@ -49182,7 +55391,8 @@ const classtable_elt_t VFT_ReduceAction139[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction139 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction139___action},
-  {(bigint) 2 /* 42: ReduceAction139 < ReduceAction139: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction139 < ReduceAction139: superclass init_table position */},
   {(bigint) parser___ReduceAction139___init},
 };
 /* 0: Pointer to the classtable */
@@ -49192,13 +55402,19 @@ val_t NEW_ReduceAction139(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction139;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction139___init() {
+val_t NEW_ReduceAction139_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction139();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction139_parser___ReduceAction139___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction139();
   parser___ReduceAction139___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction140[44] = {
+const classtable_elt_t VFT_ReduceAction140[45] = {
   {(bigint) 2315 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction140 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction140 < ReduceAction: superclass typecheck marker */},
@@ -49241,7 +55457,8 @@ const classtable_elt_t VFT_ReduceAction140[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction140 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction140___action},
-  {(bigint) 2 /* 42: ReduceAction140 < ReduceAction140: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction140 < ReduceAction140: superclass init_table position */},
   {(bigint) parser___ReduceAction140___init},
 };
 /* 0: Pointer to the classtable */
@@ -49251,13 +55468,19 @@ val_t NEW_ReduceAction140(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction140;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction140___init() {
+val_t NEW_ReduceAction140_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction140();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction140_parser___ReduceAction140___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction140();
   parser___ReduceAction140___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction141[44] = {
+const classtable_elt_t VFT_ReduceAction141[45] = {
   {(bigint) 2311 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction141 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction141 < ReduceAction: superclass typecheck marker */},
@@ -49300,7 +55523,8 @@ const classtable_elt_t VFT_ReduceAction141[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction141 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction141___action},
-  {(bigint) 2 /* 42: ReduceAction141 < ReduceAction141: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction141 < ReduceAction141: superclass init_table position */},
   {(bigint) parser___ReduceAction141___init},
 };
 /* 0: Pointer to the classtable */
@@ -49310,13 +55534,19 @@ val_t NEW_ReduceAction141(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction141;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction141___init() {
+val_t NEW_ReduceAction141_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction141();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction141_parser___ReduceAction141___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction141();
   parser___ReduceAction141___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction142[44] = {
+const classtable_elt_t VFT_ReduceAction142[45] = {
   {(bigint) 2307 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction142 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction142 < ReduceAction: superclass typecheck marker */},
@@ -49359,7 +55589,8 @@ const classtable_elt_t VFT_ReduceAction142[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction142 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction142___action},
-  {(bigint) 2 /* 42: ReduceAction142 < ReduceAction142: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction142 < ReduceAction142: superclass init_table position */},
   {(bigint) parser___ReduceAction142___init},
 };
 /* 0: Pointer to the classtable */
@@ -49369,13 +55600,19 @@ val_t NEW_ReduceAction142(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction142;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction142___init() {
+val_t NEW_ReduceAction142_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction142();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction142_parser___ReduceAction142___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction142();
   parser___ReduceAction142___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction143[44] = {
+const classtable_elt_t VFT_ReduceAction143[45] = {
   {(bigint) 2303 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction143 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction143 < ReduceAction: superclass typecheck marker */},
@@ -49418,7 +55655,8 @@ const classtable_elt_t VFT_ReduceAction143[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction143 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction143___action},
-  {(bigint) 2 /* 42: ReduceAction143 < ReduceAction143: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction143 < ReduceAction143: superclass init_table position */},
   {(bigint) parser___ReduceAction143___init},
 };
 /* 0: Pointer to the classtable */
@@ -49428,13 +55666,19 @@ val_t NEW_ReduceAction143(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction143;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction143___init() {
+val_t NEW_ReduceAction143_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction143();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction143_parser___ReduceAction143___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction143();
   parser___ReduceAction143___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction144[44] = {
+const classtable_elt_t VFT_ReduceAction144[45] = {
   {(bigint) 2299 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction144 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction144 < ReduceAction: superclass typecheck marker */},
@@ -49477,7 +55721,8 @@ const classtable_elt_t VFT_ReduceAction144[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction144 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction144___action},
-  {(bigint) 2 /* 42: ReduceAction144 < ReduceAction144: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction144 < ReduceAction144: superclass init_table position */},
   {(bigint) parser___ReduceAction144___init},
 };
 /* 0: Pointer to the classtable */
@@ -49487,13 +55732,19 @@ val_t NEW_ReduceAction144(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction144;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction144___init() {
+val_t NEW_ReduceAction144_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction144();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction144_parser___ReduceAction144___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction144();
   parser___ReduceAction144___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction145[44] = {
+const classtable_elt_t VFT_ReduceAction145[45] = {
   {(bigint) 2295 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction145 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction145 < ReduceAction: superclass typecheck marker */},
@@ -49536,7 +55787,8 @@ const classtable_elt_t VFT_ReduceAction145[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction145 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction145___action},
-  {(bigint) 2 /* 42: ReduceAction145 < ReduceAction145: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction145 < ReduceAction145: superclass init_table position */},
   {(bigint) parser___ReduceAction145___init},
 };
 /* 0: Pointer to the classtable */
@@ -49546,13 +55798,19 @@ val_t NEW_ReduceAction145(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction145;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction145___init() {
+val_t NEW_ReduceAction145_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction145();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction145_parser___ReduceAction145___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction145();
   parser___ReduceAction145___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction146[44] = {
+const classtable_elt_t VFT_ReduceAction146[45] = {
   {(bigint) 2291 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction146 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction146 < ReduceAction: superclass typecheck marker */},
@@ -49595,7 +55853,8 @@ const classtable_elt_t VFT_ReduceAction146[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction146 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction146___action},
-  {(bigint) 2 /* 42: ReduceAction146 < ReduceAction146: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction146 < ReduceAction146: superclass init_table position */},
   {(bigint) parser___ReduceAction146___init},
 };
 /* 0: Pointer to the classtable */
@@ -49605,13 +55864,19 @@ val_t NEW_ReduceAction146(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction146;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction146___init() {
+val_t NEW_ReduceAction146_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction146();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction146_parser___ReduceAction146___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction146();
   parser___ReduceAction146___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction147[44] = {
+const classtable_elt_t VFT_ReduceAction147[45] = {
   {(bigint) 2287 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction147 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction147 < ReduceAction: superclass typecheck marker */},
@@ -49654,7 +55919,8 @@ const classtable_elt_t VFT_ReduceAction147[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction147 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction147___action},
-  {(bigint) 2 /* 42: ReduceAction147 < ReduceAction147: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction147 < ReduceAction147: superclass init_table position */},
   {(bigint) parser___ReduceAction147___init},
 };
 /* 0: Pointer to the classtable */
@@ -49664,13 +55930,19 @@ val_t NEW_ReduceAction147(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction147;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction147___init() {
+val_t NEW_ReduceAction147_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction147();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction147_parser___ReduceAction147___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction147();
   parser___ReduceAction147___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction148[44] = {
+const classtable_elt_t VFT_ReduceAction148[45] = {
   {(bigint) 2283 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction148 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction148 < ReduceAction: superclass typecheck marker */},
@@ -49713,7 +55985,8 @@ const classtable_elt_t VFT_ReduceAction148[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction148 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction148___action},
-  {(bigint) 2 /* 42: ReduceAction148 < ReduceAction148: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction148 < ReduceAction148: superclass init_table position */},
   {(bigint) parser___ReduceAction148___init},
 };
 /* 0: Pointer to the classtable */
@@ -49723,13 +55996,19 @@ val_t NEW_ReduceAction148(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction148;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction148___init() {
+val_t NEW_ReduceAction148_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction148();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction148_parser___ReduceAction148___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction148();
   parser___ReduceAction148___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction149[44] = {
+const classtable_elt_t VFT_ReduceAction149[45] = {
   {(bigint) 2279 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction149 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction149 < ReduceAction: superclass typecheck marker */},
@@ -49772,7 +56051,8 @@ const classtable_elt_t VFT_ReduceAction149[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction149 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction149___action},
-  {(bigint) 2 /* 42: ReduceAction149 < ReduceAction149: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction149 < ReduceAction149: superclass init_table position */},
   {(bigint) parser___ReduceAction149___init},
 };
 /* 0: Pointer to the classtable */
@@ -49782,13 +56062,19 @@ val_t NEW_ReduceAction149(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction149;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction149___init() {
+val_t NEW_ReduceAction149_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction149();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction149_parser___ReduceAction149___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction149();
   parser___ReduceAction149___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction150[44] = {
+const classtable_elt_t VFT_ReduceAction150[45] = {
   {(bigint) 2271 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction150 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction150 < ReduceAction: superclass typecheck marker */},
@@ -49831,7 +56117,8 @@ const classtable_elt_t VFT_ReduceAction150[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction150 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction150___action},
-  {(bigint) 2 /* 42: ReduceAction150 < ReduceAction150: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction150 < ReduceAction150: superclass init_table position */},
   {(bigint) parser___ReduceAction150___init},
 };
 /* 0: Pointer to the classtable */
@@ -49841,13 +56128,19 @@ val_t NEW_ReduceAction150(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction150;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction150___init() {
+val_t NEW_ReduceAction150_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction150();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction150_parser___ReduceAction150___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction150();
   parser___ReduceAction150___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction151[44] = {
+const classtable_elt_t VFT_ReduceAction151[45] = {
   {(bigint) 2267 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction151 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction151 < ReduceAction: superclass typecheck marker */},
@@ -49890,7 +56183,8 @@ const classtable_elt_t VFT_ReduceAction151[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction151 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction151___action},
-  {(bigint) 2 /* 42: ReduceAction151 < ReduceAction151: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction151 < ReduceAction151: superclass init_table position */},
   {(bigint) parser___ReduceAction151___init},
 };
 /* 0: Pointer to the classtable */
@@ -49900,13 +56194,19 @@ val_t NEW_ReduceAction151(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction151;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction151___init() {
+val_t NEW_ReduceAction151_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction151();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction151_parser___ReduceAction151___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction151();
   parser___ReduceAction151___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction152[44] = {
+const classtable_elt_t VFT_ReduceAction152[45] = {
   {(bigint) 2263 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction152 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction152 < ReduceAction: superclass typecheck marker */},
@@ -49949,7 +56249,8 @@ const classtable_elt_t VFT_ReduceAction152[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction152 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction152___action},
-  {(bigint) 2 /* 42: ReduceAction152 < ReduceAction152: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction152 < ReduceAction152: superclass init_table position */},
   {(bigint) parser___ReduceAction152___init},
 };
 /* 0: Pointer to the classtable */
@@ -49959,13 +56260,19 @@ val_t NEW_ReduceAction152(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction152;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction152___init() {
+val_t NEW_ReduceAction152_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction152();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction152_parser___ReduceAction152___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction152();
   parser___ReduceAction152___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction153[44] = {
+const classtable_elt_t VFT_ReduceAction153[45] = {
   {(bigint) 2259 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction153 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction153 < ReduceAction: superclass typecheck marker */},
@@ -50008,7 +56315,8 @@ const classtable_elt_t VFT_ReduceAction153[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction153 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction153___action},
-  {(bigint) 2 /* 42: ReduceAction153 < ReduceAction153: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction153 < ReduceAction153: superclass init_table position */},
   {(bigint) parser___ReduceAction153___init},
 };
 /* 0: Pointer to the classtable */
@@ -50018,13 +56326,19 @@ val_t NEW_ReduceAction153(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction153;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction153___init() {
+val_t NEW_ReduceAction153_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction153();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction153_parser___ReduceAction153___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction153();
   parser___ReduceAction153___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction154[44] = {
+const classtable_elt_t VFT_ReduceAction154[45] = {
   {(bigint) 2255 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction154 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction154 < ReduceAction: superclass typecheck marker */},
@@ -50067,7 +56381,8 @@ const classtable_elt_t VFT_ReduceAction154[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction154 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction154___action},
-  {(bigint) 2 /* 42: ReduceAction154 < ReduceAction154: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction154 < ReduceAction154: superclass init_table position */},
   {(bigint) parser___ReduceAction154___init},
 };
 /* 0: Pointer to the classtable */
@@ -50077,13 +56392,19 @@ val_t NEW_ReduceAction154(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction154;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction154___init() {
+val_t NEW_ReduceAction154_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction154();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction154_parser___ReduceAction154___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction154();
   parser___ReduceAction154___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction155[44] = {
+const classtable_elt_t VFT_ReduceAction155[45] = {
   {(bigint) 2251 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction155 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction155 < ReduceAction: superclass typecheck marker */},
@@ -50126,7 +56447,8 @@ const classtable_elt_t VFT_ReduceAction155[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction155 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction155___action},
-  {(bigint) 2 /* 42: ReduceAction155 < ReduceAction155: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction155 < ReduceAction155: superclass init_table position */},
   {(bigint) parser___ReduceAction155___init},
 };
 /* 0: Pointer to the classtable */
@@ -50136,13 +56458,19 @@ val_t NEW_ReduceAction155(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction155;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction155___init() {
+val_t NEW_ReduceAction155_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction155();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction155_parser___ReduceAction155___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction155();
   parser___ReduceAction155___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction156[44] = {
+const classtable_elt_t VFT_ReduceAction156[45] = {
   {(bigint) 2247 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction156 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction156 < ReduceAction: superclass typecheck marker */},
@@ -50185,7 +56513,8 @@ const classtable_elt_t VFT_ReduceAction156[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction156 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction156___action},
-  {(bigint) 2 /* 42: ReduceAction156 < ReduceAction156: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction156 < ReduceAction156: superclass init_table position */},
   {(bigint) parser___ReduceAction156___init},
 };
 /* 0: Pointer to the classtable */
@@ -50195,13 +56524,19 @@ val_t NEW_ReduceAction156(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction156;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction156___init() {
+val_t NEW_ReduceAction156_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction156();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction156_parser___ReduceAction156___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction156();
   parser___ReduceAction156___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction157[44] = {
+const classtable_elt_t VFT_ReduceAction157[45] = {
   {(bigint) 2243 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction157 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction157 < ReduceAction: superclass typecheck marker */},
@@ -50244,7 +56579,8 @@ const classtable_elt_t VFT_ReduceAction157[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction157 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction157___action},
-  {(bigint) 2 /* 42: ReduceAction157 < ReduceAction157: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction157 < ReduceAction157: superclass init_table position */},
   {(bigint) parser___ReduceAction157___init},
 };
 /* 0: Pointer to the classtable */
@@ -50254,13 +56590,19 @@ val_t NEW_ReduceAction157(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction157;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction157___init() {
+val_t NEW_ReduceAction157_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction157();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction157_parser___ReduceAction157___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction157();
   parser___ReduceAction157___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction158[44] = {
+const classtable_elt_t VFT_ReduceAction158[45] = {
   {(bigint) 2239 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction158 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction158 < ReduceAction: superclass typecheck marker */},
@@ -50303,7 +56645,8 @@ const classtable_elt_t VFT_ReduceAction158[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction158 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction158___action},
-  {(bigint) 2 /* 42: ReduceAction158 < ReduceAction158: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction158 < ReduceAction158: superclass init_table position */},
   {(bigint) parser___ReduceAction158___init},
 };
 /* 0: Pointer to the classtable */
@@ -50313,13 +56656,19 @@ val_t NEW_ReduceAction158(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction158;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction158___init() {
+val_t NEW_ReduceAction158_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction158();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction158_parser___ReduceAction158___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction158();
   parser___ReduceAction158___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction159[44] = {
+const classtable_elt_t VFT_ReduceAction159[45] = {
   {(bigint) 2235 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction159 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction159 < ReduceAction: superclass typecheck marker */},
@@ -50362,7 +56711,8 @@ const classtable_elt_t VFT_ReduceAction159[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction159 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction159___action},
-  {(bigint) 2 /* 42: ReduceAction159 < ReduceAction159: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction159 < ReduceAction159: superclass init_table position */},
   {(bigint) parser___ReduceAction159___init},
 };
 /* 0: Pointer to the classtable */
@@ -50372,13 +56722,19 @@ val_t NEW_ReduceAction159(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction159;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction159___init() {
+val_t NEW_ReduceAction159_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction159();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction159_parser___ReduceAction159___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction159();
   parser___ReduceAction159___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction160[44] = {
+const classtable_elt_t VFT_ReduceAction160[45] = {
   {(bigint) 2227 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction160 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction160 < ReduceAction: superclass typecheck marker */},
@@ -50421,7 +56777,8 @@ const classtable_elt_t VFT_ReduceAction160[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction160 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction160___action},
-  {(bigint) 2 /* 42: ReduceAction160 < ReduceAction160: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction160 < ReduceAction160: superclass init_table position */},
   {(bigint) parser___ReduceAction160___init},
 };
 /* 0: Pointer to the classtable */
@@ -50431,13 +56788,19 @@ val_t NEW_ReduceAction160(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction160;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction160___init() {
+val_t NEW_ReduceAction160_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction160();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction160_parser___ReduceAction160___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction160();
   parser___ReduceAction160___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction161[44] = {
+const classtable_elt_t VFT_ReduceAction161[45] = {
   {(bigint) 2223 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction161 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction161 < ReduceAction: superclass typecheck marker */},
@@ -50480,7 +56843,8 @@ const classtable_elt_t VFT_ReduceAction161[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction161 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction161___action},
-  {(bigint) 2 /* 42: ReduceAction161 < ReduceAction161: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction161 < ReduceAction161: superclass init_table position */},
   {(bigint) parser___ReduceAction161___init},
 };
 /* 0: Pointer to the classtable */
@@ -50490,13 +56854,19 @@ val_t NEW_ReduceAction161(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction161;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction161___init() {
+val_t NEW_ReduceAction161_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction161();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction161_parser___ReduceAction161___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction161();
   parser___ReduceAction161___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction162[44] = {
+const classtable_elt_t VFT_ReduceAction162[45] = {
   {(bigint) 2219 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction162 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction162 < ReduceAction: superclass typecheck marker */},
@@ -50539,7 +56909,8 @@ const classtable_elt_t VFT_ReduceAction162[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction162 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction162___action},
-  {(bigint) 2 /* 42: ReduceAction162 < ReduceAction162: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction162 < ReduceAction162: superclass init_table position */},
   {(bigint) parser___ReduceAction162___init},
 };
 /* 0: Pointer to the classtable */
@@ -50549,13 +56920,19 @@ val_t NEW_ReduceAction162(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction162;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction162___init() {
+val_t NEW_ReduceAction162_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction162();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction162_parser___ReduceAction162___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction162();
   parser___ReduceAction162___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction163[44] = {
+const classtable_elt_t VFT_ReduceAction163[45] = {
   {(bigint) 2215 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction163 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction163 < ReduceAction: superclass typecheck marker */},
@@ -50598,7 +56975,8 @@ const classtable_elt_t VFT_ReduceAction163[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction163 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction163___action},
-  {(bigint) 2 /* 42: ReduceAction163 < ReduceAction163: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction163 < ReduceAction163: superclass init_table position */},
   {(bigint) parser___ReduceAction163___init},
 };
 /* 0: Pointer to the classtable */
@@ -50608,13 +56986,19 @@ val_t NEW_ReduceAction163(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction163;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction163___init() {
+val_t NEW_ReduceAction163_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction163();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction163_parser___ReduceAction163___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction163();
   parser___ReduceAction163___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction164[44] = {
+const classtable_elt_t VFT_ReduceAction164[45] = {
   {(bigint) 2211 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction164 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction164 < ReduceAction: superclass typecheck marker */},
@@ -50657,7 +57041,8 @@ const classtable_elt_t VFT_ReduceAction164[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction164 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction164___action},
-  {(bigint) 2 /* 42: ReduceAction164 < ReduceAction164: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction164 < ReduceAction164: superclass init_table position */},
   {(bigint) parser___ReduceAction164___init},
 };
 /* 0: Pointer to the classtable */
@@ -50667,13 +57052,19 @@ val_t NEW_ReduceAction164(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction164;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction164___init() {
+val_t NEW_ReduceAction164_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction164();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction164_parser___ReduceAction164___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction164();
   parser___ReduceAction164___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction165[44] = {
+const classtable_elt_t VFT_ReduceAction165[45] = {
   {(bigint) 2207 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction165 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction165 < ReduceAction: superclass typecheck marker */},
@@ -50716,7 +57107,8 @@ const classtable_elt_t VFT_ReduceAction165[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction165 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction165___action},
-  {(bigint) 2 /* 42: ReduceAction165 < ReduceAction165: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction165 < ReduceAction165: superclass init_table position */},
   {(bigint) parser___ReduceAction165___init},
 };
 /* 0: Pointer to the classtable */
@@ -50726,13 +57118,19 @@ val_t NEW_ReduceAction165(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction165;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction165___init() {
+val_t NEW_ReduceAction165_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction165();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction165_parser___ReduceAction165___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction165();
   parser___ReduceAction165___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction166[44] = {
+const classtable_elt_t VFT_ReduceAction166[45] = {
   {(bigint) 2203 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction166 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction166 < ReduceAction: superclass typecheck marker */},
@@ -50775,7 +57173,8 @@ const classtable_elt_t VFT_ReduceAction166[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction166 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction166___action},
-  {(bigint) 2 /* 42: ReduceAction166 < ReduceAction166: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction166 < ReduceAction166: superclass init_table position */},
   {(bigint) parser___ReduceAction166___init},
 };
 /* 0: Pointer to the classtable */
@@ -50785,13 +57184,19 @@ val_t NEW_ReduceAction166(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction166;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction166___init() {
+val_t NEW_ReduceAction166_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction166();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction166_parser___ReduceAction166___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction166();
   parser___ReduceAction166___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction167[44] = {
+const classtable_elt_t VFT_ReduceAction167[45] = {
   {(bigint) 2199 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction167 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction167 < ReduceAction: superclass typecheck marker */},
@@ -50834,7 +57239,8 @@ const classtable_elt_t VFT_ReduceAction167[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction167 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction167___action},
-  {(bigint) 2 /* 42: ReduceAction167 < ReduceAction167: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction167 < ReduceAction167: superclass init_table position */},
   {(bigint) parser___ReduceAction167___init},
 };
 /* 0: Pointer to the classtable */
@@ -50844,13 +57250,19 @@ val_t NEW_ReduceAction167(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction167;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction167___init() {
+val_t NEW_ReduceAction167_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction167();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction167_parser___ReduceAction167___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction167();
   parser___ReduceAction167___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction168[44] = {
+const classtable_elt_t VFT_ReduceAction168[45] = {
   {(bigint) 2195 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction168 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction168 < ReduceAction: superclass typecheck marker */},
@@ -50893,7 +57305,8 @@ const classtable_elt_t VFT_ReduceAction168[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction168 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction168___action},
-  {(bigint) 2 /* 42: ReduceAction168 < ReduceAction168: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction168 < ReduceAction168: superclass init_table position */},
   {(bigint) parser___ReduceAction168___init},
 };
 /* 0: Pointer to the classtable */
@@ -50903,13 +57316,19 @@ val_t NEW_ReduceAction168(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction168;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction168___init() {
+val_t NEW_ReduceAction168_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction168();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction168_parser___ReduceAction168___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction168();
   parser___ReduceAction168___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction169[44] = {
+const classtable_elt_t VFT_ReduceAction169[45] = {
   {(bigint) 2191 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction169 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction169 < ReduceAction: superclass typecheck marker */},
@@ -50952,7 +57371,8 @@ const classtable_elt_t VFT_ReduceAction169[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction169 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction169___action},
-  {(bigint) 2 /* 42: ReduceAction169 < ReduceAction169: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction169 < ReduceAction169: superclass init_table position */},
   {(bigint) parser___ReduceAction169___init},
 };
 /* 0: Pointer to the classtable */
@@ -50962,13 +57382,19 @@ val_t NEW_ReduceAction169(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction169;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction169___init() {
+val_t NEW_ReduceAction169_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction169();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction169_parser___ReduceAction169___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction169();
   parser___ReduceAction169___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction170[44] = {
+const classtable_elt_t VFT_ReduceAction170[45] = {
   {(bigint) 2183 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction170 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction170 < ReduceAction: superclass typecheck marker */},
@@ -51011,7 +57437,8 @@ const classtable_elt_t VFT_ReduceAction170[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction170 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction170___action},
-  {(bigint) 2 /* 42: ReduceAction170 < ReduceAction170: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction170 < ReduceAction170: superclass init_table position */},
   {(bigint) parser___ReduceAction170___init},
 };
 /* 0: Pointer to the classtable */
@@ -51021,13 +57448,19 @@ val_t NEW_ReduceAction170(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction170;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction170___init() {
+val_t NEW_ReduceAction170_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction170();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction170_parser___ReduceAction170___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction170();
   parser___ReduceAction170___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction171[44] = {
+const classtable_elt_t VFT_ReduceAction171[45] = {
   {(bigint) 2179 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction171 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction171 < ReduceAction: superclass typecheck marker */},
@@ -51070,7 +57503,8 @@ const classtable_elt_t VFT_ReduceAction171[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction171 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction171___action},
-  {(bigint) 2 /* 42: ReduceAction171 < ReduceAction171: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction171 < ReduceAction171: superclass init_table position */},
   {(bigint) parser___ReduceAction171___init},
 };
 /* 0: Pointer to the classtable */
@@ -51080,13 +57514,19 @@ val_t NEW_ReduceAction171(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction171;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction171___init() {
+val_t NEW_ReduceAction171_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction171();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction171_parser___ReduceAction171___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction171();
   parser___ReduceAction171___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction172[44] = {
+const classtable_elt_t VFT_ReduceAction172[45] = {
   {(bigint) 2175 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction172 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction172 < ReduceAction: superclass typecheck marker */},
@@ -51129,7 +57569,8 @@ const classtable_elt_t VFT_ReduceAction172[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction172 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction172___action},
-  {(bigint) 2 /* 42: ReduceAction172 < ReduceAction172: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction172 < ReduceAction172: superclass init_table position */},
   {(bigint) parser___ReduceAction172___init},
 };
 /* 0: Pointer to the classtable */
@@ -51139,13 +57580,19 @@ val_t NEW_ReduceAction172(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction172;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction172___init() {
+val_t NEW_ReduceAction172_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction172();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction172_parser___ReduceAction172___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction172();
   parser___ReduceAction172___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction173[44] = {
+const classtable_elt_t VFT_ReduceAction173[45] = {
   {(bigint) 2171 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction173 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction173 < ReduceAction: superclass typecheck marker */},
@@ -51188,7 +57635,8 @@ const classtable_elt_t VFT_ReduceAction173[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction173 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction173___action},
-  {(bigint) 2 /* 42: ReduceAction173 < ReduceAction173: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction173 < ReduceAction173: superclass init_table position */},
   {(bigint) parser___ReduceAction173___init},
 };
 /* 0: Pointer to the classtable */
@@ -51198,13 +57646,19 @@ val_t NEW_ReduceAction173(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction173;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction173___init() {
+val_t NEW_ReduceAction173_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction173();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction173_parser___ReduceAction173___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction173();
   parser___ReduceAction173___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction174[44] = {
+const classtable_elt_t VFT_ReduceAction174[45] = {
   {(bigint) 2167 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction174 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction174 < ReduceAction: superclass typecheck marker */},
@@ -51247,7 +57701,8 @@ const classtable_elt_t VFT_ReduceAction174[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction174 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction174___action},
-  {(bigint) 2 /* 42: ReduceAction174 < ReduceAction174: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction174 < ReduceAction174: superclass init_table position */},
   {(bigint) parser___ReduceAction174___init},
 };
 /* 0: Pointer to the classtable */
@@ -51257,13 +57712,19 @@ val_t NEW_ReduceAction174(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction174;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction174___init() {
+val_t NEW_ReduceAction174_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction174();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction174_parser___ReduceAction174___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction174();
   parser___ReduceAction174___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction175[44] = {
+const classtable_elt_t VFT_ReduceAction175[45] = {
   {(bigint) 2163 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction175 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction175 < ReduceAction: superclass typecheck marker */},
@@ -51306,7 +57767,8 @@ const classtable_elt_t VFT_ReduceAction175[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction175 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction175___action},
-  {(bigint) 2 /* 42: ReduceAction175 < ReduceAction175: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction175 < ReduceAction175: superclass init_table position */},
   {(bigint) parser___ReduceAction175___init},
 };
 /* 0: Pointer to the classtable */
@@ -51316,13 +57778,19 @@ val_t NEW_ReduceAction175(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction175;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction175___init() {
+val_t NEW_ReduceAction175_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction175();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction175_parser___ReduceAction175___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction175();
   parser___ReduceAction175___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction176[44] = {
+const classtable_elt_t VFT_ReduceAction176[45] = {
   {(bigint) 2159 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction176 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction176 < ReduceAction: superclass typecheck marker */},
@@ -51365,7 +57833,8 @@ const classtable_elt_t VFT_ReduceAction176[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction176 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction176___action},
-  {(bigint) 2 /* 42: ReduceAction176 < ReduceAction176: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction176 < ReduceAction176: superclass init_table position */},
   {(bigint) parser___ReduceAction176___init},
 };
 /* 0: Pointer to the classtable */
@@ -51375,13 +57844,19 @@ val_t NEW_ReduceAction176(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction176;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction176___init() {
+val_t NEW_ReduceAction176_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction176();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction176_parser___ReduceAction176___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction176();
   parser___ReduceAction176___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction177[44] = {
+const classtable_elt_t VFT_ReduceAction177[45] = {
   {(bigint) 2155 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction177 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction177 < ReduceAction: superclass typecheck marker */},
@@ -51424,7 +57899,8 @@ const classtable_elt_t VFT_ReduceAction177[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction177 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction177___action},
-  {(bigint) 2 /* 42: ReduceAction177 < ReduceAction177: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction177 < ReduceAction177: superclass init_table position */},
   {(bigint) parser___ReduceAction177___init},
 };
 /* 0: Pointer to the classtable */
@@ -51434,13 +57910,19 @@ val_t NEW_ReduceAction177(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction177;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction177___init() {
+val_t NEW_ReduceAction177_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction177();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction177_parser___ReduceAction177___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction177();
   parser___ReduceAction177___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction178[44] = {
+const classtable_elt_t VFT_ReduceAction178[45] = {
   {(bigint) 2151 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction178 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction178 < ReduceAction: superclass typecheck marker */},
@@ -51483,7 +57965,8 @@ const classtable_elt_t VFT_ReduceAction178[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction178 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction178___action},
-  {(bigint) 2 /* 42: ReduceAction178 < ReduceAction178: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction178 < ReduceAction178: superclass init_table position */},
   {(bigint) parser___ReduceAction178___init},
 };
 /* 0: Pointer to the classtable */
@@ -51493,13 +57976,19 @@ val_t NEW_ReduceAction178(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction178;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction178___init() {
+val_t NEW_ReduceAction178_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction178();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction178_parser___ReduceAction178___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction178();
   parser___ReduceAction178___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction179[44] = {
+const classtable_elt_t VFT_ReduceAction179[45] = {
   {(bigint) 2147 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction179 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction179 < ReduceAction: superclass typecheck marker */},
@@ -51542,7 +58031,8 @@ const classtable_elt_t VFT_ReduceAction179[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction179 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction179___action},
-  {(bigint) 2 /* 42: ReduceAction179 < ReduceAction179: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction179 < ReduceAction179: superclass init_table position */},
   {(bigint) parser___ReduceAction179___init},
 };
 /* 0: Pointer to the classtable */
@@ -51552,13 +58042,19 @@ val_t NEW_ReduceAction179(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction179;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction179___init() {
+val_t NEW_ReduceAction179_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction179();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction179_parser___ReduceAction179___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction179();
   parser___ReduceAction179___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction180[44] = {
+const classtable_elt_t VFT_ReduceAction180[45] = {
   {(bigint) 2139 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction180 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction180 < ReduceAction: superclass typecheck marker */},
@@ -51601,7 +58097,8 @@ const classtable_elt_t VFT_ReduceAction180[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction180 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction180___action},
-  {(bigint) 2 /* 42: ReduceAction180 < ReduceAction180: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction180 < ReduceAction180: superclass init_table position */},
   {(bigint) parser___ReduceAction180___init},
 };
 /* 0: Pointer to the classtable */
@@ -51611,13 +58108,19 @@ val_t NEW_ReduceAction180(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction180;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction180___init() {
+val_t NEW_ReduceAction180_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction180();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction180_parser___ReduceAction180___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction180();
   parser___ReduceAction180___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction181[44] = {
+const classtable_elt_t VFT_ReduceAction181[45] = {
   {(bigint) 2135 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction181 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction181 < ReduceAction: superclass typecheck marker */},
@@ -51660,7 +58163,8 @@ const classtable_elt_t VFT_ReduceAction181[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction181 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction181___action},
-  {(bigint) 2 /* 42: ReduceAction181 < ReduceAction181: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction181 < ReduceAction181: superclass init_table position */},
   {(bigint) parser___ReduceAction181___init},
 };
 /* 0: Pointer to the classtable */
@@ -51670,13 +58174,19 @@ val_t NEW_ReduceAction181(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction181;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction181___init() {
+val_t NEW_ReduceAction181_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction181();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction181_parser___ReduceAction181___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction181();
   parser___ReduceAction181___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction182[44] = {
+const classtable_elt_t VFT_ReduceAction182[45] = {
   {(bigint) 2131 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction182 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction182 < ReduceAction: superclass typecheck marker */},
@@ -51719,7 +58229,8 @@ const classtable_elt_t VFT_ReduceAction182[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction182 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction182___action},
-  {(bigint) 2 /* 42: ReduceAction182 < ReduceAction182: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction182 < ReduceAction182: superclass init_table position */},
   {(bigint) parser___ReduceAction182___init},
 };
 /* 0: Pointer to the classtable */
@@ -51729,13 +58240,19 @@ val_t NEW_ReduceAction182(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction182;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction182___init() {
+val_t NEW_ReduceAction182_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction182();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction182_parser___ReduceAction182___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction182();
   parser___ReduceAction182___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction183[44] = {
+const classtable_elt_t VFT_ReduceAction183[45] = {
   {(bigint) 2127 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction183 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction183 < ReduceAction: superclass typecheck marker */},
@@ -51778,7 +58295,8 @@ const classtable_elt_t VFT_ReduceAction183[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction183 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction183___action},
-  {(bigint) 2 /* 42: ReduceAction183 < ReduceAction183: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction183 < ReduceAction183: superclass init_table position */},
   {(bigint) parser___ReduceAction183___init},
 };
 /* 0: Pointer to the classtable */
@@ -51788,13 +58306,19 @@ val_t NEW_ReduceAction183(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction183;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction183___init() {
+val_t NEW_ReduceAction183_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction183();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction183_parser___ReduceAction183___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction183();
   parser___ReduceAction183___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction184[44] = {
+const classtable_elt_t VFT_ReduceAction184[45] = {
   {(bigint) 2123 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction184 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction184 < ReduceAction: superclass typecheck marker */},
@@ -51837,7 +58361,8 @@ const classtable_elt_t VFT_ReduceAction184[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction184 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction184___action},
-  {(bigint) 2 /* 42: ReduceAction184 < ReduceAction184: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction184 < ReduceAction184: superclass init_table position */},
   {(bigint) parser___ReduceAction184___init},
 };
 /* 0: Pointer to the classtable */
@@ -51847,13 +58372,19 @@ val_t NEW_ReduceAction184(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction184;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction184___init() {
+val_t NEW_ReduceAction184_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction184();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction184_parser___ReduceAction184___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction184();
   parser___ReduceAction184___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction185[44] = {
+const classtable_elt_t VFT_ReduceAction185[45] = {
   {(bigint) 2119 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction185 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction185 < ReduceAction: superclass typecheck marker */},
@@ -51896,7 +58427,8 @@ const classtable_elt_t VFT_ReduceAction185[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction185 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction185___action},
-  {(bigint) 2 /* 42: ReduceAction185 < ReduceAction185: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction185 < ReduceAction185: superclass init_table position */},
   {(bigint) parser___ReduceAction185___init},
 };
 /* 0: Pointer to the classtable */
@@ -51906,13 +58438,19 @@ val_t NEW_ReduceAction185(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction185;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction185___init() {
+val_t NEW_ReduceAction185_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction185();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction185_parser___ReduceAction185___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction185();
   parser___ReduceAction185___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction186[44] = {
+const classtable_elt_t VFT_ReduceAction186[45] = {
   {(bigint) 2115 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction186 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction186 < ReduceAction: superclass typecheck marker */},
@@ -51955,7 +58493,8 @@ const classtable_elt_t VFT_ReduceAction186[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction186 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction186___action},
-  {(bigint) 2 /* 42: ReduceAction186 < ReduceAction186: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction186 < ReduceAction186: superclass init_table position */},
   {(bigint) parser___ReduceAction186___init},
 };
 /* 0: Pointer to the classtable */
@@ -51965,13 +58504,19 @@ val_t NEW_ReduceAction186(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction186;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction186___init() {
+val_t NEW_ReduceAction186_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction186();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction186_parser___ReduceAction186___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction186();
   parser___ReduceAction186___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction187[44] = {
+const classtable_elt_t VFT_ReduceAction187[45] = {
   {(bigint) 2111 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction187 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction187 < ReduceAction: superclass typecheck marker */},
@@ -52014,7 +58559,8 @@ const classtable_elt_t VFT_ReduceAction187[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction187 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction187___action},
-  {(bigint) 2 /* 42: ReduceAction187 < ReduceAction187: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction187 < ReduceAction187: superclass init_table position */},
   {(bigint) parser___ReduceAction187___init},
 };
 /* 0: Pointer to the classtable */
@@ -52024,13 +58570,19 @@ val_t NEW_ReduceAction187(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction187;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction187___init() {
+val_t NEW_ReduceAction187_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction187();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction187_parser___ReduceAction187___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction187();
   parser___ReduceAction187___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction188[44] = {
+const classtable_elt_t VFT_ReduceAction188[45] = {
   {(bigint) 2107 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction188 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction188 < ReduceAction: superclass typecheck marker */},
@@ -52073,7 +58625,8 @@ const classtable_elt_t VFT_ReduceAction188[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction188 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction188___action},
-  {(bigint) 2 /* 42: ReduceAction188 < ReduceAction188: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction188 < ReduceAction188: superclass init_table position */},
   {(bigint) parser___ReduceAction188___init},
 };
 /* 0: Pointer to the classtable */
@@ -52083,13 +58636,19 @@ val_t NEW_ReduceAction188(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction188;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction188___init() {
+val_t NEW_ReduceAction188_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction188();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction188_parser___ReduceAction188___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction188();
   parser___ReduceAction188___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction189[44] = {
+const classtable_elt_t VFT_ReduceAction189[45] = {
   {(bigint) 2103 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction189 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction189 < ReduceAction: superclass typecheck marker */},
@@ -52132,7 +58691,8 @@ const classtable_elt_t VFT_ReduceAction189[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction189 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction189___action},
-  {(bigint) 2 /* 42: ReduceAction189 < ReduceAction189: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction189 < ReduceAction189: superclass init_table position */},
   {(bigint) parser___ReduceAction189___init},
 };
 /* 0: Pointer to the classtable */
@@ -52142,13 +58702,19 @@ val_t NEW_ReduceAction189(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction189;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction189___init() {
+val_t NEW_ReduceAction189_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction189();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction189_parser___ReduceAction189___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction189();
   parser___ReduceAction189___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction190[44] = {
+const classtable_elt_t VFT_ReduceAction190[45] = {
   {(bigint) 2095 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction190 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction190 < ReduceAction: superclass typecheck marker */},
@@ -52191,7 +58757,8 @@ const classtable_elt_t VFT_ReduceAction190[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction190 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction190___action},
-  {(bigint) 2 /* 42: ReduceAction190 < ReduceAction190: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction190 < ReduceAction190: superclass init_table position */},
   {(bigint) parser___ReduceAction190___init},
 };
 /* 0: Pointer to the classtable */
@@ -52201,13 +58768,19 @@ val_t NEW_ReduceAction190(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction190;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction190___init() {
+val_t NEW_ReduceAction190_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction190();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction190_parser___ReduceAction190___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction190();
   parser___ReduceAction190___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction191[44] = {
+const classtable_elt_t VFT_ReduceAction191[45] = {
   {(bigint) 2091 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction191 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction191 < ReduceAction: superclass typecheck marker */},
@@ -52250,7 +58823,8 @@ const classtable_elt_t VFT_ReduceAction191[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction191 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction191___action},
-  {(bigint) 2 /* 42: ReduceAction191 < ReduceAction191: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction191 < ReduceAction191: superclass init_table position */},
   {(bigint) parser___ReduceAction191___init},
 };
 /* 0: Pointer to the classtable */
@@ -52260,13 +58834,19 @@ val_t NEW_ReduceAction191(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction191;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction191___init() {
+val_t NEW_ReduceAction191_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction191();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction191_parser___ReduceAction191___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction191();
   parser___ReduceAction191___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction192[44] = {
+const classtable_elt_t VFT_ReduceAction192[45] = {
   {(bigint) 2087 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction192 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction192 < ReduceAction: superclass typecheck marker */},
@@ -52309,7 +58889,8 @@ const classtable_elt_t VFT_ReduceAction192[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction192 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction192___action},
-  {(bigint) 2 /* 42: ReduceAction192 < ReduceAction192: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction192 < ReduceAction192: superclass init_table position */},
   {(bigint) parser___ReduceAction192___init},
 };
 /* 0: Pointer to the classtable */
@@ -52319,13 +58900,19 @@ val_t NEW_ReduceAction192(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction192;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction192___init() {
+val_t NEW_ReduceAction192_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction192();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction192_parser___ReduceAction192___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction192();
   parser___ReduceAction192___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction193[44] = {
+const classtable_elt_t VFT_ReduceAction193[45] = {
   {(bigint) 2083 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction193 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction193 < ReduceAction: superclass typecheck marker */},
@@ -52368,7 +58955,8 @@ const classtable_elt_t VFT_ReduceAction193[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction193 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction193___action},
-  {(bigint) 2 /* 42: ReduceAction193 < ReduceAction193: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction193 < ReduceAction193: superclass init_table position */},
   {(bigint) parser___ReduceAction193___init},
 };
 /* 0: Pointer to the classtable */
@@ -52378,13 +58966,19 @@ val_t NEW_ReduceAction193(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction193;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction193___init() {
+val_t NEW_ReduceAction193_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction193();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction193_parser___ReduceAction193___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction193();
   parser___ReduceAction193___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction194[44] = {
+const classtable_elt_t VFT_ReduceAction194[45] = {
   {(bigint) 2079 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction194 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction194 < ReduceAction: superclass typecheck marker */},
@@ -52427,7 +59021,8 @@ const classtable_elt_t VFT_ReduceAction194[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction194 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction194___action},
-  {(bigint) 2 /* 42: ReduceAction194 < ReduceAction194: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction194 < ReduceAction194: superclass init_table position */},
   {(bigint) parser___ReduceAction194___init},
 };
 /* 0: Pointer to the classtable */
@@ -52437,13 +59032,19 @@ val_t NEW_ReduceAction194(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction194;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction194___init() {
+val_t NEW_ReduceAction194_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction194();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction194_parser___ReduceAction194___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction194();
   parser___ReduceAction194___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction195[44] = {
+const classtable_elt_t VFT_ReduceAction195[45] = {
   {(bigint) 2075 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction195 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction195 < ReduceAction: superclass typecheck marker */},
@@ -52486,7 +59087,8 @@ const classtable_elt_t VFT_ReduceAction195[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction195 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction195___action},
-  {(bigint) 2 /* 42: ReduceAction195 < ReduceAction195: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction195 < ReduceAction195: superclass init_table position */},
   {(bigint) parser___ReduceAction195___init},
 };
 /* 0: Pointer to the classtable */
@@ -52496,13 +59098,19 @@ val_t NEW_ReduceAction195(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction195;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction195___init() {
+val_t NEW_ReduceAction195_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction195();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction195_parser___ReduceAction195___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction195();
   parser___ReduceAction195___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction196[44] = {
+const classtable_elt_t VFT_ReduceAction196[45] = {
   {(bigint) 2071 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction196 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction196 < ReduceAction: superclass typecheck marker */},
@@ -52545,7 +59153,8 @@ const classtable_elt_t VFT_ReduceAction196[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction196 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction196___action},
-  {(bigint) 2 /* 42: ReduceAction196 < ReduceAction196: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction196 < ReduceAction196: superclass init_table position */},
   {(bigint) parser___ReduceAction196___init},
 };
 /* 0: Pointer to the classtable */
@@ -52555,13 +59164,19 @@ val_t NEW_ReduceAction196(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction196;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction196___init() {
+val_t NEW_ReduceAction196_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction196();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction196_parser___ReduceAction196___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction196();
   parser___ReduceAction196___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction197[44] = {
+const classtable_elt_t VFT_ReduceAction197[45] = {
   {(bigint) 2067 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction197 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction197 < ReduceAction: superclass typecheck marker */},
@@ -52604,7 +59219,8 @@ const classtable_elt_t VFT_ReduceAction197[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction197 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction197___action},
-  {(bigint) 2 /* 42: ReduceAction197 < ReduceAction197: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction197 < ReduceAction197: superclass init_table position */},
   {(bigint) parser___ReduceAction197___init},
 };
 /* 0: Pointer to the classtable */
@@ -52614,13 +59230,19 @@ val_t NEW_ReduceAction197(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction197;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction197___init() {
+val_t NEW_ReduceAction197_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction197();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction197_parser___ReduceAction197___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction197();
   parser___ReduceAction197___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction198[44] = {
+const classtable_elt_t VFT_ReduceAction198[45] = {
   {(bigint) 2063 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction198 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction198 < ReduceAction: superclass typecheck marker */},
@@ -52663,7 +59285,8 @@ const classtable_elt_t VFT_ReduceAction198[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction198 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction198___action},
-  {(bigint) 2 /* 42: ReduceAction198 < ReduceAction198: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction198 < ReduceAction198: superclass init_table position */},
   {(bigint) parser___ReduceAction198___init},
 };
 /* 0: Pointer to the classtable */
@@ -52673,13 +59296,19 @@ val_t NEW_ReduceAction198(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction198;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction198___init() {
+val_t NEW_ReduceAction198_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction198();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction198_parser___ReduceAction198___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction198();
   parser___ReduceAction198___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction199[44] = {
+const classtable_elt_t VFT_ReduceAction199[45] = {
   {(bigint) 2059 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction199 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction199 < ReduceAction: superclass typecheck marker */},
@@ -52722,7 +59351,8 @@ const classtable_elt_t VFT_ReduceAction199[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction199 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction199___action},
-  {(bigint) 2 /* 42: ReduceAction199 < ReduceAction199: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction199 < ReduceAction199: superclass init_table position */},
   {(bigint) parser___ReduceAction199___init},
 };
 /* 0: Pointer to the classtable */
@@ -52732,13 +59362,19 @@ val_t NEW_ReduceAction199(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction199;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction199___init() {
+val_t NEW_ReduceAction199_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction199();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction199_parser___ReduceAction199___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction199();
   parser___ReduceAction199___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction200[44] = {
+const classtable_elt_t VFT_ReduceAction200[45] = {
   {(bigint) 2047 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction200 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction200 < ReduceAction: superclass typecheck marker */},
@@ -52781,7 +59417,8 @@ const classtable_elt_t VFT_ReduceAction200[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction200 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction200___action},
-  {(bigint) 2 /* 42: ReduceAction200 < ReduceAction200: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction200 < ReduceAction200: superclass init_table position */},
   {(bigint) parser___ReduceAction200___init},
 };
 /* 0: Pointer to the classtable */
@@ -52791,13 +59428,19 @@ val_t NEW_ReduceAction200(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction200;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction200___init() {
+val_t NEW_ReduceAction200_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction200();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction200_parser___ReduceAction200___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction200();
   parser___ReduceAction200___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction201[44] = {
+const classtable_elt_t VFT_ReduceAction201[45] = {
   {(bigint) 2043 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction201 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction201 < ReduceAction: superclass typecheck marker */},
@@ -52840,7 +59483,8 @@ const classtable_elt_t VFT_ReduceAction201[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction201 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction201___action},
-  {(bigint) 2 /* 42: ReduceAction201 < ReduceAction201: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction201 < ReduceAction201: superclass init_table position */},
   {(bigint) parser___ReduceAction201___init},
 };
 /* 0: Pointer to the classtable */
@@ -52850,13 +59494,19 @@ val_t NEW_ReduceAction201(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction201;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction201___init() {
+val_t NEW_ReduceAction201_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction201();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction201_parser___ReduceAction201___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction201();
   parser___ReduceAction201___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction202[44] = {
+const classtable_elt_t VFT_ReduceAction202[45] = {
   {(bigint) 2039 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction202 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction202 < ReduceAction: superclass typecheck marker */},
@@ -52899,7 +59549,8 @@ const classtable_elt_t VFT_ReduceAction202[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction202 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction202___action},
-  {(bigint) 2 /* 42: ReduceAction202 < ReduceAction202: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction202 < ReduceAction202: superclass init_table position */},
   {(bigint) parser___ReduceAction202___init},
 };
 /* 0: Pointer to the classtable */
@@ -52909,13 +59560,19 @@ val_t NEW_ReduceAction202(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction202;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction202___init() {
+val_t NEW_ReduceAction202_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction202();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction202_parser___ReduceAction202___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction202();
   parser___ReduceAction202___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction203[44] = {
+const classtable_elt_t VFT_ReduceAction203[45] = {
   {(bigint) 2035 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction203 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction203 < ReduceAction: superclass typecheck marker */},
@@ -52958,7 +59615,8 @@ const classtable_elt_t VFT_ReduceAction203[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction203 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction203___action},
-  {(bigint) 2 /* 42: ReduceAction203 < ReduceAction203: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction203 < ReduceAction203: superclass init_table position */},
   {(bigint) parser___ReduceAction203___init},
 };
 /* 0: Pointer to the classtable */
@@ -52968,13 +59626,19 @@ val_t NEW_ReduceAction203(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction203;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction203___init() {
+val_t NEW_ReduceAction203_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction203();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction203_parser___ReduceAction203___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction203();
   parser___ReduceAction203___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction204[44] = {
+const classtable_elt_t VFT_ReduceAction204[45] = {
   {(bigint) 2031 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction204 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction204 < ReduceAction: superclass typecheck marker */},
@@ -53017,7 +59681,8 @@ const classtable_elt_t VFT_ReduceAction204[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction204 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction204___action},
-  {(bigint) 2 /* 42: ReduceAction204 < ReduceAction204: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction204 < ReduceAction204: superclass init_table position */},
   {(bigint) parser___ReduceAction204___init},
 };
 /* 0: Pointer to the classtable */
@@ -53027,13 +59692,19 @@ val_t NEW_ReduceAction204(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction204;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction204___init() {
+val_t NEW_ReduceAction204_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction204();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction204_parser___ReduceAction204___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction204();
   parser___ReduceAction204___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction205[44] = {
+const classtable_elt_t VFT_ReduceAction205[45] = {
   {(bigint) 2027 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction205 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction205 < ReduceAction: superclass typecheck marker */},
@@ -53076,7 +59747,8 @@ const classtable_elt_t VFT_ReduceAction205[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction205 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction205___action},
-  {(bigint) 2 /* 42: ReduceAction205 < ReduceAction205: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction205 < ReduceAction205: superclass init_table position */},
   {(bigint) parser___ReduceAction205___init},
 };
 /* 0: Pointer to the classtable */
@@ -53086,13 +59758,19 @@ val_t NEW_ReduceAction205(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction205;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction205___init() {
+val_t NEW_ReduceAction205_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction205();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction205_parser___ReduceAction205___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction205();
   parser___ReduceAction205___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction206[44] = {
+const classtable_elt_t VFT_ReduceAction206[45] = {
   {(bigint) 2023 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction206 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction206 < ReduceAction: superclass typecheck marker */},
@@ -53135,7 +59813,8 @@ const classtable_elt_t VFT_ReduceAction206[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction206 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction206___action},
-  {(bigint) 2 /* 42: ReduceAction206 < ReduceAction206: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction206 < ReduceAction206: superclass init_table position */},
   {(bigint) parser___ReduceAction206___init},
 };
 /* 0: Pointer to the classtable */
@@ -53145,13 +59824,19 @@ val_t NEW_ReduceAction206(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction206;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction206___init() {
+val_t NEW_ReduceAction206_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction206();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction206_parser___ReduceAction206___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction206();
   parser___ReduceAction206___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction207[44] = {
+const classtable_elt_t VFT_ReduceAction207[45] = {
   {(bigint) 2019 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction207 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction207 < ReduceAction: superclass typecheck marker */},
@@ -53194,7 +59879,8 @@ const classtable_elt_t VFT_ReduceAction207[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction207 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction207___action},
-  {(bigint) 2 /* 42: ReduceAction207 < ReduceAction207: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction207 < ReduceAction207: superclass init_table position */},
   {(bigint) parser___ReduceAction207___init},
 };
 /* 0: Pointer to the classtable */
@@ -53204,13 +59890,19 @@ val_t NEW_ReduceAction207(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction207;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction207___init() {
+val_t NEW_ReduceAction207_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction207();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction207_parser___ReduceAction207___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction207();
   parser___ReduceAction207___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction208[44] = {
+const classtable_elt_t VFT_ReduceAction208[45] = {
   {(bigint) 2015 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction208 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction208 < ReduceAction: superclass typecheck marker */},
@@ -53253,7 +59945,8 @@ const classtable_elt_t VFT_ReduceAction208[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction208 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction208___action},
-  {(bigint) 2 /* 42: ReduceAction208 < ReduceAction208: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction208 < ReduceAction208: superclass init_table position */},
   {(bigint) parser___ReduceAction208___init},
 };
 /* 0: Pointer to the classtable */
@@ -53263,13 +59956,19 @@ val_t NEW_ReduceAction208(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction208;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction208___init() {
+val_t NEW_ReduceAction208_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction208();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction208_parser___ReduceAction208___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction208();
   parser___ReduceAction208___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction209[44] = {
+const classtable_elt_t VFT_ReduceAction209[45] = {
   {(bigint) 2011 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction209 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction209 < ReduceAction: superclass typecheck marker */},
@@ -53312,7 +60011,8 @@ const classtable_elt_t VFT_ReduceAction209[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction209 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction209___action},
-  {(bigint) 2 /* 42: ReduceAction209 < ReduceAction209: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction209 < ReduceAction209: superclass init_table position */},
   {(bigint) parser___ReduceAction209___init},
 };
 /* 0: Pointer to the classtable */
@@ -53322,13 +60022,19 @@ val_t NEW_ReduceAction209(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction209;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction209___init() {
+val_t NEW_ReduceAction209_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction209();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction209_parser___ReduceAction209___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction209();
   parser___ReduceAction209___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction210[44] = {
+const classtable_elt_t VFT_ReduceAction210[45] = {
   {(bigint) 2003 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction210 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction210 < ReduceAction: superclass typecheck marker */},
@@ -53371,7 +60077,8 @@ const classtable_elt_t VFT_ReduceAction210[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction210 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction210___action},
-  {(bigint) 2 /* 42: ReduceAction210 < ReduceAction210: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction210 < ReduceAction210: superclass init_table position */},
   {(bigint) parser___ReduceAction210___init},
 };
 /* 0: Pointer to the classtable */
@@ -53381,13 +60088,19 @@ val_t NEW_ReduceAction210(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction210;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction210___init() {
+val_t NEW_ReduceAction210_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction210();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction210_parser___ReduceAction210___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction210();
   parser___ReduceAction210___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction211[44] = {
+const classtable_elt_t VFT_ReduceAction211[45] = {
   {(bigint) 1999 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction211 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction211 < ReduceAction: superclass typecheck marker */},
@@ -53430,7 +60143,8 @@ const classtable_elt_t VFT_ReduceAction211[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction211 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction211___action},
-  {(bigint) 2 /* 42: ReduceAction211 < ReduceAction211: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction211 < ReduceAction211: superclass init_table position */},
   {(bigint) parser___ReduceAction211___init},
 };
 /* 0: Pointer to the classtable */
@@ -53440,13 +60154,19 @@ val_t NEW_ReduceAction211(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction211;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction211___init() {
+val_t NEW_ReduceAction211_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction211();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction211_parser___ReduceAction211___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction211();
   parser___ReduceAction211___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction212[44] = {
+const classtable_elt_t VFT_ReduceAction212[45] = {
   {(bigint) 1995 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction212 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction212 < ReduceAction: superclass typecheck marker */},
@@ -53489,7 +60209,8 @@ const classtable_elt_t VFT_ReduceAction212[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction212 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction212___action},
-  {(bigint) 2 /* 42: ReduceAction212 < ReduceAction212: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction212 < ReduceAction212: superclass init_table position */},
   {(bigint) parser___ReduceAction212___init},
 };
 /* 0: Pointer to the classtable */
@@ -53499,13 +60220,19 @@ val_t NEW_ReduceAction212(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction212;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction212___init() {
+val_t NEW_ReduceAction212_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction212();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction212_parser___ReduceAction212___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction212();
   parser___ReduceAction212___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction213[44] = {
+const classtable_elt_t VFT_ReduceAction213[45] = {
   {(bigint) 1991 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction213 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction213 < ReduceAction: superclass typecheck marker */},
@@ -53548,7 +60275,8 @@ const classtable_elt_t VFT_ReduceAction213[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction213 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction213___action},
-  {(bigint) 2 /* 42: ReduceAction213 < ReduceAction213: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction213 < ReduceAction213: superclass init_table position */},
   {(bigint) parser___ReduceAction213___init},
 };
 /* 0: Pointer to the classtable */
@@ -53558,13 +60286,19 @@ val_t NEW_ReduceAction213(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction213;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction213___init() {
+val_t NEW_ReduceAction213_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction213();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction213_parser___ReduceAction213___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction213();
   parser___ReduceAction213___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction214[44] = {
+const classtable_elt_t VFT_ReduceAction214[45] = {
   {(bigint) 1987 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction214 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction214 < ReduceAction: superclass typecheck marker */},
@@ -53607,7 +60341,8 @@ const classtable_elt_t VFT_ReduceAction214[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction214 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction214___action},
-  {(bigint) 2 /* 42: ReduceAction214 < ReduceAction214: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction214 < ReduceAction214: superclass init_table position */},
   {(bigint) parser___ReduceAction214___init},
 };
 /* 0: Pointer to the classtable */
@@ -53617,13 +60352,19 @@ val_t NEW_ReduceAction214(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction214;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction214___init() {
+val_t NEW_ReduceAction214_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction214();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction214_parser___ReduceAction214___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction214();
   parser___ReduceAction214___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction215[44] = {
+const classtable_elt_t VFT_ReduceAction215[45] = {
   {(bigint) 1983 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction215 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction215 < ReduceAction: superclass typecheck marker */},
@@ -53666,7 +60407,8 @@ const classtable_elt_t VFT_ReduceAction215[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction215 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction215___action},
-  {(bigint) 2 /* 42: ReduceAction215 < ReduceAction215: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction215 < ReduceAction215: superclass init_table position */},
   {(bigint) parser___ReduceAction215___init},
 };
 /* 0: Pointer to the classtable */
@@ -53676,13 +60418,19 @@ val_t NEW_ReduceAction215(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction215;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction215___init() {
+val_t NEW_ReduceAction215_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction215();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction215_parser___ReduceAction215___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction215();
   parser___ReduceAction215___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction216[44] = {
+const classtable_elt_t VFT_ReduceAction216[45] = {
   {(bigint) 1979 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction216 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction216 < ReduceAction: superclass typecheck marker */},
@@ -53725,7 +60473,8 @@ const classtable_elt_t VFT_ReduceAction216[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction216 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction216___action},
-  {(bigint) 2 /* 42: ReduceAction216 < ReduceAction216: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction216 < ReduceAction216: superclass init_table position */},
   {(bigint) parser___ReduceAction216___init},
 };
 /* 0: Pointer to the classtable */
@@ -53735,13 +60484,19 @@ val_t NEW_ReduceAction216(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction216;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction216___init() {
+val_t NEW_ReduceAction216_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction216();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction216_parser___ReduceAction216___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction216();
   parser___ReduceAction216___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction217[44] = {
+const classtable_elt_t VFT_ReduceAction217[45] = {
   {(bigint) 1975 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction217 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction217 < ReduceAction: superclass typecheck marker */},
@@ -53784,7 +60539,8 @@ const classtable_elt_t VFT_ReduceAction217[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction217 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction217___action},
-  {(bigint) 2 /* 42: ReduceAction217 < ReduceAction217: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction217 < ReduceAction217: superclass init_table position */},
   {(bigint) parser___ReduceAction217___init},
 };
 /* 0: Pointer to the classtable */
@@ -53794,13 +60550,19 @@ val_t NEW_ReduceAction217(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction217;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction217___init() {
+val_t NEW_ReduceAction217_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction217();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction217_parser___ReduceAction217___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction217();
   parser___ReduceAction217___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction218[44] = {
+const classtable_elt_t VFT_ReduceAction218[45] = {
   {(bigint) 1971 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction218 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction218 < ReduceAction: superclass typecheck marker */},
@@ -53843,7 +60605,8 @@ const classtable_elt_t VFT_ReduceAction218[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction218 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction218___action},
-  {(bigint) 2 /* 42: ReduceAction218 < ReduceAction218: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction218 < ReduceAction218: superclass init_table position */},
   {(bigint) parser___ReduceAction218___init},
 };
 /* 0: Pointer to the classtable */
@@ -53853,13 +60616,19 @@ val_t NEW_ReduceAction218(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction218;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction218___init() {
+val_t NEW_ReduceAction218_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction218();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction218_parser___ReduceAction218___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction218();
   parser___ReduceAction218___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction219[44] = {
+const classtable_elt_t VFT_ReduceAction219[45] = {
   {(bigint) 1967 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction219 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction219 < ReduceAction: superclass typecheck marker */},
@@ -53902,7 +60671,8 @@ const classtable_elt_t VFT_ReduceAction219[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction219 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction219___action},
-  {(bigint) 2 /* 42: ReduceAction219 < ReduceAction219: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction219 < ReduceAction219: superclass init_table position */},
   {(bigint) parser___ReduceAction219___init},
 };
 /* 0: Pointer to the classtable */
@@ -53912,13 +60682,19 @@ val_t NEW_ReduceAction219(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction219;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction219___init() {
+val_t NEW_ReduceAction219_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction219();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction219_parser___ReduceAction219___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction219();
   parser___ReduceAction219___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction220[44] = {
+const classtable_elt_t VFT_ReduceAction220[45] = {
   {(bigint) 1959 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction220 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction220 < ReduceAction: superclass typecheck marker */},
@@ -53961,7 +60737,8 @@ const classtable_elt_t VFT_ReduceAction220[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction220 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction220___action},
-  {(bigint) 2 /* 42: ReduceAction220 < ReduceAction220: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction220 < ReduceAction220: superclass init_table position */},
   {(bigint) parser___ReduceAction220___init},
 };
 /* 0: Pointer to the classtable */
@@ -53971,13 +60748,19 @@ val_t NEW_ReduceAction220(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction220;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction220___init() {
+val_t NEW_ReduceAction220_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction220();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction220_parser___ReduceAction220___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction220();
   parser___ReduceAction220___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction221[44] = {
+const classtable_elt_t VFT_ReduceAction221[45] = {
   {(bigint) 1955 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction221 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction221 < ReduceAction: superclass typecheck marker */},
@@ -54020,7 +60803,8 @@ const classtable_elt_t VFT_ReduceAction221[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction221 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction221___action},
-  {(bigint) 2 /* 42: ReduceAction221 < ReduceAction221: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction221 < ReduceAction221: superclass init_table position */},
   {(bigint) parser___ReduceAction221___init},
 };
 /* 0: Pointer to the classtable */
@@ -54030,13 +60814,19 @@ val_t NEW_ReduceAction221(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction221;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction221___init() {
+val_t NEW_ReduceAction221_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction221();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction221_parser___ReduceAction221___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction221();
   parser___ReduceAction221___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction222[44] = {
+const classtable_elt_t VFT_ReduceAction222[45] = {
   {(bigint) 1951 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction222 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction222 < ReduceAction: superclass typecheck marker */},
@@ -54079,7 +60869,8 @@ const classtable_elt_t VFT_ReduceAction222[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction222 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction222___action},
-  {(bigint) 2 /* 42: ReduceAction222 < ReduceAction222: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction222 < ReduceAction222: superclass init_table position */},
   {(bigint) parser___ReduceAction222___init},
 };
 /* 0: Pointer to the classtable */
@@ -54089,13 +60880,19 @@ val_t NEW_ReduceAction222(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction222;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction222___init() {
+val_t NEW_ReduceAction222_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction222();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction222_parser___ReduceAction222___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction222();
   parser___ReduceAction222___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction223[44] = {
+const classtable_elt_t VFT_ReduceAction223[45] = {
   {(bigint) 1947 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction223 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction223 < ReduceAction: superclass typecheck marker */},
@@ -54138,7 +60935,8 @@ const classtable_elt_t VFT_ReduceAction223[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction223 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction223___action},
-  {(bigint) 2 /* 42: ReduceAction223 < ReduceAction223: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction223 < ReduceAction223: superclass init_table position */},
   {(bigint) parser___ReduceAction223___init},
 };
 /* 0: Pointer to the classtable */
@@ -54148,13 +60946,19 @@ val_t NEW_ReduceAction223(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction223;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction223___init() {
+val_t NEW_ReduceAction223_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction223();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction223_parser___ReduceAction223___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction223();
   parser___ReduceAction223___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction224[44] = {
+const classtable_elt_t VFT_ReduceAction224[45] = {
   {(bigint) 1943 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction224 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction224 < ReduceAction: superclass typecheck marker */},
@@ -54197,7 +61001,8 @@ const classtable_elt_t VFT_ReduceAction224[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction224 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction224___action},
-  {(bigint) 2 /* 42: ReduceAction224 < ReduceAction224: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction224 < ReduceAction224: superclass init_table position */},
   {(bigint) parser___ReduceAction224___init},
 };
 /* 0: Pointer to the classtable */
@@ -54207,13 +61012,19 @@ val_t NEW_ReduceAction224(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction224;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction224___init() {
+val_t NEW_ReduceAction224_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction224();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction224_parser___ReduceAction224___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction224();
   parser___ReduceAction224___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction225[44] = {
+const classtable_elt_t VFT_ReduceAction225[45] = {
   {(bigint) 1939 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction225 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction225 < ReduceAction: superclass typecheck marker */},
@@ -54256,7 +61067,8 @@ const classtable_elt_t VFT_ReduceAction225[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction225 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction225___action},
-  {(bigint) 2 /* 42: ReduceAction225 < ReduceAction225: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction225 < ReduceAction225: superclass init_table position */},
   {(bigint) parser___ReduceAction225___init},
 };
 /* 0: Pointer to the classtable */
@@ -54266,13 +61078,19 @@ val_t NEW_ReduceAction225(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction225;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction225___init() {
+val_t NEW_ReduceAction225_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction225();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction225_parser___ReduceAction225___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction225();
   parser___ReduceAction225___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction226[44] = {
+const classtable_elt_t VFT_ReduceAction226[45] = {
   {(bigint) 1935 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction226 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction226 < ReduceAction: superclass typecheck marker */},
@@ -54315,7 +61133,8 @@ const classtable_elt_t VFT_ReduceAction226[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction226 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction226___action},
-  {(bigint) 2 /* 42: ReduceAction226 < ReduceAction226: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction226 < ReduceAction226: superclass init_table position */},
   {(bigint) parser___ReduceAction226___init},
 };
 /* 0: Pointer to the classtable */
@@ -54325,13 +61144,19 @@ val_t NEW_ReduceAction226(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction226;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction226___init() {
+val_t NEW_ReduceAction226_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction226();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction226_parser___ReduceAction226___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction226();
   parser___ReduceAction226___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction227[44] = {
+const classtable_elt_t VFT_ReduceAction227[45] = {
   {(bigint) 1931 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction227 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction227 < ReduceAction: superclass typecheck marker */},
@@ -54374,7 +61199,8 @@ const classtable_elt_t VFT_ReduceAction227[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction227 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction227___action},
-  {(bigint) 2 /* 42: ReduceAction227 < ReduceAction227: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction227 < ReduceAction227: superclass init_table position */},
   {(bigint) parser___ReduceAction227___init},
 };
 /* 0: Pointer to the classtable */
@@ -54384,13 +61210,19 @@ val_t NEW_ReduceAction227(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction227;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction227___init() {
+val_t NEW_ReduceAction227_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction227();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction227_parser___ReduceAction227___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction227();
   parser___ReduceAction227___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction228[44] = {
+const classtable_elt_t VFT_ReduceAction228[45] = {
   {(bigint) 1927 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction228 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction228 < ReduceAction: superclass typecheck marker */},
@@ -54433,7 +61265,8 @@ const classtable_elt_t VFT_ReduceAction228[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction228 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction228___action},
-  {(bigint) 2 /* 42: ReduceAction228 < ReduceAction228: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction228 < ReduceAction228: superclass init_table position */},
   {(bigint) parser___ReduceAction228___init},
 };
 /* 0: Pointer to the classtable */
@@ -54443,13 +61276,19 @@ val_t NEW_ReduceAction228(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction228;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction228___init() {
+val_t NEW_ReduceAction228_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction228();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction228_parser___ReduceAction228___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction228();
   parser___ReduceAction228___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction229[44] = {
+const classtable_elt_t VFT_ReduceAction229[45] = {
   {(bigint) 1923 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction229 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction229 < ReduceAction: superclass typecheck marker */},
@@ -54492,7 +61331,8 @@ const classtable_elt_t VFT_ReduceAction229[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction229 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction229___action},
-  {(bigint) 2 /* 42: ReduceAction229 < ReduceAction229: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction229 < ReduceAction229: superclass init_table position */},
   {(bigint) parser___ReduceAction229___init},
 };
 /* 0: Pointer to the classtable */
@@ -54502,13 +61342,19 @@ val_t NEW_ReduceAction229(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction229;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction229___init() {
+val_t NEW_ReduceAction229_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction229();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction229_parser___ReduceAction229___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction229();
   parser___ReduceAction229___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction230[44] = {
+const classtable_elt_t VFT_ReduceAction230[45] = {
   {(bigint) 1915 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction230 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction230 < ReduceAction: superclass typecheck marker */},
@@ -54551,7 +61397,8 @@ const classtable_elt_t VFT_ReduceAction230[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction230 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction230___action},
-  {(bigint) 2 /* 42: ReduceAction230 < ReduceAction230: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction230 < ReduceAction230: superclass init_table position */},
   {(bigint) parser___ReduceAction230___init},
 };
 /* 0: Pointer to the classtable */
@@ -54561,13 +61408,19 @@ val_t NEW_ReduceAction230(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction230;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction230___init() {
+val_t NEW_ReduceAction230_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction230();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction230_parser___ReduceAction230___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction230();
   parser___ReduceAction230___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction231[44] = {
+const classtable_elt_t VFT_ReduceAction231[45] = {
   {(bigint) 1911 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction231 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction231 < ReduceAction: superclass typecheck marker */},
@@ -54610,7 +61463,8 @@ const classtable_elt_t VFT_ReduceAction231[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction231 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction231___action},
-  {(bigint) 2 /* 42: ReduceAction231 < ReduceAction231: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction231 < ReduceAction231: superclass init_table position */},
   {(bigint) parser___ReduceAction231___init},
 };
 /* 0: Pointer to the classtable */
@@ -54620,13 +61474,19 @@ val_t NEW_ReduceAction231(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction231;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction231___init() {
+val_t NEW_ReduceAction231_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction231();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction231_parser___ReduceAction231___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction231();
   parser___ReduceAction231___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction232[44] = {
+const classtable_elt_t VFT_ReduceAction232[45] = {
   {(bigint) 1907 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction232 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction232 < ReduceAction: superclass typecheck marker */},
@@ -54669,7 +61529,8 @@ const classtable_elt_t VFT_ReduceAction232[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction232 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction232___action},
-  {(bigint) 2 /* 42: ReduceAction232 < ReduceAction232: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction232 < ReduceAction232: superclass init_table position */},
   {(bigint) parser___ReduceAction232___init},
 };
 /* 0: Pointer to the classtable */
@@ -54679,13 +61540,19 @@ val_t NEW_ReduceAction232(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction232;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction232___init() {
+val_t NEW_ReduceAction232_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction232();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction232_parser___ReduceAction232___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction232();
   parser___ReduceAction232___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction233[44] = {
+const classtable_elt_t VFT_ReduceAction233[45] = {
   {(bigint) 1903 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction233 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction233 < ReduceAction: superclass typecheck marker */},
@@ -54728,7 +61595,8 @@ const classtable_elt_t VFT_ReduceAction233[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction233 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction233___action},
-  {(bigint) 2 /* 42: ReduceAction233 < ReduceAction233: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction233 < ReduceAction233: superclass init_table position */},
   {(bigint) parser___ReduceAction233___init},
 };
 /* 0: Pointer to the classtable */
@@ -54738,13 +61606,19 @@ val_t NEW_ReduceAction233(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction233;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction233___init() {
+val_t NEW_ReduceAction233_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction233();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction233_parser___ReduceAction233___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction233();
   parser___ReduceAction233___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction234[44] = {
+const classtable_elt_t VFT_ReduceAction234[45] = {
   {(bigint) 1899 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction234 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction234 < ReduceAction: superclass typecheck marker */},
@@ -54787,7 +61661,8 @@ const classtable_elt_t VFT_ReduceAction234[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction234 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction234___action},
-  {(bigint) 2 /* 42: ReduceAction234 < ReduceAction234: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction234 < ReduceAction234: superclass init_table position */},
   {(bigint) parser___ReduceAction234___init},
 };
 /* 0: Pointer to the classtable */
@@ -54797,13 +61672,19 @@ val_t NEW_ReduceAction234(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction234;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction234___init() {
+val_t NEW_ReduceAction234_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction234();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction234_parser___ReduceAction234___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction234();
   parser___ReduceAction234___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction235[44] = {
+const classtable_elt_t VFT_ReduceAction235[45] = {
   {(bigint) 1895 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction235 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction235 < ReduceAction: superclass typecheck marker */},
@@ -54846,7 +61727,8 @@ const classtable_elt_t VFT_ReduceAction235[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction235 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction235___action},
-  {(bigint) 2 /* 42: ReduceAction235 < ReduceAction235: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction235 < ReduceAction235: superclass init_table position */},
   {(bigint) parser___ReduceAction235___init},
 };
 /* 0: Pointer to the classtable */
@@ -54856,13 +61738,19 @@ val_t NEW_ReduceAction235(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction235;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction235___init() {
+val_t NEW_ReduceAction235_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction235();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction235_parser___ReduceAction235___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction235();
   parser___ReduceAction235___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction236[44] = {
+const classtable_elt_t VFT_ReduceAction236[45] = {
   {(bigint) 1891 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction236 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction236 < ReduceAction: superclass typecheck marker */},
@@ -54905,7 +61793,8 @@ const classtable_elt_t VFT_ReduceAction236[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction236 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction236___action},
-  {(bigint) 2 /* 42: ReduceAction236 < ReduceAction236: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction236 < ReduceAction236: superclass init_table position */},
   {(bigint) parser___ReduceAction236___init},
 };
 /* 0: Pointer to the classtable */
@@ -54915,13 +61804,19 @@ val_t NEW_ReduceAction236(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction236;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction236___init() {
+val_t NEW_ReduceAction236_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction236();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction236_parser___ReduceAction236___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction236();
   parser___ReduceAction236___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction237[44] = {
+const classtable_elt_t VFT_ReduceAction237[45] = {
   {(bigint) 1887 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction237 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction237 < ReduceAction: superclass typecheck marker */},
@@ -54964,7 +61859,8 @@ const classtable_elt_t VFT_ReduceAction237[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction237 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction237___action},
-  {(bigint) 2 /* 42: ReduceAction237 < ReduceAction237: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction237 < ReduceAction237: superclass init_table position */},
   {(bigint) parser___ReduceAction237___init},
 };
 /* 0: Pointer to the classtable */
@@ -54974,13 +61870,19 @@ val_t NEW_ReduceAction237(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction237;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction237___init() {
+val_t NEW_ReduceAction237_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction237();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction237_parser___ReduceAction237___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction237();
   parser___ReduceAction237___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction238[44] = {
+const classtable_elt_t VFT_ReduceAction238[45] = {
   {(bigint) 1883 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction238 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction238 < ReduceAction: superclass typecheck marker */},
@@ -55023,7 +61925,8 @@ const classtable_elt_t VFT_ReduceAction238[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction238 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction238___action},
-  {(bigint) 2 /* 42: ReduceAction238 < ReduceAction238: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction238 < ReduceAction238: superclass init_table position */},
   {(bigint) parser___ReduceAction238___init},
 };
 /* 0: Pointer to the classtable */
@@ -55033,13 +61936,19 @@ val_t NEW_ReduceAction238(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction238;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction238___init() {
+val_t NEW_ReduceAction238_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction238();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction238_parser___ReduceAction238___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction238();
   parser___ReduceAction238___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction239[44] = {
+const classtable_elt_t VFT_ReduceAction239[45] = {
   {(bigint) 1879 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction239 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction239 < ReduceAction: superclass typecheck marker */},
@@ -55082,7 +61991,8 @@ const classtable_elt_t VFT_ReduceAction239[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction239 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction239___action},
-  {(bigint) 2 /* 42: ReduceAction239 < ReduceAction239: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction239 < ReduceAction239: superclass init_table position */},
   {(bigint) parser___ReduceAction239___init},
 };
 /* 0: Pointer to the classtable */
@@ -55092,13 +62002,19 @@ val_t NEW_ReduceAction239(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction239;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction239___init() {
+val_t NEW_ReduceAction239_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction239();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction239_parser___ReduceAction239___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction239();
   parser___ReduceAction239___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction240[44] = {
+const classtable_elt_t VFT_ReduceAction240[45] = {
   {(bigint) 1871 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction240 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction240 < ReduceAction: superclass typecheck marker */},
@@ -55141,7 +62057,8 @@ const classtable_elt_t VFT_ReduceAction240[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction240 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction240___action},
-  {(bigint) 2 /* 42: ReduceAction240 < ReduceAction240: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction240 < ReduceAction240: superclass init_table position */},
   {(bigint) parser___ReduceAction240___init},
 };
 /* 0: Pointer to the classtable */
@@ -55151,13 +62068,19 @@ val_t NEW_ReduceAction240(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction240;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction240___init() {
+val_t NEW_ReduceAction240_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction240();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction240_parser___ReduceAction240___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction240();
   parser___ReduceAction240___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction241[44] = {
+const classtable_elt_t VFT_ReduceAction241[45] = {
   {(bigint) 1867 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction241 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction241 < ReduceAction: superclass typecheck marker */},
@@ -55200,7 +62123,8 @@ const classtable_elt_t VFT_ReduceAction241[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction241 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction241___action},
-  {(bigint) 2 /* 42: ReduceAction241 < ReduceAction241: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction241 < ReduceAction241: superclass init_table position */},
   {(bigint) parser___ReduceAction241___init},
 };
 /* 0: Pointer to the classtable */
@@ -55210,13 +62134,19 @@ val_t NEW_ReduceAction241(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction241;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction241___init() {
+val_t NEW_ReduceAction241_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction241();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction241_parser___ReduceAction241___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction241();
   parser___ReduceAction241___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction242[44] = {
+const classtable_elt_t VFT_ReduceAction242[45] = {
   {(bigint) 1863 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction242 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction242 < ReduceAction: superclass typecheck marker */},
@@ -55259,7 +62189,8 @@ const classtable_elt_t VFT_ReduceAction242[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction242 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction242___action},
-  {(bigint) 2 /* 42: ReduceAction242 < ReduceAction242: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction242 < ReduceAction242: superclass init_table position */},
   {(bigint) parser___ReduceAction242___init},
 };
 /* 0: Pointer to the classtable */
@@ -55269,13 +62200,19 @@ val_t NEW_ReduceAction242(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction242;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction242___init() {
+val_t NEW_ReduceAction242_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction242();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction242_parser___ReduceAction242___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction242();
   parser___ReduceAction242___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction243[44] = {
+const classtable_elt_t VFT_ReduceAction243[45] = {
   {(bigint) 1859 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction243 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction243 < ReduceAction: superclass typecheck marker */},
@@ -55318,7 +62255,8 @@ const classtable_elt_t VFT_ReduceAction243[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction243 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction243___action},
-  {(bigint) 2 /* 42: ReduceAction243 < ReduceAction243: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction243 < ReduceAction243: superclass init_table position */},
   {(bigint) parser___ReduceAction243___init},
 };
 /* 0: Pointer to the classtable */
@@ -55328,13 +62266,19 @@ val_t NEW_ReduceAction243(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction243;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction243___init() {
+val_t NEW_ReduceAction243_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction243();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction243_parser___ReduceAction243___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction243();
   parser___ReduceAction243___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction244[44] = {
+const classtable_elt_t VFT_ReduceAction244[45] = {
   {(bigint) 1855 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction244 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction244 < ReduceAction: superclass typecheck marker */},
@@ -55377,7 +62321,8 @@ const classtable_elt_t VFT_ReduceAction244[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction244 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction244___action},
-  {(bigint) 2 /* 42: ReduceAction244 < ReduceAction244: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction244 < ReduceAction244: superclass init_table position */},
   {(bigint) parser___ReduceAction244___init},
 };
 /* 0: Pointer to the classtable */
@@ -55387,13 +62332,19 @@ val_t NEW_ReduceAction244(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction244;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction244___init() {
+val_t NEW_ReduceAction244_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction244();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction244_parser___ReduceAction244___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction244();
   parser___ReduceAction244___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction245[44] = {
+const classtable_elt_t VFT_ReduceAction245[45] = {
   {(bigint) 1851 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction245 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction245 < ReduceAction: superclass typecheck marker */},
@@ -55436,7 +62387,8 @@ const classtable_elt_t VFT_ReduceAction245[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction245 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction245___action},
-  {(bigint) 2 /* 42: ReduceAction245 < ReduceAction245: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction245 < ReduceAction245: superclass init_table position */},
   {(bigint) parser___ReduceAction245___init},
 };
 /* 0: Pointer to the classtable */
@@ -55446,13 +62398,19 @@ val_t NEW_ReduceAction245(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction245;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction245___init() {
+val_t NEW_ReduceAction245_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction245();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction245_parser___ReduceAction245___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction245();
   parser___ReduceAction245___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction246[44] = {
+const classtable_elt_t VFT_ReduceAction246[45] = {
   {(bigint) 1847 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction246 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction246 < ReduceAction: superclass typecheck marker */},
@@ -55495,7 +62453,8 @@ const classtable_elt_t VFT_ReduceAction246[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction246 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction246___action},
-  {(bigint) 2 /* 42: ReduceAction246 < ReduceAction246: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction246 < ReduceAction246: superclass init_table position */},
   {(bigint) parser___ReduceAction246___init},
 };
 /* 0: Pointer to the classtable */
@@ -55505,13 +62464,19 @@ val_t NEW_ReduceAction246(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction246;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction246___init() {
+val_t NEW_ReduceAction246_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction246();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction246_parser___ReduceAction246___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction246();
   parser___ReduceAction246___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction247[44] = {
+const classtable_elt_t VFT_ReduceAction247[45] = {
   {(bigint) 1843 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction247 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction247 < ReduceAction: superclass typecheck marker */},
@@ -55554,7 +62519,8 @@ const classtable_elt_t VFT_ReduceAction247[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction247 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction247___action},
-  {(bigint) 2 /* 42: ReduceAction247 < ReduceAction247: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction247 < ReduceAction247: superclass init_table position */},
   {(bigint) parser___ReduceAction247___init},
 };
 /* 0: Pointer to the classtable */
@@ -55564,13 +62530,19 @@ val_t NEW_ReduceAction247(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction247;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction247___init() {
+val_t NEW_ReduceAction247_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction247();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction247_parser___ReduceAction247___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction247();
   parser___ReduceAction247___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction248[44] = {
+const classtable_elt_t VFT_ReduceAction248[45] = {
   {(bigint) 1839 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction248 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction248 < ReduceAction: superclass typecheck marker */},
@@ -55613,7 +62585,8 @@ const classtable_elt_t VFT_ReduceAction248[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction248 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction248___action},
-  {(bigint) 2 /* 42: ReduceAction248 < ReduceAction248: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction248 < ReduceAction248: superclass init_table position */},
   {(bigint) parser___ReduceAction248___init},
 };
 /* 0: Pointer to the classtable */
@@ -55623,13 +62596,19 @@ val_t NEW_ReduceAction248(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction248;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction248___init() {
+val_t NEW_ReduceAction248_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction248();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction248_parser___ReduceAction248___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction248();
   parser___ReduceAction248___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction249[44] = {
+const classtable_elt_t VFT_ReduceAction249[45] = {
   {(bigint) 1835 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction249 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction249 < ReduceAction: superclass typecheck marker */},
@@ -55672,7 +62651,8 @@ const classtable_elt_t VFT_ReduceAction249[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction249 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction249___action},
-  {(bigint) 2 /* 42: ReduceAction249 < ReduceAction249: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction249 < ReduceAction249: superclass init_table position */},
   {(bigint) parser___ReduceAction249___init},
 };
 /* 0: Pointer to the classtable */
@@ -55682,13 +62662,19 @@ val_t NEW_ReduceAction249(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction249;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction249___init() {
+val_t NEW_ReduceAction249_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction249();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction249_parser___ReduceAction249___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction249();
   parser___ReduceAction249___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction250[44] = {
+const classtable_elt_t VFT_ReduceAction250[45] = {
   {(bigint) 1827 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction250 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction250 < ReduceAction: superclass typecheck marker */},
@@ -55731,7 +62717,8 @@ const classtable_elt_t VFT_ReduceAction250[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction250 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction250___action},
-  {(bigint) 2 /* 42: ReduceAction250 < ReduceAction250: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction250 < ReduceAction250: superclass init_table position */},
   {(bigint) parser___ReduceAction250___init},
 };
 /* 0: Pointer to the classtable */
@@ -55741,13 +62728,19 @@ val_t NEW_ReduceAction250(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction250;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction250___init() {
+val_t NEW_ReduceAction250_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction250();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction250_parser___ReduceAction250___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction250();
   parser___ReduceAction250___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction251[44] = {
+const classtable_elt_t VFT_ReduceAction251[45] = {
   {(bigint) 1823 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction251 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction251 < ReduceAction: superclass typecheck marker */},
@@ -55790,7 +62783,8 @@ const classtable_elt_t VFT_ReduceAction251[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction251 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction251___action},
-  {(bigint) 2 /* 42: ReduceAction251 < ReduceAction251: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction251 < ReduceAction251: superclass init_table position */},
   {(bigint) parser___ReduceAction251___init},
 };
 /* 0: Pointer to the classtable */
@@ -55800,13 +62794,19 @@ val_t NEW_ReduceAction251(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction251;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction251___init() {
+val_t NEW_ReduceAction251_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction251();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction251_parser___ReduceAction251___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction251();
   parser___ReduceAction251___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction252[44] = {
+const classtable_elt_t VFT_ReduceAction252[45] = {
   {(bigint) 1819 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction252 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction252 < ReduceAction: superclass typecheck marker */},
@@ -55849,7 +62849,8 @@ const classtable_elt_t VFT_ReduceAction252[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction252 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction252___action},
-  {(bigint) 2 /* 42: ReduceAction252 < ReduceAction252: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction252 < ReduceAction252: superclass init_table position */},
   {(bigint) parser___ReduceAction252___init},
 };
 /* 0: Pointer to the classtable */
@@ -55859,13 +62860,19 @@ val_t NEW_ReduceAction252(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction252;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction252___init() {
+val_t NEW_ReduceAction252_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction252();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction252_parser___ReduceAction252___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction252();
   parser___ReduceAction252___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction253[44] = {
+const classtable_elt_t VFT_ReduceAction253[45] = {
   {(bigint) 1815 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction253 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction253 < ReduceAction: superclass typecheck marker */},
@@ -55908,7 +62915,8 @@ const classtable_elt_t VFT_ReduceAction253[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction253 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction253___action},
-  {(bigint) 2 /* 42: ReduceAction253 < ReduceAction253: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction253 < ReduceAction253: superclass init_table position */},
   {(bigint) parser___ReduceAction253___init},
 };
 /* 0: Pointer to the classtable */
@@ -55918,13 +62926,19 @@ val_t NEW_ReduceAction253(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction253;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction253___init() {
+val_t NEW_ReduceAction253_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction253();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction253_parser___ReduceAction253___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction253();
   parser___ReduceAction253___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction254[44] = {
+const classtable_elt_t VFT_ReduceAction254[45] = {
   {(bigint) 1811 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction254 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction254 < ReduceAction: superclass typecheck marker */},
@@ -55967,7 +62981,8 @@ const classtable_elt_t VFT_ReduceAction254[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction254 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction254___action},
-  {(bigint) 2 /* 42: ReduceAction254 < ReduceAction254: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction254 < ReduceAction254: superclass init_table position */},
   {(bigint) parser___ReduceAction254___init},
 };
 /* 0: Pointer to the classtable */
@@ -55977,13 +62992,19 @@ val_t NEW_ReduceAction254(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction254;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction254___init() {
+val_t NEW_ReduceAction254_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction254();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction254_parser___ReduceAction254___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction254();
   parser___ReduceAction254___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction255[44] = {
+const classtable_elt_t VFT_ReduceAction255[45] = {
   {(bigint) 1807 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction255 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction255 < ReduceAction: superclass typecheck marker */},
@@ -56026,7 +63047,8 @@ const classtable_elt_t VFT_ReduceAction255[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction255 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction255___action},
-  {(bigint) 2 /* 42: ReduceAction255 < ReduceAction255: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction255 < ReduceAction255: superclass init_table position */},
   {(bigint) parser___ReduceAction255___init},
 };
 /* 0: Pointer to the classtable */
@@ -56036,13 +63058,19 @@ val_t NEW_ReduceAction255(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction255;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction255___init() {
+val_t NEW_ReduceAction255_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction255();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction255_parser___ReduceAction255___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction255();
   parser___ReduceAction255___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction256[44] = {
+const classtable_elt_t VFT_ReduceAction256[45] = {
   {(bigint) 1803 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction256 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction256 < ReduceAction: superclass typecheck marker */},
@@ -56085,7 +63113,8 @@ const classtable_elt_t VFT_ReduceAction256[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction256 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction256___action},
-  {(bigint) 2 /* 42: ReduceAction256 < ReduceAction256: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction256 < ReduceAction256: superclass init_table position */},
   {(bigint) parser___ReduceAction256___init},
 };
 /* 0: Pointer to the classtable */
@@ -56095,13 +63124,19 @@ val_t NEW_ReduceAction256(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction256;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction256___init() {
+val_t NEW_ReduceAction256_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction256();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction256_parser___ReduceAction256___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction256();
   parser___ReduceAction256___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction257[44] = {
+const classtable_elt_t VFT_ReduceAction257[45] = {
   {(bigint) 1799 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction257 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction257 < ReduceAction: superclass typecheck marker */},
@@ -56144,7 +63179,8 @@ const classtable_elt_t VFT_ReduceAction257[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction257 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction257___action},
-  {(bigint) 2 /* 42: ReduceAction257 < ReduceAction257: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction257 < ReduceAction257: superclass init_table position */},
   {(bigint) parser___ReduceAction257___init},
 };
 /* 0: Pointer to the classtable */
@@ -56154,13 +63190,19 @@ val_t NEW_ReduceAction257(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction257;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction257___init() {
+val_t NEW_ReduceAction257_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction257();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction257_parser___ReduceAction257___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction257();
   parser___ReduceAction257___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction258[44] = {
+const classtable_elt_t VFT_ReduceAction258[45] = {
   {(bigint) 1795 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction258 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction258 < ReduceAction: superclass typecheck marker */},
@@ -56203,7 +63245,8 @@ const classtable_elt_t VFT_ReduceAction258[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction258 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction258___action},
-  {(bigint) 2 /* 42: ReduceAction258 < ReduceAction258: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction258 < ReduceAction258: superclass init_table position */},
   {(bigint) parser___ReduceAction258___init},
 };
 /* 0: Pointer to the classtable */
@@ -56213,13 +63256,19 @@ val_t NEW_ReduceAction258(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction258;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction258___init() {
+val_t NEW_ReduceAction258_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction258();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction258_parser___ReduceAction258___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction258();
   parser___ReduceAction258___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction259[44] = {
+const classtable_elt_t VFT_ReduceAction259[45] = {
   {(bigint) 1791 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction259 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction259 < ReduceAction: superclass typecheck marker */},
@@ -56262,7 +63311,8 @@ const classtable_elt_t VFT_ReduceAction259[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction259 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction259___action},
-  {(bigint) 2 /* 42: ReduceAction259 < ReduceAction259: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction259 < ReduceAction259: superclass init_table position */},
   {(bigint) parser___ReduceAction259___init},
 };
 /* 0: Pointer to the classtable */
@@ -56272,13 +63322,19 @@ val_t NEW_ReduceAction259(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction259;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction259___init() {
+val_t NEW_ReduceAction259_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction259();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction259_parser___ReduceAction259___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction259();
   parser___ReduceAction259___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction260[44] = {
+const classtable_elt_t VFT_ReduceAction260[45] = {
   {(bigint) 1783 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction260 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction260 < ReduceAction: superclass typecheck marker */},
@@ -56321,7 +63377,8 @@ const classtable_elt_t VFT_ReduceAction260[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction260 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction260___action},
-  {(bigint) 2 /* 42: ReduceAction260 < ReduceAction260: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction260 < ReduceAction260: superclass init_table position */},
   {(bigint) parser___ReduceAction260___init},
 };
 /* 0: Pointer to the classtable */
@@ -56331,13 +63388,19 @@ val_t NEW_ReduceAction260(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction260;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction260___init() {
+val_t NEW_ReduceAction260_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction260();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction260_parser___ReduceAction260___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction260();
   parser___ReduceAction260___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction261[44] = {
+const classtable_elt_t VFT_ReduceAction261[45] = {
   {(bigint) 1779 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction261 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction261 < ReduceAction: superclass typecheck marker */},
@@ -56380,7 +63443,8 @@ const classtable_elt_t VFT_ReduceAction261[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction261 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction261___action},
-  {(bigint) 2 /* 42: ReduceAction261 < ReduceAction261: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction261 < ReduceAction261: superclass init_table position */},
   {(bigint) parser___ReduceAction261___init},
 };
 /* 0: Pointer to the classtable */
@@ -56390,13 +63454,19 @@ val_t NEW_ReduceAction261(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction261;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction261___init() {
+val_t NEW_ReduceAction261_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction261();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction261_parser___ReduceAction261___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction261();
   parser___ReduceAction261___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction262[44] = {
+const classtable_elt_t VFT_ReduceAction262[45] = {
   {(bigint) 1775 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction262 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction262 < ReduceAction: superclass typecheck marker */},
@@ -56439,7 +63509,8 @@ const classtable_elt_t VFT_ReduceAction262[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction262 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction262___action},
-  {(bigint) 2 /* 42: ReduceAction262 < ReduceAction262: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction262 < ReduceAction262: superclass init_table position */},
   {(bigint) parser___ReduceAction262___init},
 };
 /* 0: Pointer to the classtable */
@@ -56449,13 +63520,19 @@ val_t NEW_ReduceAction262(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction262;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction262___init() {
+val_t NEW_ReduceAction262_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction262();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction262_parser___ReduceAction262___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction262();
   parser___ReduceAction262___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction263[44] = {
+const classtable_elt_t VFT_ReduceAction263[45] = {
   {(bigint) 1771 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction263 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction263 < ReduceAction: superclass typecheck marker */},
@@ -56498,7 +63575,8 @@ const classtable_elt_t VFT_ReduceAction263[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction263 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction263___action},
-  {(bigint) 2 /* 42: ReduceAction263 < ReduceAction263: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction263 < ReduceAction263: superclass init_table position */},
   {(bigint) parser___ReduceAction263___init},
 };
 /* 0: Pointer to the classtable */
@@ -56508,13 +63586,19 @@ val_t NEW_ReduceAction263(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction263;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction263___init() {
+val_t NEW_ReduceAction263_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction263();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction263_parser___ReduceAction263___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction263();
   parser___ReduceAction263___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction264[44] = {
+const classtable_elt_t VFT_ReduceAction264[45] = {
   {(bigint) 1767 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction264 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction264 < ReduceAction: superclass typecheck marker */},
@@ -56557,7 +63641,8 @@ const classtable_elt_t VFT_ReduceAction264[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction264 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction264___action},
-  {(bigint) 2 /* 42: ReduceAction264 < ReduceAction264: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction264 < ReduceAction264: superclass init_table position */},
   {(bigint) parser___ReduceAction264___init},
 };
 /* 0: Pointer to the classtable */
@@ -56567,13 +63652,19 @@ val_t NEW_ReduceAction264(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction264;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction264___init() {
+val_t NEW_ReduceAction264_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction264();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction264_parser___ReduceAction264___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction264();
   parser___ReduceAction264___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction265[44] = {
+const classtable_elt_t VFT_ReduceAction265[45] = {
   {(bigint) 1763 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction265 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction265 < ReduceAction: superclass typecheck marker */},
@@ -56616,7 +63707,8 @@ const classtable_elt_t VFT_ReduceAction265[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction265 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction265___action},
-  {(bigint) 2 /* 42: ReduceAction265 < ReduceAction265: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction265 < ReduceAction265: superclass init_table position */},
   {(bigint) parser___ReduceAction265___init},
 };
 /* 0: Pointer to the classtable */
@@ -56626,13 +63718,19 @@ val_t NEW_ReduceAction265(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction265;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction265___init() {
+val_t NEW_ReduceAction265_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction265();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction265_parser___ReduceAction265___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction265();
   parser___ReduceAction265___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction266[44] = {
+const classtable_elt_t VFT_ReduceAction266[45] = {
   {(bigint) 1759 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction266 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction266 < ReduceAction: superclass typecheck marker */},
@@ -56675,7 +63773,8 @@ const classtable_elt_t VFT_ReduceAction266[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction266 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction266___action},
-  {(bigint) 2 /* 42: ReduceAction266 < ReduceAction266: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction266 < ReduceAction266: superclass init_table position */},
   {(bigint) parser___ReduceAction266___init},
 };
 /* 0: Pointer to the classtable */
@@ -56685,13 +63784,19 @@ val_t NEW_ReduceAction266(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction266;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction266___init() {
+val_t NEW_ReduceAction266_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction266();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction266_parser___ReduceAction266___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction266();
   parser___ReduceAction266___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction267[44] = {
+const classtable_elt_t VFT_ReduceAction267[45] = {
   {(bigint) 1755 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction267 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction267 < ReduceAction: superclass typecheck marker */},
@@ -56734,7 +63839,8 @@ const classtable_elt_t VFT_ReduceAction267[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction267 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction267___action},
-  {(bigint) 2 /* 42: ReduceAction267 < ReduceAction267: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction267 < ReduceAction267: superclass init_table position */},
   {(bigint) parser___ReduceAction267___init},
 };
 /* 0: Pointer to the classtable */
@@ -56744,13 +63850,19 @@ val_t NEW_ReduceAction267(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction267;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction267___init() {
+val_t NEW_ReduceAction267_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction267();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction267_parser___ReduceAction267___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction267();
   parser___ReduceAction267___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction268[44] = {
+const classtable_elt_t VFT_ReduceAction268[45] = {
   {(bigint) 1751 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction268 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction268 < ReduceAction: superclass typecheck marker */},
@@ -56793,7 +63905,8 @@ const classtable_elt_t VFT_ReduceAction268[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction268 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction268___action},
-  {(bigint) 2 /* 42: ReduceAction268 < ReduceAction268: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction268 < ReduceAction268: superclass init_table position */},
   {(bigint) parser___ReduceAction268___init},
 };
 /* 0: Pointer to the classtable */
@@ -56803,13 +63916,19 @@ val_t NEW_ReduceAction268(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction268;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction268___init() {
+val_t NEW_ReduceAction268_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction268();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction268_parser___ReduceAction268___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction268();
   parser___ReduceAction268___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction269[44] = {
+const classtable_elt_t VFT_ReduceAction269[45] = {
   {(bigint) 1747 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction269 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction269 < ReduceAction: superclass typecheck marker */},
@@ -56852,7 +63971,8 @@ const classtable_elt_t VFT_ReduceAction269[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction269 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction269___action},
-  {(bigint) 2 /* 42: ReduceAction269 < ReduceAction269: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction269 < ReduceAction269: superclass init_table position */},
   {(bigint) parser___ReduceAction269___init},
 };
 /* 0: Pointer to the classtable */
@@ -56862,13 +63982,19 @@ val_t NEW_ReduceAction269(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction269;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction269___init() {
+val_t NEW_ReduceAction269_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction269();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction269_parser___ReduceAction269___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction269();
   parser___ReduceAction269___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction270[44] = {
+const classtable_elt_t VFT_ReduceAction270[45] = {
   {(bigint) 1739 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction270 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction270 < ReduceAction: superclass typecheck marker */},
@@ -56911,7 +64037,8 @@ const classtable_elt_t VFT_ReduceAction270[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction270 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction270___action},
-  {(bigint) 2 /* 42: ReduceAction270 < ReduceAction270: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction270 < ReduceAction270: superclass init_table position */},
   {(bigint) parser___ReduceAction270___init},
 };
 /* 0: Pointer to the classtable */
@@ -56921,13 +64048,19 @@ val_t NEW_ReduceAction270(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction270;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction270___init() {
+val_t NEW_ReduceAction270_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction270();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction270_parser___ReduceAction270___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction270();
   parser___ReduceAction270___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction271[44] = {
+const classtable_elt_t VFT_ReduceAction271[45] = {
   {(bigint) 1735 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction271 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction271 < ReduceAction: superclass typecheck marker */},
@@ -56970,7 +64103,8 @@ const classtable_elt_t VFT_ReduceAction271[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction271 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction271___action},
-  {(bigint) 2 /* 42: ReduceAction271 < ReduceAction271: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction271 < ReduceAction271: superclass init_table position */},
   {(bigint) parser___ReduceAction271___init},
 };
 /* 0: Pointer to the classtable */
@@ -56980,13 +64114,19 @@ val_t NEW_ReduceAction271(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction271;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction271___init() {
+val_t NEW_ReduceAction271_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction271();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction271_parser___ReduceAction271___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction271();
   parser___ReduceAction271___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction272[44] = {
+const classtable_elt_t VFT_ReduceAction272[45] = {
   {(bigint) 1731 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction272 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction272 < ReduceAction: superclass typecheck marker */},
@@ -57029,7 +64169,8 @@ const classtable_elt_t VFT_ReduceAction272[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction272 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction272___action},
-  {(bigint) 2 /* 42: ReduceAction272 < ReduceAction272: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction272 < ReduceAction272: superclass init_table position */},
   {(bigint) parser___ReduceAction272___init},
 };
 /* 0: Pointer to the classtable */
@@ -57039,13 +64180,19 @@ val_t NEW_ReduceAction272(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction272;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction272___init() {
+val_t NEW_ReduceAction272_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction272();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction272_parser___ReduceAction272___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction272();
   parser___ReduceAction272___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction273[44] = {
+const classtable_elt_t VFT_ReduceAction273[45] = {
   {(bigint) 1727 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction273 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction273 < ReduceAction: superclass typecheck marker */},
@@ -57088,7 +64235,8 @@ const classtable_elt_t VFT_ReduceAction273[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction273 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction273___action},
-  {(bigint) 2 /* 42: ReduceAction273 < ReduceAction273: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction273 < ReduceAction273: superclass init_table position */},
   {(bigint) parser___ReduceAction273___init},
 };
 /* 0: Pointer to the classtable */
@@ -57098,13 +64246,19 @@ val_t NEW_ReduceAction273(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction273;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction273___init() {
+val_t NEW_ReduceAction273_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction273();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction273_parser___ReduceAction273___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction273();
   parser___ReduceAction273___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction274[44] = {
+const classtable_elt_t VFT_ReduceAction274[45] = {
   {(bigint) 1723 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction274 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction274 < ReduceAction: superclass typecheck marker */},
@@ -57147,7 +64301,8 @@ const classtable_elt_t VFT_ReduceAction274[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction274 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction274___action},
-  {(bigint) 2 /* 42: ReduceAction274 < ReduceAction274: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction274 < ReduceAction274: superclass init_table position */},
   {(bigint) parser___ReduceAction274___init},
 };
 /* 0: Pointer to the classtable */
@@ -57157,13 +64312,19 @@ val_t NEW_ReduceAction274(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction274;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction274___init() {
+val_t NEW_ReduceAction274_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction274();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction274_parser___ReduceAction274___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction274();
   parser___ReduceAction274___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction275[44] = {
+const classtable_elt_t VFT_ReduceAction275[45] = {
   {(bigint) 1719 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction275 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction275 < ReduceAction: superclass typecheck marker */},
@@ -57206,7 +64367,8 @@ const classtable_elt_t VFT_ReduceAction275[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction275 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction275___action},
-  {(bigint) 2 /* 42: ReduceAction275 < ReduceAction275: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction275 < ReduceAction275: superclass init_table position */},
   {(bigint) parser___ReduceAction275___init},
 };
 /* 0: Pointer to the classtable */
@@ -57216,13 +64378,19 @@ val_t NEW_ReduceAction275(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction275;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction275___init() {
+val_t NEW_ReduceAction275_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction275();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction275_parser___ReduceAction275___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction275();
   parser___ReduceAction275___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction276[44] = {
+const classtable_elt_t VFT_ReduceAction276[45] = {
   {(bigint) 1715 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction276 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction276 < ReduceAction: superclass typecheck marker */},
@@ -57265,7 +64433,8 @@ const classtable_elt_t VFT_ReduceAction276[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction276 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction276___action},
-  {(bigint) 2 /* 42: ReduceAction276 < ReduceAction276: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction276 < ReduceAction276: superclass init_table position */},
   {(bigint) parser___ReduceAction276___init},
 };
 /* 0: Pointer to the classtable */
@@ -57275,13 +64444,19 @@ val_t NEW_ReduceAction276(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction276;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction276___init() {
+val_t NEW_ReduceAction276_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction276();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction276_parser___ReduceAction276___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction276();
   parser___ReduceAction276___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction277[44] = {
+const classtable_elt_t VFT_ReduceAction277[45] = {
   {(bigint) 1711 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction277 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction277 < ReduceAction: superclass typecheck marker */},
@@ -57324,7 +64499,8 @@ const classtable_elt_t VFT_ReduceAction277[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction277 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction277___action},
-  {(bigint) 2 /* 42: ReduceAction277 < ReduceAction277: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction277 < ReduceAction277: superclass init_table position */},
   {(bigint) parser___ReduceAction277___init},
 };
 /* 0: Pointer to the classtable */
@@ -57334,13 +64510,19 @@ val_t NEW_ReduceAction277(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction277;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction277___init() {
+val_t NEW_ReduceAction277_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction277();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction277_parser___ReduceAction277___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction277();
   parser___ReduceAction277___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction278[44] = {
+const classtable_elt_t VFT_ReduceAction278[45] = {
   {(bigint) 1707 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction278 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction278 < ReduceAction: superclass typecheck marker */},
@@ -57383,7 +64565,8 @@ const classtable_elt_t VFT_ReduceAction278[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction278 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction278___action},
-  {(bigint) 2 /* 42: ReduceAction278 < ReduceAction278: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction278 < ReduceAction278: superclass init_table position */},
   {(bigint) parser___ReduceAction278___init},
 };
 /* 0: Pointer to the classtable */
@@ -57393,13 +64576,19 @@ val_t NEW_ReduceAction278(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction278;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction278___init() {
+val_t NEW_ReduceAction278_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction278();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction278_parser___ReduceAction278___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction278();
   parser___ReduceAction278___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction279[44] = {
+const classtable_elt_t VFT_ReduceAction279[45] = {
   {(bigint) 1703 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction279 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction279 < ReduceAction: superclass typecheck marker */},
@@ -57442,7 +64631,8 @@ const classtable_elt_t VFT_ReduceAction279[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction279 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction279___action},
-  {(bigint) 2 /* 42: ReduceAction279 < ReduceAction279: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction279 < ReduceAction279: superclass init_table position */},
   {(bigint) parser___ReduceAction279___init},
 };
 /* 0: Pointer to the classtable */
@@ -57452,13 +64642,19 @@ val_t NEW_ReduceAction279(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction279;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction279___init() {
+val_t NEW_ReduceAction279_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction279();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction279_parser___ReduceAction279___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction279();
   parser___ReduceAction279___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction280[44] = {
+const classtable_elt_t VFT_ReduceAction280[45] = {
   {(bigint) 1695 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction280 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction280 < ReduceAction: superclass typecheck marker */},
@@ -57501,7 +64697,8 @@ const classtable_elt_t VFT_ReduceAction280[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction280 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction280___action},
-  {(bigint) 2 /* 42: ReduceAction280 < ReduceAction280: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction280 < ReduceAction280: superclass init_table position */},
   {(bigint) parser___ReduceAction280___init},
 };
 /* 0: Pointer to the classtable */
@@ -57511,13 +64708,19 @@ val_t NEW_ReduceAction280(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction280;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction280___init() {
+val_t NEW_ReduceAction280_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction280();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction280_parser___ReduceAction280___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction280();
   parser___ReduceAction280___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction281[44] = {
+const classtable_elt_t VFT_ReduceAction281[45] = {
   {(bigint) 1691 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction281 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction281 < ReduceAction: superclass typecheck marker */},
@@ -57560,7 +64763,8 @@ const classtable_elt_t VFT_ReduceAction281[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction281 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction281___action},
-  {(bigint) 2 /* 42: ReduceAction281 < ReduceAction281: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction281 < ReduceAction281: superclass init_table position */},
   {(bigint) parser___ReduceAction281___init},
 };
 /* 0: Pointer to the classtable */
@@ -57570,13 +64774,19 @@ val_t NEW_ReduceAction281(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction281;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction281___init() {
+val_t NEW_ReduceAction281_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction281();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction281_parser___ReduceAction281___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction281();
   parser___ReduceAction281___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction282[44] = {
+const classtable_elt_t VFT_ReduceAction282[45] = {
   {(bigint) 1687 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction282 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction282 < ReduceAction: superclass typecheck marker */},
@@ -57619,7 +64829,8 @@ const classtable_elt_t VFT_ReduceAction282[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction282 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction282___action},
-  {(bigint) 2 /* 42: ReduceAction282 < ReduceAction282: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction282 < ReduceAction282: superclass init_table position */},
   {(bigint) parser___ReduceAction282___init},
 };
 /* 0: Pointer to the classtable */
@@ -57629,13 +64840,19 @@ val_t NEW_ReduceAction282(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction282;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction282___init() {
+val_t NEW_ReduceAction282_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction282();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction282_parser___ReduceAction282___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction282();
   parser___ReduceAction282___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction283[44] = {
+const classtable_elt_t VFT_ReduceAction283[45] = {
   {(bigint) 1683 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction283 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction283 < ReduceAction: superclass typecheck marker */},
@@ -57678,7 +64895,8 @@ const classtable_elt_t VFT_ReduceAction283[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction283 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction283___action},
-  {(bigint) 2 /* 42: ReduceAction283 < ReduceAction283: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction283 < ReduceAction283: superclass init_table position */},
   {(bigint) parser___ReduceAction283___init},
 };
 /* 0: Pointer to the classtable */
@@ -57688,13 +64906,19 @@ val_t NEW_ReduceAction283(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction283;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction283___init() {
+val_t NEW_ReduceAction283_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction283();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction283_parser___ReduceAction283___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction283();
   parser___ReduceAction283___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction284[44] = {
+const classtable_elt_t VFT_ReduceAction284[45] = {
   {(bigint) 1679 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction284 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction284 < ReduceAction: superclass typecheck marker */},
@@ -57737,7 +64961,8 @@ const classtable_elt_t VFT_ReduceAction284[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction284 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction284___action},
-  {(bigint) 2 /* 42: ReduceAction284 < ReduceAction284: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction284 < ReduceAction284: superclass init_table position */},
   {(bigint) parser___ReduceAction284___init},
 };
 /* 0: Pointer to the classtable */
@@ -57747,13 +64972,19 @@ val_t NEW_ReduceAction284(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction284;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction284___init() {
+val_t NEW_ReduceAction284_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction284();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction284_parser___ReduceAction284___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction284();
   parser___ReduceAction284___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction285[44] = {
+const classtable_elt_t VFT_ReduceAction285[45] = {
   {(bigint) 1675 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction285 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction285 < ReduceAction: superclass typecheck marker */},
@@ -57796,7 +65027,8 @@ const classtable_elt_t VFT_ReduceAction285[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction285 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction285___action},
-  {(bigint) 2 /* 42: ReduceAction285 < ReduceAction285: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction285 < ReduceAction285: superclass init_table position */},
   {(bigint) parser___ReduceAction285___init},
 };
 /* 0: Pointer to the classtable */
@@ -57806,13 +65038,19 @@ val_t NEW_ReduceAction285(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction285;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction285___init() {
+val_t NEW_ReduceAction285_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction285();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction285_parser___ReduceAction285___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction285();
   parser___ReduceAction285___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction286[44] = {
+const classtable_elt_t VFT_ReduceAction286[45] = {
   {(bigint) 1671 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction286 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction286 < ReduceAction: superclass typecheck marker */},
@@ -57855,7 +65093,8 @@ const classtable_elt_t VFT_ReduceAction286[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction286 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction286___action},
-  {(bigint) 2 /* 42: ReduceAction286 < ReduceAction286: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction286 < ReduceAction286: superclass init_table position */},
   {(bigint) parser___ReduceAction286___init},
 };
 /* 0: Pointer to the classtable */
@@ -57865,13 +65104,19 @@ val_t NEW_ReduceAction286(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction286;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction286___init() {
+val_t NEW_ReduceAction286_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction286();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction286_parser___ReduceAction286___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction286();
   parser___ReduceAction286___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction287[44] = {
+const classtable_elt_t VFT_ReduceAction287[45] = {
   {(bigint) 1667 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction287 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction287 < ReduceAction: superclass typecheck marker */},
@@ -57914,7 +65159,8 @@ const classtable_elt_t VFT_ReduceAction287[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction287 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction287___action},
-  {(bigint) 2 /* 42: ReduceAction287 < ReduceAction287: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction287 < ReduceAction287: superclass init_table position */},
   {(bigint) parser___ReduceAction287___init},
 };
 /* 0: Pointer to the classtable */
@@ -57924,13 +65170,19 @@ val_t NEW_ReduceAction287(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction287;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction287___init() {
+val_t NEW_ReduceAction287_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction287();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction287_parser___ReduceAction287___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction287();
   parser___ReduceAction287___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction288[44] = {
+const classtable_elt_t VFT_ReduceAction288[45] = {
   {(bigint) 1663 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction288 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction288 < ReduceAction: superclass typecheck marker */},
@@ -57973,7 +65225,8 @@ const classtable_elt_t VFT_ReduceAction288[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction288 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction288___action},
-  {(bigint) 2 /* 42: ReduceAction288 < ReduceAction288: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction288 < ReduceAction288: superclass init_table position */},
   {(bigint) parser___ReduceAction288___init},
 };
 /* 0: Pointer to the classtable */
@@ -57983,13 +65236,19 @@ val_t NEW_ReduceAction288(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction288;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction288___init() {
+val_t NEW_ReduceAction288_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction288();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction288_parser___ReduceAction288___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction288();
   parser___ReduceAction288___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction289[44] = {
+const classtable_elt_t VFT_ReduceAction289[45] = {
   {(bigint) 1659 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction289 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction289 < ReduceAction: superclass typecheck marker */},
@@ -58032,7 +65291,8 @@ const classtable_elt_t VFT_ReduceAction289[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction289 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction289___action},
-  {(bigint) 2 /* 42: ReduceAction289 < ReduceAction289: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction289 < ReduceAction289: superclass init_table position */},
   {(bigint) parser___ReduceAction289___init},
 };
 /* 0: Pointer to the classtable */
@@ -58042,13 +65302,19 @@ val_t NEW_ReduceAction289(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction289;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction289___init() {
+val_t NEW_ReduceAction289_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction289();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction289_parser___ReduceAction289___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction289();
   parser___ReduceAction289___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction290[44] = {
+const classtable_elt_t VFT_ReduceAction290[45] = {
   {(bigint) 1651 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction290 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction290 < ReduceAction: superclass typecheck marker */},
@@ -58091,7 +65357,8 @@ const classtable_elt_t VFT_ReduceAction290[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction290 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction290___action},
-  {(bigint) 2 /* 42: ReduceAction290 < ReduceAction290: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction290 < ReduceAction290: superclass init_table position */},
   {(bigint) parser___ReduceAction290___init},
 };
 /* 0: Pointer to the classtable */
@@ -58101,13 +65368,19 @@ val_t NEW_ReduceAction290(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction290;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction290___init() {
+val_t NEW_ReduceAction290_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction290();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction290_parser___ReduceAction290___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction290();
   parser___ReduceAction290___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction291[44] = {
+const classtable_elt_t VFT_ReduceAction291[45] = {
   {(bigint) 1647 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction291 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction291 < ReduceAction: superclass typecheck marker */},
@@ -58150,7 +65423,8 @@ const classtable_elt_t VFT_ReduceAction291[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction291 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction291___action},
-  {(bigint) 2 /* 42: ReduceAction291 < ReduceAction291: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction291 < ReduceAction291: superclass init_table position */},
   {(bigint) parser___ReduceAction291___init},
 };
 /* 0: Pointer to the classtable */
@@ -58160,13 +65434,19 @@ val_t NEW_ReduceAction291(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction291;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction291___init() {
+val_t NEW_ReduceAction291_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction291();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction291_parser___ReduceAction291___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction291();
   parser___ReduceAction291___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction292[44] = {
+const classtable_elt_t VFT_ReduceAction292[45] = {
   {(bigint) 1643 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction292 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction292 < ReduceAction: superclass typecheck marker */},
@@ -58209,7 +65489,8 @@ const classtable_elt_t VFT_ReduceAction292[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction292 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction292___action},
-  {(bigint) 2 /* 42: ReduceAction292 < ReduceAction292: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction292 < ReduceAction292: superclass init_table position */},
   {(bigint) parser___ReduceAction292___init},
 };
 /* 0: Pointer to the classtable */
@@ -58219,13 +65500,19 @@ val_t NEW_ReduceAction292(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction292;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction292___init() {
+val_t NEW_ReduceAction292_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction292();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction292_parser___ReduceAction292___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction292();
   parser___ReduceAction292___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction293[44] = {
+const classtable_elt_t VFT_ReduceAction293[45] = {
   {(bigint) 1639 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction293 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction293 < ReduceAction: superclass typecheck marker */},
@@ -58268,7 +65555,8 @@ const classtable_elt_t VFT_ReduceAction293[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction293 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction293___action},
-  {(bigint) 2 /* 42: ReduceAction293 < ReduceAction293: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction293 < ReduceAction293: superclass init_table position */},
   {(bigint) parser___ReduceAction293___init},
 };
 /* 0: Pointer to the classtable */
@@ -58278,13 +65566,19 @@ val_t NEW_ReduceAction293(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction293;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction293___init() {
+val_t NEW_ReduceAction293_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction293();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction293_parser___ReduceAction293___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction293();
   parser___ReduceAction293___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction294[44] = {
+const classtable_elt_t VFT_ReduceAction294[45] = {
   {(bigint) 1635 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction294 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction294 < ReduceAction: superclass typecheck marker */},
@@ -58327,7 +65621,8 @@ const classtable_elt_t VFT_ReduceAction294[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction294 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction294___action},
-  {(bigint) 2 /* 42: ReduceAction294 < ReduceAction294: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction294 < ReduceAction294: superclass init_table position */},
   {(bigint) parser___ReduceAction294___init},
 };
 /* 0: Pointer to the classtable */
@@ -58337,13 +65632,19 @@ val_t NEW_ReduceAction294(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction294;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction294___init() {
+val_t NEW_ReduceAction294_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction294();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction294_parser___ReduceAction294___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction294();
   parser___ReduceAction294___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction295[44] = {
+const classtable_elt_t VFT_ReduceAction295[45] = {
   {(bigint) 1631 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction295 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction295 < ReduceAction: superclass typecheck marker */},
@@ -58386,7 +65687,8 @@ const classtable_elt_t VFT_ReduceAction295[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction295 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction295___action},
-  {(bigint) 2 /* 42: ReduceAction295 < ReduceAction295: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction295 < ReduceAction295: superclass init_table position */},
   {(bigint) parser___ReduceAction295___init},
 };
 /* 0: Pointer to the classtable */
@@ -58396,13 +65698,19 @@ val_t NEW_ReduceAction295(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction295;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction295___init() {
+val_t NEW_ReduceAction295_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction295();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction295_parser___ReduceAction295___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction295();
   parser___ReduceAction295___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction296[44] = {
+const classtable_elt_t VFT_ReduceAction296[45] = {
   {(bigint) 1627 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction296 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction296 < ReduceAction: superclass typecheck marker */},
@@ -58445,7 +65753,8 @@ const classtable_elt_t VFT_ReduceAction296[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction296 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction296___action},
-  {(bigint) 2 /* 42: ReduceAction296 < ReduceAction296: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction296 < ReduceAction296: superclass init_table position */},
   {(bigint) parser___ReduceAction296___init},
 };
 /* 0: Pointer to the classtable */
@@ -58455,13 +65764,19 @@ val_t NEW_ReduceAction296(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction296;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction296___init() {
+val_t NEW_ReduceAction296_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction296();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction296_parser___ReduceAction296___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction296();
   parser___ReduceAction296___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction297[44] = {
+const classtable_elt_t VFT_ReduceAction297[45] = {
   {(bigint) 1623 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction297 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction297 < ReduceAction: superclass typecheck marker */},
@@ -58504,7 +65819,8 @@ const classtable_elt_t VFT_ReduceAction297[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction297 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction297___action},
-  {(bigint) 2 /* 42: ReduceAction297 < ReduceAction297: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction297 < ReduceAction297: superclass init_table position */},
   {(bigint) parser___ReduceAction297___init},
 };
 /* 0: Pointer to the classtable */
@@ -58514,13 +65830,19 @@ val_t NEW_ReduceAction297(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction297;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction297___init() {
+val_t NEW_ReduceAction297_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction297();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction297_parser___ReduceAction297___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction297();
   parser___ReduceAction297___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction298[44] = {
+const classtable_elt_t VFT_ReduceAction298[45] = {
   {(bigint) 1619 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction298 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction298 < ReduceAction: superclass typecheck marker */},
@@ -58563,7 +65885,8 @@ const classtable_elt_t VFT_ReduceAction298[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction298 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction298___action},
-  {(bigint) 2 /* 42: ReduceAction298 < ReduceAction298: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction298 < ReduceAction298: superclass init_table position */},
   {(bigint) parser___ReduceAction298___init},
 };
 /* 0: Pointer to the classtable */
@@ -58573,13 +65896,19 @@ val_t NEW_ReduceAction298(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction298;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction298___init() {
+val_t NEW_ReduceAction298_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction298();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction298_parser___ReduceAction298___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction298();
   parser___ReduceAction298___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction299[44] = {
+const classtable_elt_t VFT_ReduceAction299[45] = {
   {(bigint) 1615 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction299 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction299 < ReduceAction: superclass typecheck marker */},
@@ -58622,7 +65951,8 @@ const classtable_elt_t VFT_ReduceAction299[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction299 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction299___action},
-  {(bigint) 2 /* 42: ReduceAction299 < ReduceAction299: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction299 < ReduceAction299: superclass init_table position */},
   {(bigint) parser___ReduceAction299___init},
 };
 /* 0: Pointer to the classtable */
@@ -58632,13 +65962,19 @@ val_t NEW_ReduceAction299(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction299;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction299___init() {
+val_t NEW_ReduceAction299_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction299();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction299_parser___ReduceAction299___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction299();
   parser___ReduceAction299___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction300[44] = {
+const classtable_elt_t VFT_ReduceAction300[45] = {
   {(bigint) 1603 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction300 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction300 < ReduceAction: superclass typecheck marker */},
@@ -58681,7 +66017,8 @@ const classtable_elt_t VFT_ReduceAction300[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction300 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction300___action},
-  {(bigint) 2 /* 42: ReduceAction300 < ReduceAction300: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction300 < ReduceAction300: superclass init_table position */},
   {(bigint) parser___ReduceAction300___init},
 };
 /* 0: Pointer to the classtable */
@@ -58691,13 +66028,19 @@ val_t NEW_ReduceAction300(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction300;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction300___init() {
+val_t NEW_ReduceAction300_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction300();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction300_parser___ReduceAction300___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction300();
   parser___ReduceAction300___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction301[44] = {
+const classtable_elt_t VFT_ReduceAction301[45] = {
   {(bigint) 1599 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction301 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction301 < ReduceAction: superclass typecheck marker */},
@@ -58740,7 +66083,8 @@ const classtable_elt_t VFT_ReduceAction301[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction301 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction301___action},
-  {(bigint) 2 /* 42: ReduceAction301 < ReduceAction301: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction301 < ReduceAction301: superclass init_table position */},
   {(bigint) parser___ReduceAction301___init},
 };
 /* 0: Pointer to the classtable */
@@ -58750,13 +66094,19 @@ val_t NEW_ReduceAction301(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction301;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction301___init() {
+val_t NEW_ReduceAction301_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction301();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction301_parser___ReduceAction301___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction301();
   parser___ReduceAction301___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction302[44] = {
+const classtable_elt_t VFT_ReduceAction302[45] = {
   {(bigint) 1595 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction302 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction302 < ReduceAction: superclass typecheck marker */},
@@ -58799,7 +66149,8 @@ const classtable_elt_t VFT_ReduceAction302[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction302 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction302___action},
-  {(bigint) 2 /* 42: ReduceAction302 < ReduceAction302: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction302 < ReduceAction302: superclass init_table position */},
   {(bigint) parser___ReduceAction302___init},
 };
 /* 0: Pointer to the classtable */
@@ -58809,13 +66160,19 @@ val_t NEW_ReduceAction302(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction302;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction302___init() {
+val_t NEW_ReduceAction302_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction302();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction302_parser___ReduceAction302___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction302();
   parser___ReduceAction302___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction303[44] = {
+const classtable_elt_t VFT_ReduceAction303[45] = {
   {(bigint) 1591 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction303 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction303 < ReduceAction: superclass typecheck marker */},
@@ -58858,7 +66215,8 @@ const classtable_elt_t VFT_ReduceAction303[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction303 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction303___action},
-  {(bigint) 2 /* 42: ReduceAction303 < ReduceAction303: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction303 < ReduceAction303: superclass init_table position */},
   {(bigint) parser___ReduceAction303___init},
 };
 /* 0: Pointer to the classtable */
@@ -58868,13 +66226,19 @@ val_t NEW_ReduceAction303(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction303;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction303___init() {
+val_t NEW_ReduceAction303_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction303();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction303_parser___ReduceAction303___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction303();
   parser___ReduceAction303___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction304[44] = {
+const classtable_elt_t VFT_ReduceAction304[45] = {
   {(bigint) 1587 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction304 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction304 < ReduceAction: superclass typecheck marker */},
@@ -58917,7 +66281,8 @@ const classtable_elt_t VFT_ReduceAction304[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction304 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction304___action},
-  {(bigint) 2 /* 42: ReduceAction304 < ReduceAction304: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction304 < ReduceAction304: superclass init_table position */},
   {(bigint) parser___ReduceAction304___init},
 };
 /* 0: Pointer to the classtable */
@@ -58927,13 +66292,19 @@ val_t NEW_ReduceAction304(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction304;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction304___init() {
+val_t NEW_ReduceAction304_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction304();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction304_parser___ReduceAction304___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction304();
   parser___ReduceAction304___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction305[44] = {
+const classtable_elt_t VFT_ReduceAction305[45] = {
   {(bigint) 1583 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction305 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction305 < ReduceAction: superclass typecheck marker */},
@@ -58976,7 +66347,8 @@ const classtable_elt_t VFT_ReduceAction305[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction305 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction305___action},
-  {(bigint) 2 /* 42: ReduceAction305 < ReduceAction305: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction305 < ReduceAction305: superclass init_table position */},
   {(bigint) parser___ReduceAction305___init},
 };
 /* 0: Pointer to the classtable */
@@ -58986,13 +66358,19 @@ val_t NEW_ReduceAction305(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction305;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction305___init() {
+val_t NEW_ReduceAction305_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction305();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction305_parser___ReduceAction305___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction305();
   parser___ReduceAction305___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction306[44] = {
+const classtable_elt_t VFT_ReduceAction306[45] = {
   {(bigint) 1579 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction306 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction306 < ReduceAction: superclass typecheck marker */},
@@ -59035,7 +66413,8 @@ const classtable_elt_t VFT_ReduceAction306[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction306 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction306___action},
-  {(bigint) 2 /* 42: ReduceAction306 < ReduceAction306: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction306 < ReduceAction306: superclass init_table position */},
   {(bigint) parser___ReduceAction306___init},
 };
 /* 0: Pointer to the classtable */
@@ -59045,13 +66424,19 @@ val_t NEW_ReduceAction306(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction306;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction306___init() {
+val_t NEW_ReduceAction306_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction306();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction306_parser___ReduceAction306___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction306();
   parser___ReduceAction306___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction307[44] = {
+const classtable_elt_t VFT_ReduceAction307[45] = {
   {(bigint) 1575 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction307 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction307 < ReduceAction: superclass typecheck marker */},
@@ -59094,7 +66479,8 @@ const classtable_elt_t VFT_ReduceAction307[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction307 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction307___action},
-  {(bigint) 2 /* 42: ReduceAction307 < ReduceAction307: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction307 < ReduceAction307: superclass init_table position */},
   {(bigint) parser___ReduceAction307___init},
 };
 /* 0: Pointer to the classtable */
@@ -59104,13 +66490,19 @@ val_t NEW_ReduceAction307(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction307;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction307___init() {
+val_t NEW_ReduceAction307_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction307();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction307_parser___ReduceAction307___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction307();
   parser___ReduceAction307___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction308[44] = {
+const classtable_elt_t VFT_ReduceAction308[45] = {
   {(bigint) 1571 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction308 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction308 < ReduceAction: superclass typecheck marker */},
@@ -59153,7 +66545,8 @@ const classtable_elt_t VFT_ReduceAction308[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction308 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction308___action},
-  {(bigint) 2 /* 42: ReduceAction308 < ReduceAction308: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction308 < ReduceAction308: superclass init_table position */},
   {(bigint) parser___ReduceAction308___init},
 };
 /* 0: Pointer to the classtable */
@@ -59163,13 +66556,19 @@ val_t NEW_ReduceAction308(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction308;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction308___init() {
+val_t NEW_ReduceAction308_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction308();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction308_parser___ReduceAction308___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction308();
   parser___ReduceAction308___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction309[44] = {
+const classtable_elt_t VFT_ReduceAction309[45] = {
   {(bigint) 1567 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction309 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction309 < ReduceAction: superclass typecheck marker */},
@@ -59212,7 +66611,8 @@ const classtable_elt_t VFT_ReduceAction309[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction309 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction309___action},
-  {(bigint) 2 /* 42: ReduceAction309 < ReduceAction309: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction309 < ReduceAction309: superclass init_table position */},
   {(bigint) parser___ReduceAction309___init},
 };
 /* 0: Pointer to the classtable */
@@ -59222,13 +66622,19 @@ val_t NEW_ReduceAction309(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction309;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction309___init() {
+val_t NEW_ReduceAction309_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction309();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction309_parser___ReduceAction309___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction309();
   parser___ReduceAction309___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction310[44] = {
+const classtable_elt_t VFT_ReduceAction310[45] = {
   {(bigint) 1559 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction310 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction310 < ReduceAction: superclass typecheck marker */},
@@ -59271,7 +66677,8 @@ const classtable_elt_t VFT_ReduceAction310[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction310 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction310___action},
-  {(bigint) 2 /* 42: ReduceAction310 < ReduceAction310: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction310 < ReduceAction310: superclass init_table position */},
   {(bigint) parser___ReduceAction310___init},
 };
 /* 0: Pointer to the classtable */
@@ -59281,13 +66688,19 @@ val_t NEW_ReduceAction310(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction310;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction310___init() {
+val_t NEW_ReduceAction310_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction310();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction310_parser___ReduceAction310___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction310();
   parser___ReduceAction310___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction311[44] = {
+const classtable_elt_t VFT_ReduceAction311[45] = {
   {(bigint) 1555 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction311 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction311 < ReduceAction: superclass typecheck marker */},
@@ -59330,7 +66743,8 @@ const classtable_elt_t VFT_ReduceAction311[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction311 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction311___action},
-  {(bigint) 2 /* 42: ReduceAction311 < ReduceAction311: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction311 < ReduceAction311: superclass init_table position */},
   {(bigint) parser___ReduceAction311___init},
 };
 /* 0: Pointer to the classtable */
@@ -59340,13 +66754,19 @@ val_t NEW_ReduceAction311(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction311;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction311___init() {
+val_t NEW_ReduceAction311_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction311();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction311_parser___ReduceAction311___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction311();
   parser___ReduceAction311___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction312[44] = {
+const classtable_elt_t VFT_ReduceAction312[45] = {
   {(bigint) 1551 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction312 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction312 < ReduceAction: superclass typecheck marker */},
@@ -59389,7 +66809,8 @@ const classtable_elt_t VFT_ReduceAction312[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction312 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction312___action},
-  {(bigint) 2 /* 42: ReduceAction312 < ReduceAction312: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction312 < ReduceAction312: superclass init_table position */},
   {(bigint) parser___ReduceAction312___init},
 };
 /* 0: Pointer to the classtable */
@@ -59399,13 +66820,19 @@ val_t NEW_ReduceAction312(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction312;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction312___init() {
+val_t NEW_ReduceAction312_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction312();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction312_parser___ReduceAction312___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction312();
   parser___ReduceAction312___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction313[44] = {
+const classtable_elt_t VFT_ReduceAction313[45] = {
   {(bigint) 1547 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction313 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction313 < ReduceAction: superclass typecheck marker */},
@@ -59448,7 +66875,8 @@ const classtable_elt_t VFT_ReduceAction313[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction313 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction313___action},
-  {(bigint) 2 /* 42: ReduceAction313 < ReduceAction313: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction313 < ReduceAction313: superclass init_table position */},
   {(bigint) parser___ReduceAction313___init},
 };
 /* 0: Pointer to the classtable */
@@ -59458,13 +66886,19 @@ val_t NEW_ReduceAction313(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction313;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction313___init() {
+val_t NEW_ReduceAction313_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction313();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction313_parser___ReduceAction313___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction313();
   parser___ReduceAction313___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction314[44] = {
+const classtable_elt_t VFT_ReduceAction314[45] = {
   {(bigint) 1543 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction314 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction314 < ReduceAction: superclass typecheck marker */},
@@ -59507,7 +66941,8 @@ const classtable_elt_t VFT_ReduceAction314[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction314 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction314___action},
-  {(bigint) 2 /* 42: ReduceAction314 < ReduceAction314: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction314 < ReduceAction314: superclass init_table position */},
   {(bigint) parser___ReduceAction314___init},
 };
 /* 0: Pointer to the classtable */
@@ -59517,13 +66952,19 @@ val_t NEW_ReduceAction314(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction314;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction314___init() {
+val_t NEW_ReduceAction314_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction314();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction314_parser___ReduceAction314___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction314();
   parser___ReduceAction314___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction315[44] = {
+const classtable_elt_t VFT_ReduceAction315[45] = {
   {(bigint) 1539 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction315 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction315 < ReduceAction: superclass typecheck marker */},
@@ -59566,7 +67007,8 @@ const classtable_elt_t VFT_ReduceAction315[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction315 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction315___action},
-  {(bigint) 2 /* 42: ReduceAction315 < ReduceAction315: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction315 < ReduceAction315: superclass init_table position */},
   {(bigint) parser___ReduceAction315___init},
 };
 /* 0: Pointer to the classtable */
@@ -59576,13 +67018,19 @@ val_t NEW_ReduceAction315(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction315;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction315___init() {
+val_t NEW_ReduceAction315_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction315();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction315_parser___ReduceAction315___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction315();
   parser___ReduceAction315___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction316[44] = {
+const classtable_elt_t VFT_ReduceAction316[45] = {
   {(bigint) 1535 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction316 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction316 < ReduceAction: superclass typecheck marker */},
@@ -59625,7 +67073,8 @@ const classtable_elt_t VFT_ReduceAction316[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction316 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction316___action},
-  {(bigint) 2 /* 42: ReduceAction316 < ReduceAction316: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction316 < ReduceAction316: superclass init_table position */},
   {(bigint) parser___ReduceAction316___init},
 };
 /* 0: Pointer to the classtable */
@@ -59635,13 +67084,19 @@ val_t NEW_ReduceAction316(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction316;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction316___init() {
+val_t NEW_ReduceAction316_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction316();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction316_parser___ReduceAction316___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction316();
   parser___ReduceAction316___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction317[44] = {
+const classtable_elt_t VFT_ReduceAction317[45] = {
   {(bigint) 1531 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction317 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction317 < ReduceAction: superclass typecheck marker */},
@@ -59684,7 +67139,8 @@ const classtable_elt_t VFT_ReduceAction317[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction317 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction317___action},
-  {(bigint) 2 /* 42: ReduceAction317 < ReduceAction317: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction317 < ReduceAction317: superclass init_table position */},
   {(bigint) parser___ReduceAction317___init},
 };
 /* 0: Pointer to the classtable */
@@ -59694,13 +67150,19 @@ val_t NEW_ReduceAction317(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction317;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction317___init() {
+val_t NEW_ReduceAction317_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction317();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction317_parser___ReduceAction317___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction317();
   parser___ReduceAction317___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction318[44] = {
+const classtable_elt_t VFT_ReduceAction318[45] = {
   {(bigint) 1527 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction318 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction318 < ReduceAction: superclass typecheck marker */},
@@ -59743,7 +67205,8 @@ const classtable_elt_t VFT_ReduceAction318[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction318 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction318___action},
-  {(bigint) 2 /* 42: ReduceAction318 < ReduceAction318: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction318 < ReduceAction318: superclass init_table position */},
   {(bigint) parser___ReduceAction318___init},
 };
 /* 0: Pointer to the classtable */
@@ -59753,13 +67216,19 @@ val_t NEW_ReduceAction318(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction318;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction318___init() {
+val_t NEW_ReduceAction318_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction318();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction318_parser___ReduceAction318___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction318();
   parser___ReduceAction318___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction319[44] = {
+const classtable_elt_t VFT_ReduceAction319[45] = {
   {(bigint) 1523 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction319 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction319 < ReduceAction: superclass typecheck marker */},
@@ -59802,7 +67271,8 @@ const classtable_elt_t VFT_ReduceAction319[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction319 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction319___action},
-  {(bigint) 2 /* 42: ReduceAction319 < ReduceAction319: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction319 < ReduceAction319: superclass init_table position */},
   {(bigint) parser___ReduceAction319___init},
 };
 /* 0: Pointer to the classtable */
@@ -59812,13 +67282,19 @@ val_t NEW_ReduceAction319(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction319;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction319___init() {
+val_t NEW_ReduceAction319_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction319();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction319_parser___ReduceAction319___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction319();
   parser___ReduceAction319___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction320[44] = {
+const classtable_elt_t VFT_ReduceAction320[45] = {
   {(bigint) 1515 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction320 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction320 < ReduceAction: superclass typecheck marker */},
@@ -59861,7 +67337,8 @@ const classtable_elt_t VFT_ReduceAction320[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction320 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction320___action},
-  {(bigint) 2 /* 42: ReduceAction320 < ReduceAction320: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction320 < ReduceAction320: superclass init_table position */},
   {(bigint) parser___ReduceAction320___init},
 };
 /* 0: Pointer to the classtable */
@@ -59871,13 +67348,19 @@ val_t NEW_ReduceAction320(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction320;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction320___init() {
+val_t NEW_ReduceAction320_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction320();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction320_parser___ReduceAction320___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction320();
   parser___ReduceAction320___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction321[44] = {
+const classtable_elt_t VFT_ReduceAction321[45] = {
   {(bigint) 1511 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction321 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction321 < ReduceAction: superclass typecheck marker */},
@@ -59920,7 +67403,8 @@ const classtable_elt_t VFT_ReduceAction321[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction321 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction321___action},
-  {(bigint) 2 /* 42: ReduceAction321 < ReduceAction321: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction321 < ReduceAction321: superclass init_table position */},
   {(bigint) parser___ReduceAction321___init},
 };
 /* 0: Pointer to the classtable */
@@ -59930,13 +67414,19 @@ val_t NEW_ReduceAction321(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction321;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction321___init() {
+val_t NEW_ReduceAction321_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction321();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction321_parser___ReduceAction321___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction321();
   parser___ReduceAction321___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction322[44] = {
+const classtable_elt_t VFT_ReduceAction322[45] = {
   {(bigint) 1507 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction322 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction322 < ReduceAction: superclass typecheck marker */},
@@ -59979,7 +67469,8 @@ const classtable_elt_t VFT_ReduceAction322[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction322 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction322___action},
-  {(bigint) 2 /* 42: ReduceAction322 < ReduceAction322: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction322 < ReduceAction322: superclass init_table position */},
   {(bigint) parser___ReduceAction322___init},
 };
 /* 0: Pointer to the classtable */
@@ -59989,13 +67480,19 @@ val_t NEW_ReduceAction322(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction322;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction322___init() {
+val_t NEW_ReduceAction322_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction322();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction322_parser___ReduceAction322___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction322();
   parser___ReduceAction322___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction323[44] = {
+const classtable_elt_t VFT_ReduceAction323[45] = {
   {(bigint) 1503 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction323 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction323 < ReduceAction: superclass typecheck marker */},
@@ -60038,7 +67535,8 @@ const classtable_elt_t VFT_ReduceAction323[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction323 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction323___action},
-  {(bigint) 2 /* 42: ReduceAction323 < ReduceAction323: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction323 < ReduceAction323: superclass init_table position */},
   {(bigint) parser___ReduceAction323___init},
 };
 /* 0: Pointer to the classtable */
@@ -60048,13 +67546,19 @@ val_t NEW_ReduceAction323(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction323;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction323___init() {
+val_t NEW_ReduceAction323_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction323();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction323_parser___ReduceAction323___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction323();
   parser___ReduceAction323___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction324[44] = {
+const classtable_elt_t VFT_ReduceAction324[45] = {
   {(bigint) 1499 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction324 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction324 < ReduceAction: superclass typecheck marker */},
@@ -60097,7 +67601,8 @@ const classtable_elt_t VFT_ReduceAction324[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction324 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction324___action},
-  {(bigint) 2 /* 42: ReduceAction324 < ReduceAction324: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction324 < ReduceAction324: superclass init_table position */},
   {(bigint) parser___ReduceAction324___init},
 };
 /* 0: Pointer to the classtable */
@@ -60107,13 +67612,19 @@ val_t NEW_ReduceAction324(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction324;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction324___init() {
+val_t NEW_ReduceAction324_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction324();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction324_parser___ReduceAction324___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction324();
   parser___ReduceAction324___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction325[44] = {
+const classtable_elt_t VFT_ReduceAction325[45] = {
   {(bigint) 1495 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction325 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction325 < ReduceAction: superclass typecheck marker */},
@@ -60156,7 +67667,8 @@ const classtable_elt_t VFT_ReduceAction325[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction325 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction325___action},
-  {(bigint) 2 /* 42: ReduceAction325 < ReduceAction325: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction325 < ReduceAction325: superclass init_table position */},
   {(bigint) parser___ReduceAction325___init},
 };
 /* 0: Pointer to the classtable */
@@ -60166,13 +67678,19 @@ val_t NEW_ReduceAction325(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction325;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction325___init() {
+val_t NEW_ReduceAction325_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction325();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction325_parser___ReduceAction325___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction325();
   parser___ReduceAction325___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction326[44] = {
+const classtable_elt_t VFT_ReduceAction326[45] = {
   {(bigint) 1491 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction326 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction326 < ReduceAction: superclass typecheck marker */},
@@ -60215,7 +67733,8 @@ const classtable_elt_t VFT_ReduceAction326[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction326 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction326___action},
-  {(bigint) 2 /* 42: ReduceAction326 < ReduceAction326: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction326 < ReduceAction326: superclass init_table position */},
   {(bigint) parser___ReduceAction326___init},
 };
 /* 0: Pointer to the classtable */
@@ -60225,13 +67744,19 @@ val_t NEW_ReduceAction326(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction326;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction326___init() {
+val_t NEW_ReduceAction326_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction326();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction326_parser___ReduceAction326___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction326();
   parser___ReduceAction326___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction327[44] = {
+const classtable_elt_t VFT_ReduceAction327[45] = {
   {(bigint) 1487 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction327 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction327 < ReduceAction: superclass typecheck marker */},
@@ -60274,7 +67799,8 @@ const classtable_elt_t VFT_ReduceAction327[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction327 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction327___action},
-  {(bigint) 2 /* 42: ReduceAction327 < ReduceAction327: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction327 < ReduceAction327: superclass init_table position */},
   {(bigint) parser___ReduceAction327___init},
 };
 /* 0: Pointer to the classtable */
@@ -60284,13 +67810,19 @@ val_t NEW_ReduceAction327(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction327;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction327___init() {
+val_t NEW_ReduceAction327_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction327();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction327_parser___ReduceAction327___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction327();
   parser___ReduceAction327___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction328[44] = {
+const classtable_elt_t VFT_ReduceAction328[45] = {
   {(bigint) 1483 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction328 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction328 < ReduceAction: superclass typecheck marker */},
@@ -60333,7 +67865,8 @@ const classtable_elt_t VFT_ReduceAction328[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction328 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction328___action},
-  {(bigint) 2 /* 42: ReduceAction328 < ReduceAction328: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction328 < ReduceAction328: superclass init_table position */},
   {(bigint) parser___ReduceAction328___init},
 };
 /* 0: Pointer to the classtable */
@@ -60343,13 +67876,19 @@ val_t NEW_ReduceAction328(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction328;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction328___init() {
+val_t NEW_ReduceAction328_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction328();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction328_parser___ReduceAction328___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction328();
   parser___ReduceAction328___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction329[44] = {
+const classtable_elt_t VFT_ReduceAction329[45] = {
   {(bigint) 1479 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction329 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction329 < ReduceAction: superclass typecheck marker */},
@@ -60392,7 +67931,8 @@ const classtable_elt_t VFT_ReduceAction329[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction329 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction329___action},
-  {(bigint) 2 /* 42: ReduceAction329 < ReduceAction329: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction329 < ReduceAction329: superclass init_table position */},
   {(bigint) parser___ReduceAction329___init},
 };
 /* 0: Pointer to the classtable */
@@ -60402,13 +67942,19 @@ val_t NEW_ReduceAction329(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction329;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction329___init() {
+val_t NEW_ReduceAction329_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction329();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction329_parser___ReduceAction329___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction329();
   parser___ReduceAction329___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction330[44] = {
+const classtable_elt_t VFT_ReduceAction330[45] = {
   {(bigint) 1471 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction330 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction330 < ReduceAction: superclass typecheck marker */},
@@ -60451,7 +67997,8 @@ const classtable_elt_t VFT_ReduceAction330[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction330 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction330___action},
-  {(bigint) 2 /* 42: ReduceAction330 < ReduceAction330: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction330 < ReduceAction330: superclass init_table position */},
   {(bigint) parser___ReduceAction330___init},
 };
 /* 0: Pointer to the classtable */
@@ -60461,13 +68008,19 @@ val_t NEW_ReduceAction330(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction330;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction330___init() {
+val_t NEW_ReduceAction330_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction330();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction330_parser___ReduceAction330___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction330();
   parser___ReduceAction330___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction331[44] = {
+const classtable_elt_t VFT_ReduceAction331[45] = {
   {(bigint) 1467 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction331 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction331 < ReduceAction: superclass typecheck marker */},
@@ -60510,7 +68063,8 @@ const classtable_elt_t VFT_ReduceAction331[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction331 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction331___action},
-  {(bigint) 2 /* 42: ReduceAction331 < ReduceAction331: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction331 < ReduceAction331: superclass init_table position */},
   {(bigint) parser___ReduceAction331___init},
 };
 /* 0: Pointer to the classtable */
@@ -60520,13 +68074,19 @@ val_t NEW_ReduceAction331(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction331;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction331___init() {
+val_t NEW_ReduceAction331_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction331();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction331_parser___ReduceAction331___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction331();
   parser___ReduceAction331___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction332[44] = {
+const classtable_elt_t VFT_ReduceAction332[45] = {
   {(bigint) 1463 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction332 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction332 < ReduceAction: superclass typecheck marker */},
@@ -60569,7 +68129,8 @@ const classtable_elt_t VFT_ReduceAction332[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction332 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction332___action},
-  {(bigint) 2 /* 42: ReduceAction332 < ReduceAction332: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction332 < ReduceAction332: superclass init_table position */},
   {(bigint) parser___ReduceAction332___init},
 };
 /* 0: Pointer to the classtable */
@@ -60579,13 +68140,19 @@ val_t NEW_ReduceAction332(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction332;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction332___init() {
+val_t NEW_ReduceAction332_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction332();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction332_parser___ReduceAction332___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction332();
   parser___ReduceAction332___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction333[44] = {
+const classtable_elt_t VFT_ReduceAction333[45] = {
   {(bigint) 1459 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction333 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction333 < ReduceAction: superclass typecheck marker */},
@@ -60628,7 +68195,8 @@ const classtable_elt_t VFT_ReduceAction333[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction333 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction333___action},
-  {(bigint) 2 /* 42: ReduceAction333 < ReduceAction333: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction333 < ReduceAction333: superclass init_table position */},
   {(bigint) parser___ReduceAction333___init},
 };
 /* 0: Pointer to the classtable */
@@ -60638,13 +68206,19 @@ val_t NEW_ReduceAction333(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction333;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction333___init() {
+val_t NEW_ReduceAction333_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction333();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction333_parser___ReduceAction333___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction333();
   parser___ReduceAction333___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction334[44] = {
+const classtable_elt_t VFT_ReduceAction334[45] = {
   {(bigint) 1455 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction334 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction334 < ReduceAction: superclass typecheck marker */},
@@ -60687,7 +68261,8 @@ const classtable_elt_t VFT_ReduceAction334[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction334 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction334___action},
-  {(bigint) 2 /* 42: ReduceAction334 < ReduceAction334: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction334 < ReduceAction334: superclass init_table position */},
   {(bigint) parser___ReduceAction334___init},
 };
 /* 0: Pointer to the classtable */
@@ -60697,13 +68272,19 @@ val_t NEW_ReduceAction334(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction334;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction334___init() {
+val_t NEW_ReduceAction334_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction334();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction334_parser___ReduceAction334___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction334();
   parser___ReduceAction334___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction335[44] = {
+const classtable_elt_t VFT_ReduceAction335[45] = {
   {(bigint) 1451 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction335 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction335 < ReduceAction: superclass typecheck marker */},
@@ -60746,7 +68327,8 @@ const classtable_elt_t VFT_ReduceAction335[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction335 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction335___action},
-  {(bigint) 2 /* 42: ReduceAction335 < ReduceAction335: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction335 < ReduceAction335: superclass init_table position */},
   {(bigint) parser___ReduceAction335___init},
 };
 /* 0: Pointer to the classtable */
@@ -60756,13 +68338,19 @@ val_t NEW_ReduceAction335(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction335;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction335___init() {
+val_t NEW_ReduceAction335_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction335();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction335_parser___ReduceAction335___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction335();
   parser___ReduceAction335___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction336[44] = {
+const classtable_elt_t VFT_ReduceAction336[45] = {
   {(bigint) 1447 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction336 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction336 < ReduceAction: superclass typecheck marker */},
@@ -60805,7 +68393,8 @@ const classtable_elt_t VFT_ReduceAction336[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction336 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction336___action},
-  {(bigint) 2 /* 42: ReduceAction336 < ReduceAction336: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction336 < ReduceAction336: superclass init_table position */},
   {(bigint) parser___ReduceAction336___init},
 };
 /* 0: Pointer to the classtable */
@@ -60815,13 +68404,19 @@ val_t NEW_ReduceAction336(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction336;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction336___init() {
+val_t NEW_ReduceAction336_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction336();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction336_parser___ReduceAction336___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction336();
   parser___ReduceAction336___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction337[44] = {
+const classtable_elt_t VFT_ReduceAction337[45] = {
   {(bigint) 1443 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction337 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction337 < ReduceAction: superclass typecheck marker */},
@@ -60864,7 +68459,8 @@ const classtable_elt_t VFT_ReduceAction337[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction337 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction337___action},
-  {(bigint) 2 /* 42: ReduceAction337 < ReduceAction337: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction337 < ReduceAction337: superclass init_table position */},
   {(bigint) parser___ReduceAction337___init},
 };
 /* 0: Pointer to the classtable */
@@ -60874,13 +68470,19 @@ val_t NEW_ReduceAction337(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction337;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction337___init() {
+val_t NEW_ReduceAction337_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction337();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction337_parser___ReduceAction337___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction337();
   parser___ReduceAction337___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction338[44] = {
+const classtable_elt_t VFT_ReduceAction338[45] = {
   {(bigint) 1439 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction338 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction338 < ReduceAction: superclass typecheck marker */},
@@ -60923,7 +68525,8 @@ const classtable_elt_t VFT_ReduceAction338[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction338 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction338___action},
-  {(bigint) 2 /* 42: ReduceAction338 < ReduceAction338: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction338 < ReduceAction338: superclass init_table position */},
   {(bigint) parser___ReduceAction338___init},
 };
 /* 0: Pointer to the classtable */
@@ -60933,13 +68536,19 @@ val_t NEW_ReduceAction338(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction338;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction338___init() {
+val_t NEW_ReduceAction338_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction338();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction338_parser___ReduceAction338___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction338();
   parser___ReduceAction338___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction339[44] = {
+const classtable_elt_t VFT_ReduceAction339[45] = {
   {(bigint) 1435 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction339 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction339 < ReduceAction: superclass typecheck marker */},
@@ -60982,7 +68591,8 @@ const classtable_elt_t VFT_ReduceAction339[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction339 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction339___action},
-  {(bigint) 2 /* 42: ReduceAction339 < ReduceAction339: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction339 < ReduceAction339: superclass init_table position */},
   {(bigint) parser___ReduceAction339___init},
 };
 /* 0: Pointer to the classtable */
@@ -60992,13 +68602,19 @@ val_t NEW_ReduceAction339(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction339;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction339___init() {
+val_t NEW_ReduceAction339_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction339();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction339_parser___ReduceAction339___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction339();
   parser___ReduceAction339___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction340[44] = {
+const classtable_elt_t VFT_ReduceAction340[45] = {
   {(bigint) 1427 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction340 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction340 < ReduceAction: superclass typecheck marker */},
@@ -61041,7 +68657,8 @@ const classtable_elt_t VFT_ReduceAction340[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction340 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction340___action},
-  {(bigint) 2 /* 42: ReduceAction340 < ReduceAction340: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction340 < ReduceAction340: superclass init_table position */},
   {(bigint) parser___ReduceAction340___init},
 };
 /* 0: Pointer to the classtable */
@@ -61051,13 +68668,19 @@ val_t NEW_ReduceAction340(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction340;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction340___init() {
+val_t NEW_ReduceAction340_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction340();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction340_parser___ReduceAction340___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction340();
   parser___ReduceAction340___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction341[44] = {
+const classtable_elt_t VFT_ReduceAction341[45] = {
   {(bigint) 1423 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction341 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction341 < ReduceAction: superclass typecheck marker */},
@@ -61100,7 +68723,8 @@ const classtable_elt_t VFT_ReduceAction341[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction341 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction341___action},
-  {(bigint) 2 /* 42: ReduceAction341 < ReduceAction341: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction341 < ReduceAction341: superclass init_table position */},
   {(bigint) parser___ReduceAction341___init},
 };
 /* 0: Pointer to the classtable */
@@ -61110,13 +68734,19 @@ val_t NEW_ReduceAction341(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction341;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction341___init() {
+val_t NEW_ReduceAction341_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction341();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction341_parser___ReduceAction341___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction341();
   parser___ReduceAction341___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction342[44] = {
+const classtable_elt_t VFT_ReduceAction342[45] = {
   {(bigint) 1419 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction342 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction342 < ReduceAction: superclass typecheck marker */},
@@ -61159,7 +68789,8 @@ const classtable_elt_t VFT_ReduceAction342[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction342 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction342___action},
-  {(bigint) 2 /* 42: ReduceAction342 < ReduceAction342: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction342 < ReduceAction342: superclass init_table position */},
   {(bigint) parser___ReduceAction342___init},
 };
 /* 0: Pointer to the classtable */
@@ -61169,13 +68800,19 @@ val_t NEW_ReduceAction342(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction342;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction342___init() {
+val_t NEW_ReduceAction342_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction342();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction342_parser___ReduceAction342___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction342();
   parser___ReduceAction342___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction343[44] = {
+const classtable_elt_t VFT_ReduceAction343[45] = {
   {(bigint) 1415 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction343 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction343 < ReduceAction: superclass typecheck marker */},
@@ -61218,7 +68855,8 @@ const classtable_elt_t VFT_ReduceAction343[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction343 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction343___action},
-  {(bigint) 2 /* 42: ReduceAction343 < ReduceAction343: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction343 < ReduceAction343: superclass init_table position */},
   {(bigint) parser___ReduceAction343___init},
 };
 /* 0: Pointer to the classtable */
@@ -61228,13 +68866,19 @@ val_t NEW_ReduceAction343(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction343;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction343___init() {
+val_t NEW_ReduceAction343_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction343();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction343_parser___ReduceAction343___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction343();
   parser___ReduceAction343___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction344[44] = {
+const classtable_elt_t VFT_ReduceAction344[45] = {
   {(bigint) 1411 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction344 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction344 < ReduceAction: superclass typecheck marker */},
@@ -61277,7 +68921,8 @@ const classtable_elt_t VFT_ReduceAction344[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction344 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction344___action},
-  {(bigint) 2 /* 42: ReduceAction344 < ReduceAction344: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction344 < ReduceAction344: superclass init_table position */},
   {(bigint) parser___ReduceAction344___init},
 };
 /* 0: Pointer to the classtable */
@@ -61287,13 +68932,19 @@ val_t NEW_ReduceAction344(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction344;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction344___init() {
+val_t NEW_ReduceAction344_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction344();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction344_parser___ReduceAction344___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction344();
   parser___ReduceAction344___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction345[44] = {
+const classtable_elt_t VFT_ReduceAction345[45] = {
   {(bigint) 1407 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction345 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction345 < ReduceAction: superclass typecheck marker */},
@@ -61336,7 +68987,8 @@ const classtable_elt_t VFT_ReduceAction345[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction345 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction345___action},
-  {(bigint) 2 /* 42: ReduceAction345 < ReduceAction345: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction345 < ReduceAction345: superclass init_table position */},
   {(bigint) parser___ReduceAction345___init},
 };
 /* 0: Pointer to the classtable */
@@ -61346,13 +68998,19 @@ val_t NEW_ReduceAction345(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction345;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction345___init() {
+val_t NEW_ReduceAction345_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction345();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction345_parser___ReduceAction345___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction345();
   parser___ReduceAction345___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction346[44] = {
+const classtable_elt_t VFT_ReduceAction346[45] = {
   {(bigint) 1403 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction346 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction346 < ReduceAction: superclass typecheck marker */},
@@ -61395,7 +69053,8 @@ const classtable_elt_t VFT_ReduceAction346[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction346 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction346___action},
-  {(bigint) 2 /* 42: ReduceAction346 < ReduceAction346: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction346 < ReduceAction346: superclass init_table position */},
   {(bigint) parser___ReduceAction346___init},
 };
 /* 0: Pointer to the classtable */
@@ -61405,13 +69064,19 @@ val_t NEW_ReduceAction346(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction346;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction346___init() {
+val_t NEW_ReduceAction346_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction346();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction346_parser___ReduceAction346___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction346();
   parser___ReduceAction346___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction347[44] = {
+const classtable_elt_t VFT_ReduceAction347[45] = {
   {(bigint) 1399 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction347 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction347 < ReduceAction: superclass typecheck marker */},
@@ -61454,7 +69119,8 @@ const classtable_elt_t VFT_ReduceAction347[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction347 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction347___action},
-  {(bigint) 2 /* 42: ReduceAction347 < ReduceAction347: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction347 < ReduceAction347: superclass init_table position */},
   {(bigint) parser___ReduceAction347___init},
 };
 /* 0: Pointer to the classtable */
@@ -61464,13 +69130,19 @@ val_t NEW_ReduceAction347(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction347;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction347___init() {
+val_t NEW_ReduceAction347_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction347();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction347_parser___ReduceAction347___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction347();
   parser___ReduceAction347___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction348[44] = {
+const classtable_elt_t VFT_ReduceAction348[45] = {
   {(bigint) 1395 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction348 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction348 < ReduceAction: superclass typecheck marker */},
@@ -61513,7 +69185,8 @@ const classtable_elt_t VFT_ReduceAction348[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction348 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction348___action},
-  {(bigint) 2 /* 42: ReduceAction348 < ReduceAction348: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction348 < ReduceAction348: superclass init_table position */},
   {(bigint) parser___ReduceAction348___init},
 };
 /* 0: Pointer to the classtable */
@@ -61523,13 +69196,19 @@ val_t NEW_ReduceAction348(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction348;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction348___init() {
+val_t NEW_ReduceAction348_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction348();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction348_parser___ReduceAction348___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction348();
   parser___ReduceAction348___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction349[44] = {
+const classtable_elt_t VFT_ReduceAction349[45] = {
   {(bigint) 1391 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction349 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction349 < ReduceAction: superclass typecheck marker */},
@@ -61572,7 +69251,8 @@ const classtable_elt_t VFT_ReduceAction349[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction349 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction349___action},
-  {(bigint) 2 /* 42: ReduceAction349 < ReduceAction349: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction349 < ReduceAction349: superclass init_table position */},
   {(bigint) parser___ReduceAction349___init},
 };
 /* 0: Pointer to the classtable */
@@ -61582,13 +69262,19 @@ val_t NEW_ReduceAction349(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction349;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction349___init() {
+val_t NEW_ReduceAction349_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction349();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction349_parser___ReduceAction349___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction349();
   parser___ReduceAction349___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction350[44] = {
+const classtable_elt_t VFT_ReduceAction350[45] = {
   {(bigint) 1383 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction350 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction350 < ReduceAction: superclass typecheck marker */},
@@ -61631,7 +69317,8 @@ const classtable_elt_t VFT_ReduceAction350[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction350 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction350___action},
-  {(bigint) 2 /* 42: ReduceAction350 < ReduceAction350: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction350 < ReduceAction350: superclass init_table position */},
   {(bigint) parser___ReduceAction350___init},
 };
 /* 0: Pointer to the classtable */
@@ -61641,13 +69328,19 @@ val_t NEW_ReduceAction350(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction350;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction350___init() {
+val_t NEW_ReduceAction350_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction350();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction350_parser___ReduceAction350___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction350();
   parser___ReduceAction350___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction351[44] = {
+const classtable_elt_t VFT_ReduceAction351[45] = {
   {(bigint) 1379 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction351 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction351 < ReduceAction: superclass typecheck marker */},
@@ -61690,7 +69383,8 @@ const classtable_elt_t VFT_ReduceAction351[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction351 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction351___action},
-  {(bigint) 2 /* 42: ReduceAction351 < ReduceAction351: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction351 < ReduceAction351: superclass init_table position */},
   {(bigint) parser___ReduceAction351___init},
 };
 /* 0: Pointer to the classtable */
@@ -61700,13 +69394,19 @@ val_t NEW_ReduceAction351(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction351;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction351___init() {
+val_t NEW_ReduceAction351_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction351();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction351_parser___ReduceAction351___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction351();
   parser___ReduceAction351___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction352[44] = {
+const classtable_elt_t VFT_ReduceAction352[45] = {
   {(bigint) 1375 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction352 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction352 < ReduceAction: superclass typecheck marker */},
@@ -61749,7 +69449,8 @@ const classtable_elt_t VFT_ReduceAction352[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction352 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction352___action},
-  {(bigint) 2 /* 42: ReduceAction352 < ReduceAction352: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction352 < ReduceAction352: superclass init_table position */},
   {(bigint) parser___ReduceAction352___init},
 };
 /* 0: Pointer to the classtable */
@@ -61759,13 +69460,19 @@ val_t NEW_ReduceAction352(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction352;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction352___init() {
+val_t NEW_ReduceAction352_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction352();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction352_parser___ReduceAction352___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction352();
   parser___ReduceAction352___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction353[44] = {
+const classtable_elt_t VFT_ReduceAction353[45] = {
   {(bigint) 1371 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction353 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction353 < ReduceAction: superclass typecheck marker */},
@@ -61808,7 +69515,8 @@ const classtable_elt_t VFT_ReduceAction353[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction353 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction353___action},
-  {(bigint) 2 /* 42: ReduceAction353 < ReduceAction353: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction353 < ReduceAction353: superclass init_table position */},
   {(bigint) parser___ReduceAction353___init},
 };
 /* 0: Pointer to the classtable */
@@ -61818,13 +69526,19 @@ val_t NEW_ReduceAction353(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction353;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction353___init() {
+val_t NEW_ReduceAction353_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction353();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction353_parser___ReduceAction353___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction353();
   parser___ReduceAction353___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction354[44] = {
+const classtable_elt_t VFT_ReduceAction354[45] = {
   {(bigint) 1367 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction354 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction354 < ReduceAction: superclass typecheck marker */},
@@ -61867,7 +69581,8 @@ const classtable_elt_t VFT_ReduceAction354[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction354 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction354___action},
-  {(bigint) 2 /* 42: ReduceAction354 < ReduceAction354: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction354 < ReduceAction354: superclass init_table position */},
   {(bigint) parser___ReduceAction354___init},
 };
 /* 0: Pointer to the classtable */
@@ -61877,13 +69592,19 @@ val_t NEW_ReduceAction354(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction354;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction354___init() {
+val_t NEW_ReduceAction354_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction354();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction354_parser___ReduceAction354___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction354();
   parser___ReduceAction354___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction355[44] = {
+const classtable_elt_t VFT_ReduceAction355[45] = {
   {(bigint) 1363 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction355 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction355 < ReduceAction: superclass typecheck marker */},
@@ -61926,7 +69647,8 @@ const classtable_elt_t VFT_ReduceAction355[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction355 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction355___action},
-  {(bigint) 2 /* 42: ReduceAction355 < ReduceAction355: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction355 < ReduceAction355: superclass init_table position */},
   {(bigint) parser___ReduceAction355___init},
 };
 /* 0: Pointer to the classtable */
@@ -61936,13 +69658,19 @@ val_t NEW_ReduceAction355(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction355;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction355___init() {
+val_t NEW_ReduceAction355_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction355();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction355_parser___ReduceAction355___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction355();
   parser___ReduceAction355___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction356[44] = {
+const classtable_elt_t VFT_ReduceAction356[45] = {
   {(bigint) 1359 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction356 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction356 < ReduceAction: superclass typecheck marker */},
@@ -61985,7 +69713,8 @@ const classtable_elt_t VFT_ReduceAction356[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction356 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction356___action},
-  {(bigint) 2 /* 42: ReduceAction356 < ReduceAction356: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction356 < ReduceAction356: superclass init_table position */},
   {(bigint) parser___ReduceAction356___init},
 };
 /* 0: Pointer to the classtable */
@@ -61995,13 +69724,19 @@ val_t NEW_ReduceAction356(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction356;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction356___init() {
+val_t NEW_ReduceAction356_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction356();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction356_parser___ReduceAction356___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction356();
   parser___ReduceAction356___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction357[44] = {
+const classtable_elt_t VFT_ReduceAction357[45] = {
   {(bigint) 1355 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction357 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction357 < ReduceAction: superclass typecheck marker */},
@@ -62044,7 +69779,8 @@ const classtable_elt_t VFT_ReduceAction357[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction357 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction357___action},
-  {(bigint) 2 /* 42: ReduceAction357 < ReduceAction357: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction357 < ReduceAction357: superclass init_table position */},
   {(bigint) parser___ReduceAction357___init},
 };
 /* 0: Pointer to the classtable */
@@ -62054,13 +69790,19 @@ val_t NEW_ReduceAction357(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction357;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction357___init() {
+val_t NEW_ReduceAction357_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction357();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction357_parser___ReduceAction357___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction357();
   parser___ReduceAction357___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction358[44] = {
+const classtable_elt_t VFT_ReduceAction358[45] = {
   {(bigint) 1351 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction358 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction358 < ReduceAction: superclass typecheck marker */},
@@ -62103,7 +69845,8 @@ const classtable_elt_t VFT_ReduceAction358[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction358 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction358___action},
-  {(bigint) 2 /* 42: ReduceAction358 < ReduceAction358: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction358 < ReduceAction358: superclass init_table position */},
   {(bigint) parser___ReduceAction358___init},
 };
 /* 0: Pointer to the classtable */
@@ -62113,13 +69856,19 @@ val_t NEW_ReduceAction358(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction358;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction358___init() {
+val_t NEW_ReduceAction358_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction358();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction358_parser___ReduceAction358___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction358();
   parser___ReduceAction358___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction359[44] = {
+const classtable_elt_t VFT_ReduceAction359[45] = {
   {(bigint) 1347 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction359 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction359 < ReduceAction: superclass typecheck marker */},
@@ -62162,7 +69911,8 @@ const classtable_elt_t VFT_ReduceAction359[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction359 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction359___action},
-  {(bigint) 2 /* 42: ReduceAction359 < ReduceAction359: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction359 < ReduceAction359: superclass init_table position */},
   {(bigint) parser___ReduceAction359___init},
 };
 /* 0: Pointer to the classtable */
@@ -62172,13 +69922,19 @@ val_t NEW_ReduceAction359(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction359;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction359___init() {
+val_t NEW_ReduceAction359_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction359();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction359_parser___ReduceAction359___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction359();
   parser___ReduceAction359___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction360[44] = {
+const classtable_elt_t VFT_ReduceAction360[45] = {
   {(bigint) 1339 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction360 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction360 < ReduceAction: superclass typecheck marker */},
@@ -62221,7 +69977,8 @@ const classtable_elt_t VFT_ReduceAction360[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction360 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction360___action},
-  {(bigint) 2 /* 42: ReduceAction360 < ReduceAction360: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction360 < ReduceAction360: superclass init_table position */},
   {(bigint) parser___ReduceAction360___init},
 };
 /* 0: Pointer to the classtable */
@@ -62231,13 +69988,19 @@ val_t NEW_ReduceAction360(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction360;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction360___init() {
+val_t NEW_ReduceAction360_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction360();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction360_parser___ReduceAction360___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction360();
   parser___ReduceAction360___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction361[44] = {
+const classtable_elt_t VFT_ReduceAction361[45] = {
   {(bigint) 1335 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction361 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction361 < ReduceAction: superclass typecheck marker */},
@@ -62280,7 +70043,8 @@ const classtable_elt_t VFT_ReduceAction361[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction361 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction361___action},
-  {(bigint) 2 /* 42: ReduceAction361 < ReduceAction361: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction361 < ReduceAction361: superclass init_table position */},
   {(bigint) parser___ReduceAction361___init},
 };
 /* 0: Pointer to the classtable */
@@ -62290,13 +70054,19 @@ val_t NEW_ReduceAction361(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction361;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction361___init() {
+val_t NEW_ReduceAction361_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction361();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction361_parser___ReduceAction361___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction361();
   parser___ReduceAction361___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction362[44] = {
+const classtable_elt_t VFT_ReduceAction362[45] = {
   {(bigint) 1331 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction362 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction362 < ReduceAction: superclass typecheck marker */},
@@ -62339,7 +70109,8 @@ const classtable_elt_t VFT_ReduceAction362[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction362 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction362___action},
-  {(bigint) 2 /* 42: ReduceAction362 < ReduceAction362: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction362 < ReduceAction362: superclass init_table position */},
   {(bigint) parser___ReduceAction362___init},
 };
 /* 0: Pointer to the classtable */
@@ -62349,13 +70120,19 @@ val_t NEW_ReduceAction362(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction362;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction362___init() {
+val_t NEW_ReduceAction362_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction362();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction362_parser___ReduceAction362___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction362();
   parser___ReduceAction362___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction363[44] = {
+const classtable_elt_t VFT_ReduceAction363[45] = {
   {(bigint) 1327 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction363 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction363 < ReduceAction: superclass typecheck marker */},
@@ -62398,7 +70175,8 @@ const classtable_elt_t VFT_ReduceAction363[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction363 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction363___action},
-  {(bigint) 2 /* 42: ReduceAction363 < ReduceAction363: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction363 < ReduceAction363: superclass init_table position */},
   {(bigint) parser___ReduceAction363___init},
 };
 /* 0: Pointer to the classtable */
@@ -62408,13 +70186,19 @@ val_t NEW_ReduceAction363(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction363;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction363___init() {
+val_t NEW_ReduceAction363_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction363();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction363_parser___ReduceAction363___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction363();
   parser___ReduceAction363___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction364[44] = {
+const classtable_elt_t VFT_ReduceAction364[45] = {
   {(bigint) 1323 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction364 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction364 < ReduceAction: superclass typecheck marker */},
@@ -62457,7 +70241,8 @@ const classtable_elt_t VFT_ReduceAction364[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction364 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction364___action},
-  {(bigint) 2 /* 42: ReduceAction364 < ReduceAction364: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction364 < ReduceAction364: superclass init_table position */},
   {(bigint) parser___ReduceAction364___init},
 };
 /* 0: Pointer to the classtable */
@@ -62467,13 +70252,19 @@ val_t NEW_ReduceAction364(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction364;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction364___init() {
+val_t NEW_ReduceAction364_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction364();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction364_parser___ReduceAction364___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction364();
   parser___ReduceAction364___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction365[44] = {
+const classtable_elt_t VFT_ReduceAction365[45] = {
   {(bigint) 1319 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction365 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction365 < ReduceAction: superclass typecheck marker */},
@@ -62516,7 +70307,8 @@ const classtable_elt_t VFT_ReduceAction365[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction365 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction365___action},
-  {(bigint) 2 /* 42: ReduceAction365 < ReduceAction365: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction365 < ReduceAction365: superclass init_table position */},
   {(bigint) parser___ReduceAction365___init},
 };
 /* 0: Pointer to the classtable */
@@ -62526,13 +70318,19 @@ val_t NEW_ReduceAction365(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction365;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction365___init() {
+val_t NEW_ReduceAction365_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction365();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction365_parser___ReduceAction365___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction365();
   parser___ReduceAction365___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction366[44] = {
+const classtable_elt_t VFT_ReduceAction366[45] = {
   {(bigint) 1315 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction366 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction366 < ReduceAction: superclass typecheck marker */},
@@ -62575,7 +70373,8 @@ const classtable_elt_t VFT_ReduceAction366[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction366 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction366___action},
-  {(bigint) 2 /* 42: ReduceAction366 < ReduceAction366: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction366 < ReduceAction366: superclass init_table position */},
   {(bigint) parser___ReduceAction366___init},
 };
 /* 0: Pointer to the classtable */
@@ -62585,13 +70384,19 @@ val_t NEW_ReduceAction366(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction366;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction366___init() {
+val_t NEW_ReduceAction366_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction366();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction366_parser___ReduceAction366___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction366();
   parser___ReduceAction366___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction367[44] = {
+const classtable_elt_t VFT_ReduceAction367[45] = {
   {(bigint) 1311 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction367 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction367 < ReduceAction: superclass typecheck marker */},
@@ -62634,7 +70439,8 @@ const classtable_elt_t VFT_ReduceAction367[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction367 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction367___action},
-  {(bigint) 2 /* 42: ReduceAction367 < ReduceAction367: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction367 < ReduceAction367: superclass init_table position */},
   {(bigint) parser___ReduceAction367___init},
 };
 /* 0: Pointer to the classtable */
@@ -62644,13 +70450,19 @@ val_t NEW_ReduceAction367(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction367;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction367___init() {
+val_t NEW_ReduceAction367_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction367();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction367_parser___ReduceAction367___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction367();
   parser___ReduceAction367___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction368[44] = {
+const classtable_elt_t VFT_ReduceAction368[45] = {
   {(bigint) 1307 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction368 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction368 < ReduceAction: superclass typecheck marker */},
@@ -62693,7 +70505,8 @@ const classtable_elt_t VFT_ReduceAction368[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction368 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction368___action},
-  {(bigint) 2 /* 42: ReduceAction368 < ReduceAction368: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction368 < ReduceAction368: superclass init_table position */},
   {(bigint) parser___ReduceAction368___init},
 };
 /* 0: Pointer to the classtable */
@@ -62703,13 +70516,19 @@ val_t NEW_ReduceAction368(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction368;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction368___init() {
+val_t NEW_ReduceAction368_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction368();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction368_parser___ReduceAction368___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction368();
   parser___ReduceAction368___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction369[44] = {
+const classtable_elt_t VFT_ReduceAction369[45] = {
   {(bigint) 1303 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction369 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction369 < ReduceAction: superclass typecheck marker */},
@@ -62752,7 +70571,8 @@ const classtable_elt_t VFT_ReduceAction369[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction369 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction369___action},
-  {(bigint) 2 /* 42: ReduceAction369 < ReduceAction369: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction369 < ReduceAction369: superclass init_table position */},
   {(bigint) parser___ReduceAction369___init},
 };
 /* 0: Pointer to the classtable */
@@ -62762,13 +70582,19 @@ val_t NEW_ReduceAction369(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction369;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction369___init() {
+val_t NEW_ReduceAction369_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction369();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction369_parser___ReduceAction369___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction369();
   parser___ReduceAction369___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction370[44] = {
+const classtable_elt_t VFT_ReduceAction370[45] = {
   {(bigint) 1295 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction370 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction370 < ReduceAction: superclass typecheck marker */},
@@ -62811,7 +70637,8 @@ const classtable_elt_t VFT_ReduceAction370[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction370 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction370___action},
-  {(bigint) 2 /* 42: ReduceAction370 < ReduceAction370: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction370 < ReduceAction370: superclass init_table position */},
   {(bigint) parser___ReduceAction370___init},
 };
 /* 0: Pointer to the classtable */
@@ -62821,13 +70648,19 @@ val_t NEW_ReduceAction370(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction370;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction370___init() {
+val_t NEW_ReduceAction370_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction370();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction370_parser___ReduceAction370___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction370();
   parser___ReduceAction370___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction371[44] = {
+const classtable_elt_t VFT_ReduceAction371[45] = {
   {(bigint) 1291 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction371 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction371 < ReduceAction: superclass typecheck marker */},
@@ -62870,7 +70703,8 @@ const classtable_elt_t VFT_ReduceAction371[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction371 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction371___action},
-  {(bigint) 2 /* 42: ReduceAction371 < ReduceAction371: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction371 < ReduceAction371: superclass init_table position */},
   {(bigint) parser___ReduceAction371___init},
 };
 /* 0: Pointer to the classtable */
@@ -62880,13 +70714,19 @@ val_t NEW_ReduceAction371(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction371;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction371___init() {
+val_t NEW_ReduceAction371_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction371();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction371_parser___ReduceAction371___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction371();
   parser___ReduceAction371___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction372[44] = {
+const classtable_elt_t VFT_ReduceAction372[45] = {
   {(bigint) 1287 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction372 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction372 < ReduceAction: superclass typecheck marker */},
@@ -62929,7 +70769,8 @@ const classtable_elt_t VFT_ReduceAction372[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction372 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction372___action},
-  {(bigint) 2 /* 42: ReduceAction372 < ReduceAction372: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction372 < ReduceAction372: superclass init_table position */},
   {(bigint) parser___ReduceAction372___init},
 };
 /* 0: Pointer to the classtable */
@@ -62939,13 +70780,19 @@ val_t NEW_ReduceAction372(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction372;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction372___init() {
+val_t NEW_ReduceAction372_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction372();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction372_parser___ReduceAction372___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction372();
   parser___ReduceAction372___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction373[44] = {
+const classtable_elt_t VFT_ReduceAction373[45] = {
   {(bigint) 1283 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction373 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction373 < ReduceAction: superclass typecheck marker */},
@@ -62988,7 +70835,8 @@ const classtable_elt_t VFT_ReduceAction373[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction373 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction373___action},
-  {(bigint) 2 /* 42: ReduceAction373 < ReduceAction373: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction373 < ReduceAction373: superclass init_table position */},
   {(bigint) parser___ReduceAction373___init},
 };
 /* 0: Pointer to the classtable */
@@ -62998,13 +70846,19 @@ val_t NEW_ReduceAction373(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction373;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction373___init() {
+val_t NEW_ReduceAction373_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction373();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction373_parser___ReduceAction373___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction373();
   parser___ReduceAction373___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction374[44] = {
+const classtable_elt_t VFT_ReduceAction374[45] = {
   {(bigint) 1279 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction374 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction374 < ReduceAction: superclass typecheck marker */},
@@ -63047,7 +70901,8 @@ const classtable_elt_t VFT_ReduceAction374[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction374 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction374___action},
-  {(bigint) 2 /* 42: ReduceAction374 < ReduceAction374: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction374 < ReduceAction374: superclass init_table position */},
   {(bigint) parser___ReduceAction374___init},
 };
 /* 0: Pointer to the classtable */
@@ -63057,13 +70912,19 @@ val_t NEW_ReduceAction374(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction374;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction374___init() {
+val_t NEW_ReduceAction374_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction374();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction374_parser___ReduceAction374___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction374();
   parser___ReduceAction374___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction375[44] = {
+const classtable_elt_t VFT_ReduceAction375[45] = {
   {(bigint) 1275 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction375 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction375 < ReduceAction: superclass typecheck marker */},
@@ -63106,7 +70967,8 @@ const classtable_elt_t VFT_ReduceAction375[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction375 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction375___action},
-  {(bigint) 2 /* 42: ReduceAction375 < ReduceAction375: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction375 < ReduceAction375: superclass init_table position */},
   {(bigint) parser___ReduceAction375___init},
 };
 /* 0: Pointer to the classtable */
@@ -63116,13 +70978,19 @@ val_t NEW_ReduceAction375(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction375;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction375___init() {
+val_t NEW_ReduceAction375_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction375();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction375_parser___ReduceAction375___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction375();
   parser___ReduceAction375___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction376[44] = {
+const classtable_elt_t VFT_ReduceAction376[45] = {
   {(bigint) 1271 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction376 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction376 < ReduceAction: superclass typecheck marker */},
@@ -63165,7 +71033,8 @@ const classtable_elt_t VFT_ReduceAction376[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction376 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction376___action},
-  {(bigint) 2 /* 42: ReduceAction376 < ReduceAction376: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction376 < ReduceAction376: superclass init_table position */},
   {(bigint) parser___ReduceAction376___init},
 };
 /* 0: Pointer to the classtable */
@@ -63175,13 +71044,19 @@ val_t NEW_ReduceAction376(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction376;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction376___init() {
+val_t NEW_ReduceAction376_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction376();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction376_parser___ReduceAction376___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction376();
   parser___ReduceAction376___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction377[44] = {
+const classtable_elt_t VFT_ReduceAction377[45] = {
   {(bigint) 1267 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction377 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction377 < ReduceAction: superclass typecheck marker */},
@@ -63224,7 +71099,8 @@ const classtable_elt_t VFT_ReduceAction377[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction377 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction377___action},
-  {(bigint) 2 /* 42: ReduceAction377 < ReduceAction377: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction377 < ReduceAction377: superclass init_table position */},
   {(bigint) parser___ReduceAction377___init},
 };
 /* 0: Pointer to the classtable */
@@ -63234,13 +71110,19 @@ val_t NEW_ReduceAction377(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction377;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction377___init() {
+val_t NEW_ReduceAction377_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction377();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction377_parser___ReduceAction377___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction377();
   parser___ReduceAction377___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction378[44] = {
+const classtable_elt_t VFT_ReduceAction378[45] = {
   {(bigint) 1263 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction378 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction378 < ReduceAction: superclass typecheck marker */},
@@ -63283,7 +71165,8 @@ const classtable_elt_t VFT_ReduceAction378[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction378 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction378___action},
-  {(bigint) 2 /* 42: ReduceAction378 < ReduceAction378: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction378 < ReduceAction378: superclass init_table position */},
   {(bigint) parser___ReduceAction378___init},
 };
 /* 0: Pointer to the classtable */
@@ -63293,13 +71176,19 @@ val_t NEW_ReduceAction378(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction378;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction378___init() {
+val_t NEW_ReduceAction378_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction378();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction378_parser___ReduceAction378___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction378();
   parser___ReduceAction378___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction379[44] = {
+const classtable_elt_t VFT_ReduceAction379[45] = {
   {(bigint) 1259 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction379 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction379 < ReduceAction: superclass typecheck marker */},
@@ -63342,7 +71231,8 @@ const classtable_elt_t VFT_ReduceAction379[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction379 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction379___action},
-  {(bigint) 2 /* 42: ReduceAction379 < ReduceAction379: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction379 < ReduceAction379: superclass init_table position */},
   {(bigint) parser___ReduceAction379___init},
 };
 /* 0: Pointer to the classtable */
@@ -63352,13 +71242,19 @@ val_t NEW_ReduceAction379(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction379;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction379___init() {
+val_t NEW_ReduceAction379_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction379();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction379_parser___ReduceAction379___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction379();
   parser___ReduceAction379___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction380[44] = {
+const classtable_elt_t VFT_ReduceAction380[45] = {
   {(bigint) 1251 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction380 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction380 < ReduceAction: superclass typecheck marker */},
@@ -63401,7 +71297,8 @@ const classtable_elt_t VFT_ReduceAction380[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction380 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction380___action},
-  {(bigint) 2 /* 42: ReduceAction380 < ReduceAction380: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction380 < ReduceAction380: superclass init_table position */},
   {(bigint) parser___ReduceAction380___init},
 };
 /* 0: Pointer to the classtable */
@@ -63411,13 +71308,19 @@ val_t NEW_ReduceAction380(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction380;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction380___init() {
+val_t NEW_ReduceAction380_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction380();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction380_parser___ReduceAction380___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction380();
   parser___ReduceAction380___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction381[44] = {
+const classtable_elt_t VFT_ReduceAction381[45] = {
   {(bigint) 1247 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction381 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction381 < ReduceAction: superclass typecheck marker */},
@@ -63460,7 +71363,8 @@ const classtable_elt_t VFT_ReduceAction381[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction381 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction381___action},
-  {(bigint) 2 /* 42: ReduceAction381 < ReduceAction381: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction381 < ReduceAction381: superclass init_table position */},
   {(bigint) parser___ReduceAction381___init},
 };
 /* 0: Pointer to the classtable */
@@ -63470,13 +71374,19 @@ val_t NEW_ReduceAction381(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction381;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction381___init() {
+val_t NEW_ReduceAction381_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction381();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction381_parser___ReduceAction381___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction381();
   parser___ReduceAction381___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction382[44] = {
+const classtable_elt_t VFT_ReduceAction382[45] = {
   {(bigint) 1243 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction382 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction382 < ReduceAction: superclass typecheck marker */},
@@ -63519,7 +71429,8 @@ const classtable_elt_t VFT_ReduceAction382[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction382 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction382___action},
-  {(bigint) 2 /* 42: ReduceAction382 < ReduceAction382: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction382 < ReduceAction382: superclass init_table position */},
   {(bigint) parser___ReduceAction382___init},
 };
 /* 0: Pointer to the classtable */
@@ -63529,13 +71440,19 @@ val_t NEW_ReduceAction382(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction382;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction382___init() {
+val_t NEW_ReduceAction382_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction382();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction382_parser___ReduceAction382___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction382();
   parser___ReduceAction382___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction383[44] = {
+const classtable_elt_t VFT_ReduceAction383[45] = {
   {(bigint) 1239 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction383 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction383 < ReduceAction: superclass typecheck marker */},
@@ -63578,7 +71495,8 @@ const classtable_elt_t VFT_ReduceAction383[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction383 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction383___action},
-  {(bigint) 2 /* 42: ReduceAction383 < ReduceAction383: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction383 < ReduceAction383: superclass init_table position */},
   {(bigint) parser___ReduceAction383___init},
 };
 /* 0: Pointer to the classtable */
@@ -63588,13 +71506,19 @@ val_t NEW_ReduceAction383(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction383;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction383___init() {
+val_t NEW_ReduceAction383_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction383();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction383_parser___ReduceAction383___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction383();
   parser___ReduceAction383___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction384[44] = {
+const classtable_elt_t VFT_ReduceAction384[45] = {
   {(bigint) 1235 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction384 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction384 < ReduceAction: superclass typecheck marker */},
@@ -63637,7 +71561,8 @@ const classtable_elt_t VFT_ReduceAction384[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction384 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction384___action},
-  {(bigint) 2 /* 42: ReduceAction384 < ReduceAction384: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction384 < ReduceAction384: superclass init_table position */},
   {(bigint) parser___ReduceAction384___init},
 };
 /* 0: Pointer to the classtable */
@@ -63647,13 +71572,19 @@ val_t NEW_ReduceAction384(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction384;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction384___init() {
+val_t NEW_ReduceAction384_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction384();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction384_parser___ReduceAction384___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction384();
   parser___ReduceAction384___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction385[44] = {
+const classtable_elt_t VFT_ReduceAction385[45] = {
   {(bigint) 1231 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction385 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction385 < ReduceAction: superclass typecheck marker */},
@@ -63696,7 +71627,8 @@ const classtable_elt_t VFT_ReduceAction385[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction385 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction385___action},
-  {(bigint) 2 /* 42: ReduceAction385 < ReduceAction385: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction385 < ReduceAction385: superclass init_table position */},
   {(bigint) parser___ReduceAction385___init},
 };
 /* 0: Pointer to the classtable */
@@ -63706,13 +71638,19 @@ val_t NEW_ReduceAction385(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction385;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction385___init() {
+val_t NEW_ReduceAction385_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction385();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction385_parser___ReduceAction385___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction385();
   parser___ReduceAction385___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction386[44] = {
+const classtable_elt_t VFT_ReduceAction386[45] = {
   {(bigint) 1227 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction386 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction386 < ReduceAction: superclass typecheck marker */},
@@ -63755,7 +71693,8 @@ const classtable_elt_t VFT_ReduceAction386[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction386 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction386___action},
-  {(bigint) 2 /* 42: ReduceAction386 < ReduceAction386: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction386 < ReduceAction386: superclass init_table position */},
   {(bigint) parser___ReduceAction386___init},
 };
 /* 0: Pointer to the classtable */
@@ -63765,13 +71704,19 @@ val_t NEW_ReduceAction386(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction386;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction386___init() {
+val_t NEW_ReduceAction386_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction386();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction386_parser___ReduceAction386___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction386();
   parser___ReduceAction386___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction387[44] = {
+const classtable_elt_t VFT_ReduceAction387[45] = {
   {(bigint) 1223 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction387 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction387 < ReduceAction: superclass typecheck marker */},
@@ -63814,7 +71759,8 @@ const classtable_elt_t VFT_ReduceAction387[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction387 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction387___action},
-  {(bigint) 2 /* 42: ReduceAction387 < ReduceAction387: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction387 < ReduceAction387: superclass init_table position */},
   {(bigint) parser___ReduceAction387___init},
 };
 /* 0: Pointer to the classtable */
@@ -63824,13 +71770,19 @@ val_t NEW_ReduceAction387(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction387;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction387___init() {
+val_t NEW_ReduceAction387_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction387();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction387_parser___ReduceAction387___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction387();
   parser___ReduceAction387___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction388[44] = {
+const classtable_elt_t VFT_ReduceAction388[45] = {
   {(bigint) 1219 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction388 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction388 < ReduceAction: superclass typecheck marker */},
@@ -63873,7 +71825,8 @@ const classtable_elt_t VFT_ReduceAction388[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction388 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction388___action},
-  {(bigint) 2 /* 42: ReduceAction388 < ReduceAction388: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction388 < ReduceAction388: superclass init_table position */},
   {(bigint) parser___ReduceAction388___init},
 };
 /* 0: Pointer to the classtable */
@@ -63883,13 +71836,19 @@ val_t NEW_ReduceAction388(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction388;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction388___init() {
+val_t NEW_ReduceAction388_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction388();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction388_parser___ReduceAction388___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction388();
   parser___ReduceAction388___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction389[44] = {
+const classtable_elt_t VFT_ReduceAction389[45] = {
   {(bigint) 1215 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction389 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction389 < ReduceAction: superclass typecheck marker */},
@@ -63932,7 +71891,8 @@ const classtable_elt_t VFT_ReduceAction389[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction389 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction389___action},
-  {(bigint) 2 /* 42: ReduceAction389 < ReduceAction389: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction389 < ReduceAction389: superclass init_table position */},
   {(bigint) parser___ReduceAction389___init},
 };
 /* 0: Pointer to the classtable */
@@ -63942,13 +71902,19 @@ val_t NEW_ReduceAction389(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction389;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction389___init() {
+val_t NEW_ReduceAction389_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction389();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction389_parser___ReduceAction389___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction389();
   parser___ReduceAction389___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction390[44] = {
+const classtable_elt_t VFT_ReduceAction390[45] = {
   {(bigint) 1207 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction390 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction390 < ReduceAction: superclass typecheck marker */},
@@ -63991,7 +71957,8 @@ const classtable_elt_t VFT_ReduceAction390[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction390 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction390___action},
-  {(bigint) 2 /* 42: ReduceAction390 < ReduceAction390: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction390 < ReduceAction390: superclass init_table position */},
   {(bigint) parser___ReduceAction390___init},
 };
 /* 0: Pointer to the classtable */
@@ -64001,13 +71968,19 @@ val_t NEW_ReduceAction390(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction390;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction390___init() {
+val_t NEW_ReduceAction390_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction390();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction390_parser___ReduceAction390___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction390();
   parser___ReduceAction390___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction391[44] = {
+const classtable_elt_t VFT_ReduceAction391[45] = {
   {(bigint) 1203 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction391 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction391 < ReduceAction: superclass typecheck marker */},
@@ -64050,7 +72023,8 @@ const classtable_elt_t VFT_ReduceAction391[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction391 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction391___action},
-  {(bigint) 2 /* 42: ReduceAction391 < ReduceAction391: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction391 < ReduceAction391: superclass init_table position */},
   {(bigint) parser___ReduceAction391___init},
 };
 /* 0: Pointer to the classtable */
@@ -64060,13 +72034,19 @@ val_t NEW_ReduceAction391(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction391;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction391___init() {
+val_t NEW_ReduceAction391_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction391();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction391_parser___ReduceAction391___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction391();
   parser___ReduceAction391___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction392[44] = {
+const classtable_elt_t VFT_ReduceAction392[45] = {
   {(bigint) 1199 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction392 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction392 < ReduceAction: superclass typecheck marker */},
@@ -64109,7 +72089,8 @@ const classtable_elt_t VFT_ReduceAction392[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction392 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction392___action},
-  {(bigint) 2 /* 42: ReduceAction392 < ReduceAction392: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction392 < ReduceAction392: superclass init_table position */},
   {(bigint) parser___ReduceAction392___init},
 };
 /* 0: Pointer to the classtable */
@@ -64119,13 +72100,19 @@ val_t NEW_ReduceAction392(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction392;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction392___init() {
+val_t NEW_ReduceAction392_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction392();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction392_parser___ReduceAction392___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction392();
   parser___ReduceAction392___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction393[44] = {
+const classtable_elt_t VFT_ReduceAction393[45] = {
   {(bigint) 1195 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction393 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction393 < ReduceAction: superclass typecheck marker */},
@@ -64168,7 +72155,8 @@ const classtable_elt_t VFT_ReduceAction393[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction393 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction393___action},
-  {(bigint) 2 /* 42: ReduceAction393 < ReduceAction393: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction393 < ReduceAction393: superclass init_table position */},
   {(bigint) parser___ReduceAction393___init},
 };
 /* 0: Pointer to the classtable */
@@ -64178,13 +72166,19 @@ val_t NEW_ReduceAction393(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction393;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction393___init() {
+val_t NEW_ReduceAction393_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction393();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction393_parser___ReduceAction393___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction393();
   parser___ReduceAction393___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction394[44] = {
+const classtable_elt_t VFT_ReduceAction394[45] = {
   {(bigint) 1191 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction394 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction394 < ReduceAction: superclass typecheck marker */},
@@ -64227,7 +72221,8 @@ const classtable_elt_t VFT_ReduceAction394[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction394 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction394___action},
-  {(bigint) 2 /* 42: ReduceAction394 < ReduceAction394: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction394 < ReduceAction394: superclass init_table position */},
   {(bigint) parser___ReduceAction394___init},
 };
 /* 0: Pointer to the classtable */
@@ -64237,13 +72232,19 @@ val_t NEW_ReduceAction394(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction394;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction394___init() {
+val_t NEW_ReduceAction394_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction394();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction394_parser___ReduceAction394___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction394();
   parser___ReduceAction394___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction395[44] = {
+const classtable_elt_t VFT_ReduceAction395[45] = {
   {(bigint) 1187 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction395 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction395 < ReduceAction: superclass typecheck marker */},
@@ -64286,7 +72287,8 @@ const classtable_elt_t VFT_ReduceAction395[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction395 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction395___action},
-  {(bigint) 2 /* 42: ReduceAction395 < ReduceAction395: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction395 < ReduceAction395: superclass init_table position */},
   {(bigint) parser___ReduceAction395___init},
 };
 /* 0: Pointer to the classtable */
@@ -64296,13 +72298,19 @@ val_t NEW_ReduceAction395(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction395;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction395___init() {
+val_t NEW_ReduceAction395_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction395();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction395_parser___ReduceAction395___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction395();
   parser___ReduceAction395___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction396[44] = {
+const classtable_elt_t VFT_ReduceAction396[45] = {
   {(bigint) 1183 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction396 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction396 < ReduceAction: superclass typecheck marker */},
@@ -64345,7 +72353,8 @@ const classtable_elt_t VFT_ReduceAction396[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction396 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction396___action},
-  {(bigint) 2 /* 42: ReduceAction396 < ReduceAction396: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction396 < ReduceAction396: superclass init_table position */},
   {(bigint) parser___ReduceAction396___init},
 };
 /* 0: Pointer to the classtable */
@@ -64355,13 +72364,19 @@ val_t NEW_ReduceAction396(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction396;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction396___init() {
+val_t NEW_ReduceAction396_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction396();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction396_parser___ReduceAction396___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction396();
   parser___ReduceAction396___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction397[44] = {
+const classtable_elt_t VFT_ReduceAction397[45] = {
   {(bigint) 1179 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction397 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction397 < ReduceAction: superclass typecheck marker */},
@@ -64404,7 +72419,8 @@ const classtable_elt_t VFT_ReduceAction397[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction397 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction397___action},
-  {(bigint) 2 /* 42: ReduceAction397 < ReduceAction397: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction397 < ReduceAction397: superclass init_table position */},
   {(bigint) parser___ReduceAction397___init},
 };
 /* 0: Pointer to the classtable */
@@ -64414,13 +72430,19 @@ val_t NEW_ReduceAction397(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction397;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction397___init() {
+val_t NEW_ReduceAction397_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction397();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction397_parser___ReduceAction397___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction397();
   parser___ReduceAction397___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction398[44] = {
+const classtable_elt_t VFT_ReduceAction398[45] = {
   {(bigint) 1175 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction398 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction398 < ReduceAction: superclass typecheck marker */},
@@ -64463,7 +72485,8 @@ const classtable_elt_t VFT_ReduceAction398[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction398 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction398___action},
-  {(bigint) 2 /* 42: ReduceAction398 < ReduceAction398: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction398 < ReduceAction398: superclass init_table position */},
   {(bigint) parser___ReduceAction398___init},
 };
 /* 0: Pointer to the classtable */
@@ -64473,13 +72496,19 @@ val_t NEW_ReduceAction398(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction398;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction398___init() {
+val_t NEW_ReduceAction398_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction398();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction398_parser___ReduceAction398___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction398();
   parser___ReduceAction398___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction399[44] = {
+const classtable_elt_t VFT_ReduceAction399[45] = {
   {(bigint) 1171 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction399 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction399 < ReduceAction: superclass typecheck marker */},
@@ -64522,7 +72551,8 @@ const classtable_elt_t VFT_ReduceAction399[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction399 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction399___action},
-  {(bigint) 2 /* 42: ReduceAction399 < ReduceAction399: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction399 < ReduceAction399: superclass init_table position */},
   {(bigint) parser___ReduceAction399___init},
 };
 /* 0: Pointer to the classtable */
@@ -64532,13 +72562,19 @@ val_t NEW_ReduceAction399(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction399;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction399___init() {
+val_t NEW_ReduceAction399_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction399();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction399_parser___ReduceAction399___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction399();
   parser___ReduceAction399___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction400[44] = {
+const classtable_elt_t VFT_ReduceAction400[45] = {
   {(bigint) 1159 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction400 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction400 < ReduceAction: superclass typecheck marker */},
@@ -64581,7 +72617,8 @@ const classtable_elt_t VFT_ReduceAction400[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction400 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction400___action},
-  {(bigint) 2 /* 42: ReduceAction400 < ReduceAction400: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction400 < ReduceAction400: superclass init_table position */},
   {(bigint) parser___ReduceAction400___init},
 };
 /* 0: Pointer to the classtable */
@@ -64591,13 +72628,19 @@ val_t NEW_ReduceAction400(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction400;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction400___init() {
+val_t NEW_ReduceAction400_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction400();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction400_parser___ReduceAction400___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction400();
   parser___ReduceAction400___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction401[44] = {
+const classtable_elt_t VFT_ReduceAction401[45] = {
   {(bigint) 1155 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction401 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction401 < ReduceAction: superclass typecheck marker */},
@@ -64640,7 +72683,8 @@ const classtable_elt_t VFT_ReduceAction401[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction401 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction401___action},
-  {(bigint) 2 /* 42: ReduceAction401 < ReduceAction401: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction401 < ReduceAction401: superclass init_table position */},
   {(bigint) parser___ReduceAction401___init},
 };
 /* 0: Pointer to the classtable */
@@ -64650,13 +72694,19 @@ val_t NEW_ReduceAction401(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction401;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction401___init() {
+val_t NEW_ReduceAction401_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction401();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction401_parser___ReduceAction401___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction401();
   parser___ReduceAction401___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction402[44] = {
+const classtable_elt_t VFT_ReduceAction402[45] = {
   {(bigint) 1151 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction402 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction402 < ReduceAction: superclass typecheck marker */},
@@ -64699,7 +72749,8 @@ const classtable_elt_t VFT_ReduceAction402[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction402 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction402___action},
-  {(bigint) 2 /* 42: ReduceAction402 < ReduceAction402: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction402 < ReduceAction402: superclass init_table position */},
   {(bigint) parser___ReduceAction402___init},
 };
 /* 0: Pointer to the classtable */
@@ -64709,13 +72760,19 @@ val_t NEW_ReduceAction402(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction402;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction402___init() {
+val_t NEW_ReduceAction402_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction402();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction402_parser___ReduceAction402___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction402();
   parser___ReduceAction402___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction403[44] = {
+const classtable_elt_t VFT_ReduceAction403[45] = {
   {(bigint) 1147 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction403 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction403 < ReduceAction: superclass typecheck marker */},
@@ -64758,7 +72815,8 @@ const classtable_elt_t VFT_ReduceAction403[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction403 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction403___action},
-  {(bigint) 2 /* 42: ReduceAction403 < ReduceAction403: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction403 < ReduceAction403: superclass init_table position */},
   {(bigint) parser___ReduceAction403___init},
 };
 /* 0: Pointer to the classtable */
@@ -64768,13 +72826,19 @@ val_t NEW_ReduceAction403(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction403;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction403___init() {
+val_t NEW_ReduceAction403_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction403();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction403_parser___ReduceAction403___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction403();
   parser___ReduceAction403___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction404[44] = {
+const classtable_elt_t VFT_ReduceAction404[45] = {
   {(bigint) 1143 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction404 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction404 < ReduceAction: superclass typecheck marker */},
@@ -64817,7 +72881,8 @@ const classtable_elt_t VFT_ReduceAction404[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction404 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction404___action},
-  {(bigint) 2 /* 42: ReduceAction404 < ReduceAction404: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction404 < ReduceAction404: superclass init_table position */},
   {(bigint) parser___ReduceAction404___init},
 };
 /* 0: Pointer to the classtable */
@@ -64827,13 +72892,19 @@ val_t NEW_ReduceAction404(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction404;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction404___init() {
+val_t NEW_ReduceAction404_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction404();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction404_parser___ReduceAction404___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction404();
   parser___ReduceAction404___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction405[44] = {
+const classtable_elt_t VFT_ReduceAction405[45] = {
   {(bigint) 1139 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction405 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction405 < ReduceAction: superclass typecheck marker */},
@@ -64876,7 +72947,8 @@ const classtable_elt_t VFT_ReduceAction405[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction405 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction405___action},
-  {(bigint) 2 /* 42: ReduceAction405 < ReduceAction405: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction405 < ReduceAction405: superclass init_table position */},
   {(bigint) parser___ReduceAction405___init},
 };
 /* 0: Pointer to the classtable */
@@ -64886,13 +72958,19 @@ val_t NEW_ReduceAction405(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction405;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction405___init() {
+val_t NEW_ReduceAction405_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction405();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction405_parser___ReduceAction405___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction405();
   parser___ReduceAction405___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction406[44] = {
+const classtable_elt_t VFT_ReduceAction406[45] = {
   {(bigint) 1135 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction406 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction406 < ReduceAction: superclass typecheck marker */},
@@ -64935,7 +73013,8 @@ const classtable_elt_t VFT_ReduceAction406[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction406 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction406___action},
-  {(bigint) 2 /* 42: ReduceAction406 < ReduceAction406: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction406 < ReduceAction406: superclass init_table position */},
   {(bigint) parser___ReduceAction406___init},
 };
 /* 0: Pointer to the classtable */
@@ -64945,13 +73024,19 @@ val_t NEW_ReduceAction406(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction406;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction406___init() {
+val_t NEW_ReduceAction406_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction406();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction406_parser___ReduceAction406___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction406();
   parser___ReduceAction406___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction407[44] = {
+const classtable_elt_t VFT_ReduceAction407[45] = {
   {(bigint) 1131 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction407 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction407 < ReduceAction: superclass typecheck marker */},
@@ -64994,7 +73079,8 @@ const classtable_elt_t VFT_ReduceAction407[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction407 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction407___action},
-  {(bigint) 2 /* 42: ReduceAction407 < ReduceAction407: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction407 < ReduceAction407: superclass init_table position */},
   {(bigint) parser___ReduceAction407___init},
 };
 /* 0: Pointer to the classtable */
@@ -65004,13 +73090,19 @@ val_t NEW_ReduceAction407(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction407;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction407___init() {
+val_t NEW_ReduceAction407_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction407();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction407_parser___ReduceAction407___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction407();
   parser___ReduceAction407___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction408[44] = {
+const classtable_elt_t VFT_ReduceAction408[45] = {
   {(bigint) 1127 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction408 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction408 < ReduceAction: superclass typecheck marker */},
@@ -65053,7 +73145,8 @@ const classtable_elt_t VFT_ReduceAction408[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction408 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction408___action},
-  {(bigint) 2 /* 42: ReduceAction408 < ReduceAction408: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction408 < ReduceAction408: superclass init_table position */},
   {(bigint) parser___ReduceAction408___init},
 };
 /* 0: Pointer to the classtable */
@@ -65063,13 +73156,19 @@ val_t NEW_ReduceAction408(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction408;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction408___init() {
+val_t NEW_ReduceAction408_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction408();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction408_parser___ReduceAction408___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction408();
   parser___ReduceAction408___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction409[44] = {
+const classtable_elt_t VFT_ReduceAction409[45] = {
   {(bigint) 1123 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction409 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction409 < ReduceAction: superclass typecheck marker */},
@@ -65112,7 +73211,8 @@ const classtable_elt_t VFT_ReduceAction409[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction409 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction409___action},
-  {(bigint) 2 /* 42: ReduceAction409 < ReduceAction409: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction409 < ReduceAction409: superclass init_table position */},
   {(bigint) parser___ReduceAction409___init},
 };
 /* 0: Pointer to the classtable */
@@ -65122,13 +73222,19 @@ val_t NEW_ReduceAction409(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction409;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction409___init() {
+val_t NEW_ReduceAction409_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction409();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction409_parser___ReduceAction409___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction409();
   parser___ReduceAction409___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction410[44] = {
+const classtable_elt_t VFT_ReduceAction410[45] = {
   {(bigint) 1115 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction410 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction410 < ReduceAction: superclass typecheck marker */},
@@ -65171,7 +73277,8 @@ const classtable_elt_t VFT_ReduceAction410[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction410 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction410___action},
-  {(bigint) 2 /* 42: ReduceAction410 < ReduceAction410: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction410 < ReduceAction410: superclass init_table position */},
   {(bigint) parser___ReduceAction410___init},
 };
 /* 0: Pointer to the classtable */
@@ -65181,13 +73288,19 @@ val_t NEW_ReduceAction410(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction410;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction410___init() {
+val_t NEW_ReduceAction410_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction410();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction410_parser___ReduceAction410___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction410();
   parser___ReduceAction410___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction411[44] = {
+const classtable_elt_t VFT_ReduceAction411[45] = {
   {(bigint) 1111 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction411 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction411 < ReduceAction: superclass typecheck marker */},
@@ -65230,7 +73343,8 @@ const classtable_elt_t VFT_ReduceAction411[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction411 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction411___action},
-  {(bigint) 2 /* 42: ReduceAction411 < ReduceAction411: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction411 < ReduceAction411: superclass init_table position */},
   {(bigint) parser___ReduceAction411___init},
 };
 /* 0: Pointer to the classtable */
@@ -65240,13 +73354,19 @@ val_t NEW_ReduceAction411(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction411;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction411___init() {
+val_t NEW_ReduceAction411_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction411();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction411_parser___ReduceAction411___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction411();
   parser___ReduceAction411___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction412[44] = {
+const classtable_elt_t VFT_ReduceAction412[45] = {
   {(bigint) 1107 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction412 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction412 < ReduceAction: superclass typecheck marker */},
@@ -65289,7 +73409,8 @@ const classtable_elt_t VFT_ReduceAction412[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction412 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction412___action},
-  {(bigint) 2 /* 42: ReduceAction412 < ReduceAction412: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction412 < ReduceAction412: superclass init_table position */},
   {(bigint) parser___ReduceAction412___init},
 };
 /* 0: Pointer to the classtable */
@@ -65299,13 +73420,19 @@ val_t NEW_ReduceAction412(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction412;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction412___init() {
+val_t NEW_ReduceAction412_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction412();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction412_parser___ReduceAction412___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction412();
   parser___ReduceAction412___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction413[44] = {
+const classtable_elt_t VFT_ReduceAction413[45] = {
   {(bigint) 1103 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction413 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction413 < ReduceAction: superclass typecheck marker */},
@@ -65348,7 +73475,8 @@ const classtable_elt_t VFT_ReduceAction413[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction413 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction413___action},
-  {(bigint) 2 /* 42: ReduceAction413 < ReduceAction413: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction413 < ReduceAction413: superclass init_table position */},
   {(bigint) parser___ReduceAction413___init},
 };
 /* 0: Pointer to the classtable */
@@ -65358,13 +73486,19 @@ val_t NEW_ReduceAction413(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction413;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction413___init() {
+val_t NEW_ReduceAction413_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction413();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction413_parser___ReduceAction413___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction413();
   parser___ReduceAction413___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction414[44] = {
+const classtable_elt_t VFT_ReduceAction414[45] = {
   {(bigint) 1099 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction414 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction414 < ReduceAction: superclass typecheck marker */},
@@ -65407,7 +73541,8 @@ const classtable_elt_t VFT_ReduceAction414[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction414 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction414___action},
-  {(bigint) 2 /* 42: ReduceAction414 < ReduceAction414: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction414 < ReduceAction414: superclass init_table position */},
   {(bigint) parser___ReduceAction414___init},
 };
 /* 0: Pointer to the classtable */
@@ -65417,13 +73552,19 @@ val_t NEW_ReduceAction414(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction414;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction414___init() {
+val_t NEW_ReduceAction414_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction414();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction414_parser___ReduceAction414___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction414();
   parser___ReduceAction414___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction415[44] = {
+const classtable_elt_t VFT_ReduceAction415[45] = {
   {(bigint) 1095 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction415 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction415 < ReduceAction: superclass typecheck marker */},
@@ -65466,7 +73607,8 @@ const classtable_elt_t VFT_ReduceAction415[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction415 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction415___action},
-  {(bigint) 2 /* 42: ReduceAction415 < ReduceAction415: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction415 < ReduceAction415: superclass init_table position */},
   {(bigint) parser___ReduceAction415___init},
 };
 /* 0: Pointer to the classtable */
@@ -65476,13 +73618,19 @@ val_t NEW_ReduceAction415(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction415;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction415___init() {
+val_t NEW_ReduceAction415_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction415();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction415_parser___ReduceAction415___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction415();
   parser___ReduceAction415___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction416[44] = {
+const classtable_elt_t VFT_ReduceAction416[45] = {
   {(bigint) 1091 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction416 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction416 < ReduceAction: superclass typecheck marker */},
@@ -65525,7 +73673,8 @@ const classtable_elt_t VFT_ReduceAction416[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction416 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction416___action},
-  {(bigint) 2 /* 42: ReduceAction416 < ReduceAction416: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction416 < ReduceAction416: superclass init_table position */},
   {(bigint) parser___ReduceAction416___init},
 };
 /* 0: Pointer to the classtable */
@@ -65535,13 +73684,19 @@ val_t NEW_ReduceAction416(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction416;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction416___init() {
+val_t NEW_ReduceAction416_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction416();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction416_parser___ReduceAction416___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction416();
   parser___ReduceAction416___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction417[44] = {
+const classtable_elt_t VFT_ReduceAction417[45] = {
   {(bigint) 1087 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction417 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction417 < ReduceAction: superclass typecheck marker */},
@@ -65584,7 +73739,8 @@ const classtable_elt_t VFT_ReduceAction417[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction417 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction417___action},
-  {(bigint) 2 /* 42: ReduceAction417 < ReduceAction417: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction417 < ReduceAction417: superclass init_table position */},
   {(bigint) parser___ReduceAction417___init},
 };
 /* 0: Pointer to the classtable */
@@ -65594,13 +73750,19 @@ val_t NEW_ReduceAction417(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction417;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction417___init() {
+val_t NEW_ReduceAction417_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction417();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction417_parser___ReduceAction417___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction417();
   parser___ReduceAction417___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction418[44] = {
+const classtable_elt_t VFT_ReduceAction418[45] = {
   {(bigint) 1083 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction418 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction418 < ReduceAction: superclass typecheck marker */},
@@ -65643,7 +73805,8 @@ const classtable_elt_t VFT_ReduceAction418[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction418 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction418___action},
-  {(bigint) 2 /* 42: ReduceAction418 < ReduceAction418: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction418 < ReduceAction418: superclass init_table position */},
   {(bigint) parser___ReduceAction418___init},
 };
 /* 0: Pointer to the classtable */
@@ -65653,13 +73816,19 @@ val_t NEW_ReduceAction418(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction418;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction418___init() {
+val_t NEW_ReduceAction418_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction418();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction418_parser___ReduceAction418___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction418();
   parser___ReduceAction418___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction419[44] = {
+const classtable_elt_t VFT_ReduceAction419[45] = {
   {(bigint) 1079 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction419 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction419 < ReduceAction: superclass typecheck marker */},
@@ -65702,7 +73871,8 @@ const classtable_elt_t VFT_ReduceAction419[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction419 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction419___action},
-  {(bigint) 2 /* 42: ReduceAction419 < ReduceAction419: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction419 < ReduceAction419: superclass init_table position */},
   {(bigint) parser___ReduceAction419___init},
 };
 /* 0: Pointer to the classtable */
@@ -65712,13 +73882,19 @@ val_t NEW_ReduceAction419(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction419;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction419___init() {
+val_t NEW_ReduceAction419_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction419();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction419_parser___ReduceAction419___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction419();
   parser___ReduceAction419___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction420[44] = {
+const classtable_elt_t VFT_ReduceAction420[45] = {
   {(bigint) 1071 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction420 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction420 < ReduceAction: superclass typecheck marker */},
@@ -65761,7 +73937,8 @@ const classtable_elt_t VFT_ReduceAction420[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction420 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction420___action},
-  {(bigint) 2 /* 42: ReduceAction420 < ReduceAction420: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction420 < ReduceAction420: superclass init_table position */},
   {(bigint) parser___ReduceAction420___init},
 };
 /* 0: Pointer to the classtable */
@@ -65771,13 +73948,19 @@ val_t NEW_ReduceAction420(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction420;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction420___init() {
+val_t NEW_ReduceAction420_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction420();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction420_parser___ReduceAction420___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction420();
   parser___ReduceAction420___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction421[44] = {
+const classtable_elt_t VFT_ReduceAction421[45] = {
   {(bigint) 1067 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction421 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction421 < ReduceAction: superclass typecheck marker */},
@@ -65820,7 +74003,8 @@ const classtable_elt_t VFT_ReduceAction421[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction421 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction421___action},
-  {(bigint) 2 /* 42: ReduceAction421 < ReduceAction421: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction421 < ReduceAction421: superclass init_table position */},
   {(bigint) parser___ReduceAction421___init},
 };
 /* 0: Pointer to the classtable */
@@ -65830,13 +74014,19 @@ val_t NEW_ReduceAction421(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction421;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction421___init() {
+val_t NEW_ReduceAction421_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction421();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction421_parser___ReduceAction421___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction421();
   parser___ReduceAction421___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction422[44] = {
+const classtable_elt_t VFT_ReduceAction422[45] = {
   {(bigint) 1063 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction422 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction422 < ReduceAction: superclass typecheck marker */},
@@ -65879,7 +74069,8 @@ const classtable_elt_t VFT_ReduceAction422[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction422 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction422___action},
-  {(bigint) 2 /* 42: ReduceAction422 < ReduceAction422: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction422 < ReduceAction422: superclass init_table position */},
   {(bigint) parser___ReduceAction422___init},
 };
 /* 0: Pointer to the classtable */
@@ -65889,13 +74080,19 @@ val_t NEW_ReduceAction422(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction422;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction422___init() {
+val_t NEW_ReduceAction422_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction422();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction422_parser___ReduceAction422___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction422();
   parser___ReduceAction422___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction423[44] = {
+const classtable_elt_t VFT_ReduceAction423[45] = {
   {(bigint) 1059 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction423 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction423 < ReduceAction: superclass typecheck marker */},
@@ -65938,7 +74135,8 @@ const classtable_elt_t VFT_ReduceAction423[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction423 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction423___action},
-  {(bigint) 2 /* 42: ReduceAction423 < ReduceAction423: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction423 < ReduceAction423: superclass init_table position */},
   {(bigint) parser___ReduceAction423___init},
 };
 /* 0: Pointer to the classtable */
@@ -65948,13 +74146,19 @@ val_t NEW_ReduceAction423(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction423;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction423___init() {
+val_t NEW_ReduceAction423_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction423();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction423_parser___ReduceAction423___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction423();
   parser___ReduceAction423___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction424[44] = {
+const classtable_elt_t VFT_ReduceAction424[45] = {
   {(bigint) 1055 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction424 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction424 < ReduceAction: superclass typecheck marker */},
@@ -65997,7 +74201,8 @@ const classtable_elt_t VFT_ReduceAction424[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction424 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction424___action},
-  {(bigint) 2 /* 42: ReduceAction424 < ReduceAction424: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction424 < ReduceAction424: superclass init_table position */},
   {(bigint) parser___ReduceAction424___init},
 };
 /* 0: Pointer to the classtable */
@@ -66007,13 +74212,19 @@ val_t NEW_ReduceAction424(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction424;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction424___init() {
+val_t NEW_ReduceAction424_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction424();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction424_parser___ReduceAction424___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction424();
   parser___ReduceAction424___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction425[44] = {
+const classtable_elt_t VFT_ReduceAction425[45] = {
   {(bigint) 1051 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction425 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction425 < ReduceAction: superclass typecheck marker */},
@@ -66056,7 +74267,8 @@ const classtable_elt_t VFT_ReduceAction425[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction425 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction425___action},
-  {(bigint) 2 /* 42: ReduceAction425 < ReduceAction425: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction425 < ReduceAction425: superclass init_table position */},
   {(bigint) parser___ReduceAction425___init},
 };
 /* 0: Pointer to the classtable */
@@ -66066,13 +74278,19 @@ val_t NEW_ReduceAction425(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction425;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction425___init() {
+val_t NEW_ReduceAction425_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction425();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction425_parser___ReduceAction425___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction425();
   parser___ReduceAction425___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction426[44] = {
+const classtable_elt_t VFT_ReduceAction426[45] = {
   {(bigint) 1047 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction426 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction426 < ReduceAction: superclass typecheck marker */},
@@ -66115,7 +74333,8 @@ const classtable_elt_t VFT_ReduceAction426[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction426 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction426___action},
-  {(bigint) 2 /* 42: ReduceAction426 < ReduceAction426: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction426 < ReduceAction426: superclass init_table position */},
   {(bigint) parser___ReduceAction426___init},
 };
 /* 0: Pointer to the classtable */
@@ -66125,13 +74344,19 @@ val_t NEW_ReduceAction426(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction426;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction426___init() {
+val_t NEW_ReduceAction426_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction426();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction426_parser___ReduceAction426___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction426();
   parser___ReduceAction426___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction427[44] = {
+const classtable_elt_t VFT_ReduceAction427[45] = {
   {(bigint) 1043 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction427 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction427 < ReduceAction: superclass typecheck marker */},
@@ -66174,7 +74399,8 @@ const classtable_elt_t VFT_ReduceAction427[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction427 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction427___action},
-  {(bigint) 2 /* 42: ReduceAction427 < ReduceAction427: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction427 < ReduceAction427: superclass init_table position */},
   {(bigint) parser___ReduceAction427___init},
 };
 /* 0: Pointer to the classtable */
@@ -66184,13 +74410,19 @@ val_t NEW_ReduceAction427(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction427;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction427___init() {
+val_t NEW_ReduceAction427_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction427();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction427_parser___ReduceAction427___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction427();
   parser___ReduceAction427___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction428[44] = {
+const classtable_elt_t VFT_ReduceAction428[45] = {
   {(bigint) 1039 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction428 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction428 < ReduceAction: superclass typecheck marker */},
@@ -66233,7 +74465,8 @@ const classtable_elt_t VFT_ReduceAction428[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction428 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction428___action},
-  {(bigint) 2 /* 42: ReduceAction428 < ReduceAction428: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction428 < ReduceAction428: superclass init_table position */},
   {(bigint) parser___ReduceAction428___init},
 };
 /* 0: Pointer to the classtable */
@@ -66243,13 +74476,19 @@ val_t NEW_ReduceAction428(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction428;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction428___init() {
+val_t NEW_ReduceAction428_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction428();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction428_parser___ReduceAction428___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction428();
   parser___ReduceAction428___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction429[44] = {
+const classtable_elt_t VFT_ReduceAction429[45] = {
   {(bigint) 1035 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction429 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction429 < ReduceAction: superclass typecheck marker */},
@@ -66292,7 +74531,8 @@ const classtable_elt_t VFT_ReduceAction429[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction429 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction429___action},
-  {(bigint) 2 /* 42: ReduceAction429 < ReduceAction429: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction429 < ReduceAction429: superclass init_table position */},
   {(bigint) parser___ReduceAction429___init},
 };
 /* 0: Pointer to the classtable */
@@ -66302,13 +74542,19 @@ val_t NEW_ReduceAction429(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction429;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction429___init() {
+val_t NEW_ReduceAction429_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction429();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction429_parser___ReduceAction429___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction429();
   parser___ReduceAction429___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction430[44] = {
+const classtable_elt_t VFT_ReduceAction430[45] = {
   {(bigint) 1027 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction430 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction430 < ReduceAction: superclass typecheck marker */},
@@ -66351,7 +74597,8 @@ const classtable_elt_t VFT_ReduceAction430[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction430 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction430___action},
-  {(bigint) 2 /* 42: ReduceAction430 < ReduceAction430: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction430 < ReduceAction430: superclass init_table position */},
   {(bigint) parser___ReduceAction430___init},
 };
 /* 0: Pointer to the classtable */
@@ -66361,13 +74608,19 @@ val_t NEW_ReduceAction430(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction430;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction430___init() {
+val_t NEW_ReduceAction430_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction430();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction430_parser___ReduceAction430___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction430();
   parser___ReduceAction430___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction431[44] = {
+const classtable_elt_t VFT_ReduceAction431[45] = {
   {(bigint) 1023 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction431 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction431 < ReduceAction: superclass typecheck marker */},
@@ -66410,7 +74663,8 @@ const classtable_elt_t VFT_ReduceAction431[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction431 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction431___action},
-  {(bigint) 2 /* 42: ReduceAction431 < ReduceAction431: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction431 < ReduceAction431: superclass init_table position */},
   {(bigint) parser___ReduceAction431___init},
 };
 /* 0: Pointer to the classtable */
@@ -66420,13 +74674,19 @@ val_t NEW_ReduceAction431(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction431;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction431___init() {
+val_t NEW_ReduceAction431_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction431();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction431_parser___ReduceAction431___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction431();
   parser___ReduceAction431___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction432[44] = {
+const classtable_elt_t VFT_ReduceAction432[45] = {
   {(bigint) 1019 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction432 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction432 < ReduceAction: superclass typecheck marker */},
@@ -66469,7 +74729,8 @@ const classtable_elt_t VFT_ReduceAction432[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction432 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction432___action},
-  {(bigint) 2 /* 42: ReduceAction432 < ReduceAction432: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction432 < ReduceAction432: superclass init_table position */},
   {(bigint) parser___ReduceAction432___init},
 };
 /* 0: Pointer to the classtable */
@@ -66479,13 +74740,19 @@ val_t NEW_ReduceAction432(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction432;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction432___init() {
+val_t NEW_ReduceAction432_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction432();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction432_parser___ReduceAction432___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction432();
   parser___ReduceAction432___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction433[44] = {
+const classtable_elt_t VFT_ReduceAction433[45] = {
   {(bigint) 1015 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction433 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction433 < ReduceAction: superclass typecheck marker */},
@@ -66528,7 +74795,8 @@ const classtable_elt_t VFT_ReduceAction433[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction433 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction433___action},
-  {(bigint) 2 /* 42: ReduceAction433 < ReduceAction433: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction433 < ReduceAction433: superclass init_table position */},
   {(bigint) parser___ReduceAction433___init},
 };
 /* 0: Pointer to the classtable */
@@ -66538,13 +74806,19 @@ val_t NEW_ReduceAction433(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction433;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction433___init() {
+val_t NEW_ReduceAction433_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction433();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction433_parser___ReduceAction433___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction433();
   parser___ReduceAction433___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction434[44] = {
+const classtable_elt_t VFT_ReduceAction434[45] = {
   {(bigint) 1011 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction434 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction434 < ReduceAction: superclass typecheck marker */},
@@ -66587,7 +74861,8 @@ const classtable_elt_t VFT_ReduceAction434[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction434 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction434___action},
-  {(bigint) 2 /* 42: ReduceAction434 < ReduceAction434: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction434 < ReduceAction434: superclass init_table position */},
   {(bigint) parser___ReduceAction434___init},
 };
 /* 0: Pointer to the classtable */
@@ -66597,13 +74872,19 @@ val_t NEW_ReduceAction434(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction434;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction434___init() {
+val_t NEW_ReduceAction434_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction434();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction434_parser___ReduceAction434___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction434();
   parser___ReduceAction434___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction435[44] = {
+const classtable_elt_t VFT_ReduceAction435[45] = {
   {(bigint) 1007 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction435 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction435 < ReduceAction: superclass typecheck marker */},
@@ -66646,7 +74927,8 @@ const classtable_elt_t VFT_ReduceAction435[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction435 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction435___action},
-  {(bigint) 2 /* 42: ReduceAction435 < ReduceAction435: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction435 < ReduceAction435: superclass init_table position */},
   {(bigint) parser___ReduceAction435___init},
 };
 /* 0: Pointer to the classtable */
@@ -66656,13 +74938,19 @@ val_t NEW_ReduceAction435(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction435;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction435___init() {
+val_t NEW_ReduceAction435_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction435();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction435_parser___ReduceAction435___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction435();
   parser___ReduceAction435___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction436[44] = {
+const classtable_elt_t VFT_ReduceAction436[45] = {
   {(bigint) 1003 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction436 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction436 < ReduceAction: superclass typecheck marker */},
@@ -66705,7 +74993,8 @@ const classtable_elt_t VFT_ReduceAction436[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction436 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction436___action},
-  {(bigint) 2 /* 42: ReduceAction436 < ReduceAction436: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction436 < ReduceAction436: superclass init_table position */},
   {(bigint) parser___ReduceAction436___init},
 };
 /* 0: Pointer to the classtable */
@@ -66715,13 +75004,19 @@ val_t NEW_ReduceAction436(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction436;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction436___init() {
+val_t NEW_ReduceAction436_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction436();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction436_parser___ReduceAction436___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction436();
   parser___ReduceAction436___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction437[44] = {
+const classtable_elt_t VFT_ReduceAction437[45] = {
   {(bigint) 999 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction437 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction437 < ReduceAction: superclass typecheck marker */},
@@ -66764,7 +75059,8 @@ const classtable_elt_t VFT_ReduceAction437[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction437 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction437___action},
-  {(bigint) 2 /* 42: ReduceAction437 < ReduceAction437: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction437 < ReduceAction437: superclass init_table position */},
   {(bigint) parser___ReduceAction437___init},
 };
 /* 0: Pointer to the classtable */
@@ -66774,13 +75070,19 @@ val_t NEW_ReduceAction437(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction437;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction437___init() {
+val_t NEW_ReduceAction437_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction437();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction437_parser___ReduceAction437___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction437();
   parser___ReduceAction437___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction438[44] = {
+const classtable_elt_t VFT_ReduceAction438[45] = {
   {(bigint) 995 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction438 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction438 < ReduceAction: superclass typecheck marker */},
@@ -66823,7 +75125,8 @@ const classtable_elt_t VFT_ReduceAction438[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction438 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction438___action},
-  {(bigint) 2 /* 42: ReduceAction438 < ReduceAction438: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction438 < ReduceAction438: superclass init_table position */},
   {(bigint) parser___ReduceAction438___init},
 };
 /* 0: Pointer to the classtable */
@@ -66833,13 +75136,19 @@ val_t NEW_ReduceAction438(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction438;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction438___init() {
+val_t NEW_ReduceAction438_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction438();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction438_parser___ReduceAction438___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction438();
   parser___ReduceAction438___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction439[44] = {
+const classtable_elt_t VFT_ReduceAction439[45] = {
   {(bigint) 991 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction439 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction439 < ReduceAction: superclass typecheck marker */},
@@ -66882,7 +75191,8 @@ const classtable_elt_t VFT_ReduceAction439[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction439 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction439___action},
-  {(bigint) 2 /* 42: ReduceAction439 < ReduceAction439: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction439 < ReduceAction439: superclass init_table position */},
   {(bigint) parser___ReduceAction439___init},
 };
 /* 0: Pointer to the classtable */
@@ -66892,13 +75202,19 @@ val_t NEW_ReduceAction439(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction439;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction439___init() {
+val_t NEW_ReduceAction439_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction439();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction439_parser___ReduceAction439___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction439();
   parser___ReduceAction439___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction440[44] = {
+const classtable_elt_t VFT_ReduceAction440[45] = {
   {(bigint) 983 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction440 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction440 < ReduceAction: superclass typecheck marker */},
@@ -66941,7 +75257,8 @@ const classtable_elt_t VFT_ReduceAction440[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction440 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction440___action},
-  {(bigint) 2 /* 42: ReduceAction440 < ReduceAction440: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction440 < ReduceAction440: superclass init_table position */},
   {(bigint) parser___ReduceAction440___init},
 };
 /* 0: Pointer to the classtable */
@@ -66951,13 +75268,19 @@ val_t NEW_ReduceAction440(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction440;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction440___init() {
+val_t NEW_ReduceAction440_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction440();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction440_parser___ReduceAction440___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction440();
   parser___ReduceAction440___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction441[44] = {
+const classtable_elt_t VFT_ReduceAction441[45] = {
   {(bigint) 979 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction441 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction441 < ReduceAction: superclass typecheck marker */},
@@ -67000,7 +75323,8 @@ const classtable_elt_t VFT_ReduceAction441[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction441 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction441___action},
-  {(bigint) 2 /* 42: ReduceAction441 < ReduceAction441: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction441 < ReduceAction441: superclass init_table position */},
   {(bigint) parser___ReduceAction441___init},
 };
 /* 0: Pointer to the classtable */
@@ -67010,13 +75334,19 @@ val_t NEW_ReduceAction441(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction441;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction441___init() {
+val_t NEW_ReduceAction441_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction441();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction441_parser___ReduceAction441___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction441();
   parser___ReduceAction441___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction442[44] = {
+const classtable_elt_t VFT_ReduceAction442[45] = {
   {(bigint) 975 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction442 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction442 < ReduceAction: superclass typecheck marker */},
@@ -67059,7 +75389,8 @@ const classtable_elt_t VFT_ReduceAction442[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction442 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction442___action},
-  {(bigint) 2 /* 42: ReduceAction442 < ReduceAction442: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction442 < ReduceAction442: superclass init_table position */},
   {(bigint) parser___ReduceAction442___init},
 };
 /* 0: Pointer to the classtable */
@@ -67069,13 +75400,19 @@ val_t NEW_ReduceAction442(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction442;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction442___init() {
+val_t NEW_ReduceAction442_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction442();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction442_parser___ReduceAction442___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction442();
   parser___ReduceAction442___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction443[44] = {
+const classtable_elt_t VFT_ReduceAction443[45] = {
   {(bigint) 971 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction443 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction443 < ReduceAction: superclass typecheck marker */},
@@ -67118,7 +75455,8 @@ const classtable_elt_t VFT_ReduceAction443[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction443 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction443___action},
-  {(bigint) 2 /* 42: ReduceAction443 < ReduceAction443: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction443 < ReduceAction443: superclass init_table position */},
   {(bigint) parser___ReduceAction443___init},
 };
 /* 0: Pointer to the classtable */
@@ -67128,13 +75466,19 @@ val_t NEW_ReduceAction443(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction443;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction443___init() {
+val_t NEW_ReduceAction443_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction443();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction443_parser___ReduceAction443___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction443();
   parser___ReduceAction443___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction444[44] = {
+const classtable_elt_t VFT_ReduceAction444[45] = {
   {(bigint) 967 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction444 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction444 < ReduceAction: superclass typecheck marker */},
@@ -67177,7 +75521,8 @@ const classtable_elt_t VFT_ReduceAction444[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction444 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction444___action},
-  {(bigint) 2 /* 42: ReduceAction444 < ReduceAction444: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction444 < ReduceAction444: superclass init_table position */},
   {(bigint) parser___ReduceAction444___init},
 };
 /* 0: Pointer to the classtable */
@@ -67187,13 +75532,19 @@ val_t NEW_ReduceAction444(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction444;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction444___init() {
+val_t NEW_ReduceAction444_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction444();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction444_parser___ReduceAction444___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction444();
   parser___ReduceAction444___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction445[44] = {
+const classtable_elt_t VFT_ReduceAction445[45] = {
   {(bigint) 963 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction445 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction445 < ReduceAction: superclass typecheck marker */},
@@ -67236,7 +75587,8 @@ const classtable_elt_t VFT_ReduceAction445[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction445 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction445___action},
-  {(bigint) 2 /* 42: ReduceAction445 < ReduceAction445: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction445 < ReduceAction445: superclass init_table position */},
   {(bigint) parser___ReduceAction445___init},
 };
 /* 0: Pointer to the classtable */
@@ -67246,13 +75598,19 @@ val_t NEW_ReduceAction445(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction445;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction445___init() {
+val_t NEW_ReduceAction445_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction445();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction445_parser___ReduceAction445___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction445();
   parser___ReduceAction445___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction446[44] = {
+const classtable_elt_t VFT_ReduceAction446[45] = {
   {(bigint) 959 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction446 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction446 < ReduceAction: superclass typecheck marker */},
@@ -67295,7 +75653,8 @@ const classtable_elt_t VFT_ReduceAction446[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction446 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction446___action},
-  {(bigint) 2 /* 42: ReduceAction446 < ReduceAction446: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction446 < ReduceAction446: superclass init_table position */},
   {(bigint) parser___ReduceAction446___init},
 };
 /* 0: Pointer to the classtable */
@@ -67305,13 +75664,19 @@ val_t NEW_ReduceAction446(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction446;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction446___init() {
+val_t NEW_ReduceAction446_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction446();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction446_parser___ReduceAction446___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction446();
   parser___ReduceAction446___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction447[44] = {
+const classtable_elt_t VFT_ReduceAction447[45] = {
   {(bigint) 955 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction447 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction447 < ReduceAction: superclass typecheck marker */},
@@ -67354,7 +75719,8 @@ const classtable_elt_t VFT_ReduceAction447[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction447 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction447___action},
-  {(bigint) 2 /* 42: ReduceAction447 < ReduceAction447: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction447 < ReduceAction447: superclass init_table position */},
   {(bigint) parser___ReduceAction447___init},
 };
 /* 0: Pointer to the classtable */
@@ -67364,13 +75730,19 @@ val_t NEW_ReduceAction447(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction447;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction447___init() {
+val_t NEW_ReduceAction447_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction447();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction447_parser___ReduceAction447___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction447();
   parser___ReduceAction447___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction448[44] = {
+const classtable_elt_t VFT_ReduceAction448[45] = {
   {(bigint) 951 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction448 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction448 < ReduceAction: superclass typecheck marker */},
@@ -67413,7 +75785,8 @@ const classtable_elt_t VFT_ReduceAction448[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction448 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction448___action},
-  {(bigint) 2 /* 42: ReduceAction448 < ReduceAction448: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction448 < ReduceAction448: superclass init_table position */},
   {(bigint) parser___ReduceAction448___init},
 };
 /* 0: Pointer to the classtable */
@@ -67423,13 +75796,19 @@ val_t NEW_ReduceAction448(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction448;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction448___init() {
+val_t NEW_ReduceAction448_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction448();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction448_parser___ReduceAction448___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction448();
   parser___ReduceAction448___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction449[44] = {
+const classtable_elt_t VFT_ReduceAction449[45] = {
   {(bigint) 947 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction449 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction449 < ReduceAction: superclass typecheck marker */},
@@ -67472,7 +75851,8 @@ const classtable_elt_t VFT_ReduceAction449[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction449 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction449___action},
-  {(bigint) 2 /* 42: ReduceAction449 < ReduceAction449: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction449 < ReduceAction449: superclass init_table position */},
   {(bigint) parser___ReduceAction449___init},
 };
 /* 0: Pointer to the classtable */
@@ -67482,13 +75862,19 @@ val_t NEW_ReduceAction449(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction449;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction449___init() {
+val_t NEW_ReduceAction449_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction449();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction449_parser___ReduceAction449___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction449();
   parser___ReduceAction449___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction450[44] = {
+const classtable_elt_t VFT_ReduceAction450[45] = {
   {(bigint) 939 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction450 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction450 < ReduceAction: superclass typecheck marker */},
@@ -67531,7 +75917,8 @@ const classtable_elt_t VFT_ReduceAction450[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction450 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction450___action},
-  {(bigint) 2 /* 42: ReduceAction450 < ReduceAction450: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction450 < ReduceAction450: superclass init_table position */},
   {(bigint) parser___ReduceAction450___init},
 };
 /* 0: Pointer to the classtable */
@@ -67541,13 +75928,19 @@ val_t NEW_ReduceAction450(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction450;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction450___init() {
+val_t NEW_ReduceAction450_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction450();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction450_parser___ReduceAction450___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction450();
   parser___ReduceAction450___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction451[44] = {
+const classtable_elt_t VFT_ReduceAction451[45] = {
   {(bigint) 935 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction451 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction451 < ReduceAction: superclass typecheck marker */},
@@ -67590,7 +75983,8 @@ const classtable_elt_t VFT_ReduceAction451[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction451 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction451___action},
-  {(bigint) 2 /* 42: ReduceAction451 < ReduceAction451: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction451 < ReduceAction451: superclass init_table position */},
   {(bigint) parser___ReduceAction451___init},
 };
 /* 0: Pointer to the classtable */
@@ -67600,13 +75994,19 @@ val_t NEW_ReduceAction451(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction451;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction451___init() {
+val_t NEW_ReduceAction451_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction451();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction451_parser___ReduceAction451___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction451();
   parser___ReduceAction451___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction452[44] = {
+const classtable_elt_t VFT_ReduceAction452[45] = {
   {(bigint) 931 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction452 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction452 < ReduceAction: superclass typecheck marker */},
@@ -67649,7 +76049,8 @@ const classtable_elt_t VFT_ReduceAction452[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction452 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction452___action},
-  {(bigint) 2 /* 42: ReduceAction452 < ReduceAction452: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction452 < ReduceAction452: superclass init_table position */},
   {(bigint) parser___ReduceAction452___init},
 };
 /* 0: Pointer to the classtable */
@@ -67659,13 +76060,19 @@ val_t NEW_ReduceAction452(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction452;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction452___init() {
+val_t NEW_ReduceAction452_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction452();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction452_parser___ReduceAction452___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction452();
   parser___ReduceAction452___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction453[44] = {
+const classtable_elt_t VFT_ReduceAction453[45] = {
   {(bigint) 927 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction453 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction453 < ReduceAction: superclass typecheck marker */},
@@ -67708,7 +76115,8 @@ const classtable_elt_t VFT_ReduceAction453[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction453 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction453___action},
-  {(bigint) 2 /* 42: ReduceAction453 < ReduceAction453: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction453 < ReduceAction453: superclass init_table position */},
   {(bigint) parser___ReduceAction453___init},
 };
 /* 0: Pointer to the classtable */
@@ -67718,13 +76126,19 @@ val_t NEW_ReduceAction453(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction453;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction453___init() {
+val_t NEW_ReduceAction453_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction453();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction453_parser___ReduceAction453___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction453();
   parser___ReduceAction453___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction454[44] = {
+const classtable_elt_t VFT_ReduceAction454[45] = {
   {(bigint) 923 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction454 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction454 < ReduceAction: superclass typecheck marker */},
@@ -67767,7 +76181,8 @@ const classtable_elt_t VFT_ReduceAction454[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction454 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction454___action},
-  {(bigint) 2 /* 42: ReduceAction454 < ReduceAction454: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction454 < ReduceAction454: superclass init_table position */},
   {(bigint) parser___ReduceAction454___init},
 };
 /* 0: Pointer to the classtable */
@@ -67777,13 +76192,19 @@ val_t NEW_ReduceAction454(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction454;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction454___init() {
+val_t NEW_ReduceAction454_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction454();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction454_parser___ReduceAction454___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction454();
   parser___ReduceAction454___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction455[44] = {
+const classtable_elt_t VFT_ReduceAction455[45] = {
   {(bigint) 919 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction455 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction455 < ReduceAction: superclass typecheck marker */},
@@ -67826,7 +76247,8 @@ const classtable_elt_t VFT_ReduceAction455[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction455 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction455___action},
-  {(bigint) 2 /* 42: ReduceAction455 < ReduceAction455: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction455 < ReduceAction455: superclass init_table position */},
   {(bigint) parser___ReduceAction455___init},
 };
 /* 0: Pointer to the classtable */
@@ -67836,13 +76258,19 @@ val_t NEW_ReduceAction455(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction455;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction455___init() {
+val_t NEW_ReduceAction455_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction455();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction455_parser___ReduceAction455___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction455();
   parser___ReduceAction455___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction456[44] = {
+const classtable_elt_t VFT_ReduceAction456[45] = {
   {(bigint) 915 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction456 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction456 < ReduceAction: superclass typecheck marker */},
@@ -67885,7 +76313,8 @@ const classtable_elt_t VFT_ReduceAction456[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction456 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction456___action},
-  {(bigint) 2 /* 42: ReduceAction456 < ReduceAction456: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction456 < ReduceAction456: superclass init_table position */},
   {(bigint) parser___ReduceAction456___init},
 };
 /* 0: Pointer to the classtable */
@@ -67895,13 +76324,19 @@ val_t NEW_ReduceAction456(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction456;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction456___init() {
+val_t NEW_ReduceAction456_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction456();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction456_parser___ReduceAction456___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction456();
   parser___ReduceAction456___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction457[44] = {
+const classtable_elt_t VFT_ReduceAction457[45] = {
   {(bigint) 911 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction457 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction457 < ReduceAction: superclass typecheck marker */},
@@ -67944,7 +76379,8 @@ const classtable_elt_t VFT_ReduceAction457[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction457 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction457___action},
-  {(bigint) 2 /* 42: ReduceAction457 < ReduceAction457: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction457 < ReduceAction457: superclass init_table position */},
   {(bigint) parser___ReduceAction457___init},
 };
 /* 0: Pointer to the classtable */
@@ -67954,13 +76390,19 @@ val_t NEW_ReduceAction457(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction457;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction457___init() {
+val_t NEW_ReduceAction457_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction457();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction457_parser___ReduceAction457___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction457();
   parser___ReduceAction457___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction458[44] = {
+const classtable_elt_t VFT_ReduceAction458[45] = {
   {(bigint) 907 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction458 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction458 < ReduceAction: superclass typecheck marker */},
@@ -68003,7 +76445,8 @@ const classtable_elt_t VFT_ReduceAction458[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction458 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction458___action},
-  {(bigint) 2 /* 42: ReduceAction458 < ReduceAction458: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction458 < ReduceAction458: superclass init_table position */},
   {(bigint) parser___ReduceAction458___init},
 };
 /* 0: Pointer to the classtable */
@@ -68013,13 +76456,19 @@ val_t NEW_ReduceAction458(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction458;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction458___init() {
+val_t NEW_ReduceAction458_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction458();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction458_parser___ReduceAction458___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction458();
   parser___ReduceAction458___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction459[44] = {
+const classtable_elt_t VFT_ReduceAction459[45] = {
   {(bigint) 903 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction459 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction459 < ReduceAction: superclass typecheck marker */},
@@ -68062,7 +76511,8 @@ const classtable_elt_t VFT_ReduceAction459[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction459 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction459___action},
-  {(bigint) 2 /* 42: ReduceAction459 < ReduceAction459: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction459 < ReduceAction459: superclass init_table position */},
   {(bigint) parser___ReduceAction459___init},
 };
 /* 0: Pointer to the classtable */
@@ -68072,13 +76522,19 @@ val_t NEW_ReduceAction459(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction459;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction459___init() {
+val_t NEW_ReduceAction459_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction459();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction459_parser___ReduceAction459___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction459();
   parser___ReduceAction459___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction460[44] = {
+const classtable_elt_t VFT_ReduceAction460[45] = {
   {(bigint) 895 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction460 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction460 < ReduceAction: superclass typecheck marker */},
@@ -68121,7 +76577,8 @@ const classtable_elt_t VFT_ReduceAction460[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction460 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction460___action},
-  {(bigint) 2 /* 42: ReduceAction460 < ReduceAction460: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction460 < ReduceAction460: superclass init_table position */},
   {(bigint) parser___ReduceAction460___init},
 };
 /* 0: Pointer to the classtable */
@@ -68131,13 +76588,19 @@ val_t NEW_ReduceAction460(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction460;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction460___init() {
+val_t NEW_ReduceAction460_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction460();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction460_parser___ReduceAction460___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction460();
   parser___ReduceAction460___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction461[44] = {
+const classtable_elt_t VFT_ReduceAction461[45] = {
   {(bigint) 891 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction461 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction461 < ReduceAction: superclass typecheck marker */},
@@ -68180,7 +76643,8 @@ const classtable_elt_t VFT_ReduceAction461[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction461 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction461___action},
-  {(bigint) 2 /* 42: ReduceAction461 < ReduceAction461: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction461 < ReduceAction461: superclass init_table position */},
   {(bigint) parser___ReduceAction461___init},
 };
 /* 0: Pointer to the classtable */
@@ -68190,13 +76654,19 @@ val_t NEW_ReduceAction461(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction461;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction461___init() {
+val_t NEW_ReduceAction461_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction461();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction461_parser___ReduceAction461___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction461();
   parser___ReduceAction461___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction462[44] = {
+const classtable_elt_t VFT_ReduceAction462[45] = {
   {(bigint) 887 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction462 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction462 < ReduceAction: superclass typecheck marker */},
@@ -68239,7 +76709,8 @@ const classtable_elt_t VFT_ReduceAction462[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction462 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction462___action},
-  {(bigint) 2 /* 42: ReduceAction462 < ReduceAction462: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction462 < ReduceAction462: superclass init_table position */},
   {(bigint) parser___ReduceAction462___init},
 };
 /* 0: Pointer to the classtable */
@@ -68249,13 +76720,19 @@ val_t NEW_ReduceAction462(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction462;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction462___init() {
+val_t NEW_ReduceAction462_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction462();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction462_parser___ReduceAction462___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction462();
   parser___ReduceAction462___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction463[44] = {
+const classtable_elt_t VFT_ReduceAction463[45] = {
   {(bigint) 883 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction463 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction463 < ReduceAction: superclass typecheck marker */},
@@ -68298,7 +76775,8 @@ const classtable_elt_t VFT_ReduceAction463[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction463 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction463___action},
-  {(bigint) 2 /* 42: ReduceAction463 < ReduceAction463: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction463 < ReduceAction463: superclass init_table position */},
   {(bigint) parser___ReduceAction463___init},
 };
 /* 0: Pointer to the classtable */
@@ -68308,13 +76786,19 @@ val_t NEW_ReduceAction463(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction463;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction463___init() {
+val_t NEW_ReduceAction463_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction463();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction463_parser___ReduceAction463___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction463();
   parser___ReduceAction463___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction464[44] = {
+const classtable_elt_t VFT_ReduceAction464[45] = {
   {(bigint) 879 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction464 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction464 < ReduceAction: superclass typecheck marker */},
@@ -68357,7 +76841,8 @@ const classtable_elt_t VFT_ReduceAction464[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction464 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction464___action},
-  {(bigint) 2 /* 42: ReduceAction464 < ReduceAction464: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction464 < ReduceAction464: superclass init_table position */},
   {(bigint) parser___ReduceAction464___init},
 };
 /* 0: Pointer to the classtable */
@@ -68367,13 +76852,19 @@ val_t NEW_ReduceAction464(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction464;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction464___init() {
+val_t NEW_ReduceAction464_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction464();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction464_parser___ReduceAction464___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction464();
   parser___ReduceAction464___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction465[44] = {
+const classtable_elt_t VFT_ReduceAction465[45] = {
   {(bigint) 875 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction465 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction465 < ReduceAction: superclass typecheck marker */},
@@ -68416,7 +76907,8 @@ const classtable_elt_t VFT_ReduceAction465[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction465 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction465___action},
-  {(bigint) 2 /* 42: ReduceAction465 < ReduceAction465: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction465 < ReduceAction465: superclass init_table position */},
   {(bigint) parser___ReduceAction465___init},
 };
 /* 0: Pointer to the classtable */
@@ -68426,13 +76918,19 @@ val_t NEW_ReduceAction465(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction465;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction465___init() {
+val_t NEW_ReduceAction465_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction465();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction465_parser___ReduceAction465___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction465();
   parser___ReduceAction465___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction466[44] = {
+const classtable_elt_t VFT_ReduceAction466[45] = {
   {(bigint) 871 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction466 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction466 < ReduceAction: superclass typecheck marker */},
@@ -68475,7 +76973,8 @@ const classtable_elt_t VFT_ReduceAction466[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction466 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction466___action},
-  {(bigint) 2 /* 42: ReduceAction466 < ReduceAction466: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction466 < ReduceAction466: superclass init_table position */},
   {(bigint) parser___ReduceAction466___init},
 };
 /* 0: Pointer to the classtable */
@@ -68485,13 +76984,19 @@ val_t NEW_ReduceAction466(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction466;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction466___init() {
+val_t NEW_ReduceAction466_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction466();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction466_parser___ReduceAction466___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction466();
   parser___ReduceAction466___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction467[44] = {
+const classtable_elt_t VFT_ReduceAction467[45] = {
   {(bigint) 867 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction467 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction467 < ReduceAction: superclass typecheck marker */},
@@ -68534,7 +77039,8 @@ const classtable_elt_t VFT_ReduceAction467[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction467 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction467___action},
-  {(bigint) 2 /* 42: ReduceAction467 < ReduceAction467: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction467 < ReduceAction467: superclass init_table position */},
   {(bigint) parser___ReduceAction467___init},
 };
 /* 0: Pointer to the classtable */
@@ -68544,13 +77050,19 @@ val_t NEW_ReduceAction467(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction467;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction467___init() {
+val_t NEW_ReduceAction467_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction467();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction467_parser___ReduceAction467___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction467();
   parser___ReduceAction467___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction468[44] = {
+const classtable_elt_t VFT_ReduceAction468[45] = {
   {(bigint) 863 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction468 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction468 < ReduceAction: superclass typecheck marker */},
@@ -68593,7 +77105,8 @@ const classtable_elt_t VFT_ReduceAction468[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction468 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction468___action},
-  {(bigint) 2 /* 42: ReduceAction468 < ReduceAction468: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction468 < ReduceAction468: superclass init_table position */},
   {(bigint) parser___ReduceAction468___init},
 };
 /* 0: Pointer to the classtable */
@@ -68603,13 +77116,19 @@ val_t NEW_ReduceAction468(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction468;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction468___init() {
+val_t NEW_ReduceAction468_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction468();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction468_parser___ReduceAction468___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction468();
   parser___ReduceAction468___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction469[44] = {
+const classtable_elt_t VFT_ReduceAction469[45] = {
   {(bigint) 859 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction469 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction469 < ReduceAction: superclass typecheck marker */},
@@ -68652,7 +77171,8 @@ const classtable_elt_t VFT_ReduceAction469[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction469 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction469___action},
-  {(bigint) 2 /* 42: ReduceAction469 < ReduceAction469: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction469 < ReduceAction469: superclass init_table position */},
   {(bigint) parser___ReduceAction469___init},
 };
 /* 0: Pointer to the classtable */
@@ -68662,13 +77182,19 @@ val_t NEW_ReduceAction469(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction469;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction469___init() {
+val_t NEW_ReduceAction469_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction469();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction469_parser___ReduceAction469___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction469();
   parser___ReduceAction469___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction470[44] = {
+const classtable_elt_t VFT_ReduceAction470[45] = {
   {(bigint) 851 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction470 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction470 < ReduceAction: superclass typecheck marker */},
@@ -68711,7 +77237,8 @@ const classtable_elt_t VFT_ReduceAction470[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction470 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction470___action},
-  {(bigint) 2 /* 42: ReduceAction470 < ReduceAction470: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction470 < ReduceAction470: superclass init_table position */},
   {(bigint) parser___ReduceAction470___init},
 };
 /* 0: Pointer to the classtable */
@@ -68721,13 +77248,19 @@ val_t NEW_ReduceAction470(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction470;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction470___init() {
+val_t NEW_ReduceAction470_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction470();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction470_parser___ReduceAction470___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction470();
   parser___ReduceAction470___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction471[44] = {
+const classtable_elt_t VFT_ReduceAction471[45] = {
   {(bigint) 847 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction471 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction471 < ReduceAction: superclass typecheck marker */},
@@ -68770,7 +77303,8 @@ const classtable_elt_t VFT_ReduceAction471[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction471 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction471___action},
-  {(bigint) 2 /* 42: ReduceAction471 < ReduceAction471: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction471 < ReduceAction471: superclass init_table position */},
   {(bigint) parser___ReduceAction471___init},
 };
 /* 0: Pointer to the classtable */
@@ -68780,13 +77314,19 @@ val_t NEW_ReduceAction471(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction471;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction471___init() {
+val_t NEW_ReduceAction471_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction471();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction471_parser___ReduceAction471___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction471();
   parser___ReduceAction471___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction472[44] = {
+const classtable_elt_t VFT_ReduceAction472[45] = {
   {(bigint) 843 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction472 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction472 < ReduceAction: superclass typecheck marker */},
@@ -68829,7 +77369,8 @@ const classtable_elt_t VFT_ReduceAction472[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction472 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction472___action},
-  {(bigint) 2 /* 42: ReduceAction472 < ReduceAction472: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction472 < ReduceAction472: superclass init_table position */},
   {(bigint) parser___ReduceAction472___init},
 };
 /* 0: Pointer to the classtable */
@@ -68839,13 +77380,19 @@ val_t NEW_ReduceAction472(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction472;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction472___init() {
+val_t NEW_ReduceAction472_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction472();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction472_parser___ReduceAction472___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction472();
   parser___ReduceAction472___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction473[44] = {
+const classtable_elt_t VFT_ReduceAction473[45] = {
   {(bigint) 839 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction473 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction473 < ReduceAction: superclass typecheck marker */},
@@ -68888,7 +77435,8 @@ const classtable_elt_t VFT_ReduceAction473[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction473 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction473___action},
-  {(bigint) 2 /* 42: ReduceAction473 < ReduceAction473: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction473 < ReduceAction473: superclass init_table position */},
   {(bigint) parser___ReduceAction473___init},
 };
 /* 0: Pointer to the classtable */
@@ -68898,13 +77446,19 @@ val_t NEW_ReduceAction473(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction473;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction473___init() {
+val_t NEW_ReduceAction473_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction473();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction473_parser___ReduceAction473___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction473();
   parser___ReduceAction473___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction474[44] = {
+const classtable_elt_t VFT_ReduceAction474[45] = {
   {(bigint) 835 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction474 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction474 < ReduceAction: superclass typecheck marker */},
@@ -68947,7 +77501,8 @@ const classtable_elt_t VFT_ReduceAction474[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction474 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction474___action},
-  {(bigint) 2 /* 42: ReduceAction474 < ReduceAction474: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction474 < ReduceAction474: superclass init_table position */},
   {(bigint) parser___ReduceAction474___init},
 };
 /* 0: Pointer to the classtable */
@@ -68957,13 +77512,19 @@ val_t NEW_ReduceAction474(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction474;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction474___init() {
+val_t NEW_ReduceAction474_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction474();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction474_parser___ReduceAction474___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction474();
   parser___ReduceAction474___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction475[44] = {
+const classtable_elt_t VFT_ReduceAction475[45] = {
   {(bigint) 831 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction475 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction475 < ReduceAction: superclass typecheck marker */},
@@ -69006,7 +77567,8 @@ const classtable_elt_t VFT_ReduceAction475[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction475 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction475___action},
-  {(bigint) 2 /* 42: ReduceAction475 < ReduceAction475: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction475 < ReduceAction475: superclass init_table position */},
   {(bigint) parser___ReduceAction475___init},
 };
 /* 0: Pointer to the classtable */
@@ -69016,13 +77578,19 @@ val_t NEW_ReduceAction475(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction475;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction475___init() {
+val_t NEW_ReduceAction475_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction475();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction475_parser___ReduceAction475___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction475();
   parser___ReduceAction475___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction476[44] = {
+const classtable_elt_t VFT_ReduceAction476[45] = {
   {(bigint) 827 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction476 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction476 < ReduceAction: superclass typecheck marker */},
@@ -69065,7 +77633,8 @@ const classtable_elt_t VFT_ReduceAction476[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction476 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction476___action},
-  {(bigint) 2 /* 42: ReduceAction476 < ReduceAction476: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction476 < ReduceAction476: superclass init_table position */},
   {(bigint) parser___ReduceAction476___init},
 };
 /* 0: Pointer to the classtable */
@@ -69075,13 +77644,19 @@ val_t NEW_ReduceAction476(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction476;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction476___init() {
+val_t NEW_ReduceAction476_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction476();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction476_parser___ReduceAction476___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction476();
   parser___ReduceAction476___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction477[44] = {
+const classtable_elt_t VFT_ReduceAction477[45] = {
   {(bigint) 823 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction477 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction477 < ReduceAction: superclass typecheck marker */},
@@ -69124,7 +77699,8 @@ const classtable_elt_t VFT_ReduceAction477[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction477 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction477___action},
-  {(bigint) 2 /* 42: ReduceAction477 < ReduceAction477: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction477 < ReduceAction477: superclass init_table position */},
   {(bigint) parser___ReduceAction477___init},
 };
 /* 0: Pointer to the classtable */
@@ -69134,13 +77710,19 @@ val_t NEW_ReduceAction477(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction477;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction477___init() {
+val_t NEW_ReduceAction477_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction477();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction477_parser___ReduceAction477___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction477();
   parser___ReduceAction477___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction478[44] = {
+const classtable_elt_t VFT_ReduceAction478[45] = {
   {(bigint) 819 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction478 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction478 < ReduceAction: superclass typecheck marker */},
@@ -69183,7 +77765,8 @@ const classtable_elt_t VFT_ReduceAction478[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction478 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction478___action},
-  {(bigint) 2 /* 42: ReduceAction478 < ReduceAction478: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction478 < ReduceAction478: superclass init_table position */},
   {(bigint) parser___ReduceAction478___init},
 };
 /* 0: Pointer to the classtable */
@@ -69193,13 +77776,19 @@ val_t NEW_ReduceAction478(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction478;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction478___init() {
+val_t NEW_ReduceAction478_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction478();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction478_parser___ReduceAction478___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction478();
   parser___ReduceAction478___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction479[44] = {
+const classtable_elt_t VFT_ReduceAction479[45] = {
   {(bigint) 815 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction479 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction479 < ReduceAction: superclass typecheck marker */},
@@ -69242,7 +77831,8 @@ const classtable_elt_t VFT_ReduceAction479[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction479 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction479___action},
-  {(bigint) 2 /* 42: ReduceAction479 < ReduceAction479: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction479 < ReduceAction479: superclass init_table position */},
   {(bigint) parser___ReduceAction479___init},
 };
 /* 0: Pointer to the classtable */
@@ -69252,13 +77842,19 @@ val_t NEW_ReduceAction479(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction479;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction479___init() {
+val_t NEW_ReduceAction479_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction479();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction479_parser___ReduceAction479___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction479();
   parser___ReduceAction479___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction480[44] = {
+const classtable_elt_t VFT_ReduceAction480[45] = {
   {(bigint) 807 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction480 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction480 < ReduceAction: superclass typecheck marker */},
@@ -69301,7 +77897,8 @@ const classtable_elt_t VFT_ReduceAction480[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction480 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction480___action},
-  {(bigint) 2 /* 42: ReduceAction480 < ReduceAction480: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction480 < ReduceAction480: superclass init_table position */},
   {(bigint) parser___ReduceAction480___init},
 };
 /* 0: Pointer to the classtable */
@@ -69311,13 +77908,19 @@ val_t NEW_ReduceAction480(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction480;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction480___init() {
+val_t NEW_ReduceAction480_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction480();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction480_parser___ReduceAction480___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction480();
   parser___ReduceAction480___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction481[44] = {
+const classtable_elt_t VFT_ReduceAction481[45] = {
   {(bigint) 803 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction481 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction481 < ReduceAction: superclass typecheck marker */},
@@ -69360,7 +77963,8 @@ const classtable_elt_t VFT_ReduceAction481[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction481 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction481___action},
-  {(bigint) 2 /* 42: ReduceAction481 < ReduceAction481: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction481 < ReduceAction481: superclass init_table position */},
   {(bigint) parser___ReduceAction481___init},
 };
 /* 0: Pointer to the classtable */
@@ -69370,13 +77974,19 @@ val_t NEW_ReduceAction481(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction481;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction481___init() {
+val_t NEW_ReduceAction481_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction481();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction481_parser___ReduceAction481___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction481();
   parser___ReduceAction481___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction482[44] = {
+const classtable_elt_t VFT_ReduceAction482[45] = {
   {(bigint) 799 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction482 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction482 < ReduceAction: superclass typecheck marker */},
@@ -69419,7 +78029,8 @@ const classtable_elt_t VFT_ReduceAction482[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction482 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction482___action},
-  {(bigint) 2 /* 42: ReduceAction482 < ReduceAction482: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction482 < ReduceAction482: superclass init_table position */},
   {(bigint) parser___ReduceAction482___init},
 };
 /* 0: Pointer to the classtable */
@@ -69429,13 +78040,19 @@ val_t NEW_ReduceAction482(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction482;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction482___init() {
+val_t NEW_ReduceAction482_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction482();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction482_parser___ReduceAction482___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction482();
   parser___ReduceAction482___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction483[44] = {
+const classtable_elt_t VFT_ReduceAction483[45] = {
   {(bigint) 795 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction483 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction483 < ReduceAction: superclass typecheck marker */},
@@ -69478,7 +78095,8 @@ const classtable_elt_t VFT_ReduceAction483[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction483 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction483___action},
-  {(bigint) 2 /* 42: ReduceAction483 < ReduceAction483: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction483 < ReduceAction483: superclass init_table position */},
   {(bigint) parser___ReduceAction483___init},
 };
 /* 0: Pointer to the classtable */
@@ -69488,13 +78106,19 @@ val_t NEW_ReduceAction483(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction483;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction483___init() {
+val_t NEW_ReduceAction483_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction483();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction483_parser___ReduceAction483___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction483();
   parser___ReduceAction483___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction484[44] = {
+const classtable_elt_t VFT_ReduceAction484[45] = {
   {(bigint) 791 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction484 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction484 < ReduceAction: superclass typecheck marker */},
@@ -69537,7 +78161,8 @@ const classtable_elt_t VFT_ReduceAction484[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction484 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction484___action},
-  {(bigint) 2 /* 42: ReduceAction484 < ReduceAction484: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction484 < ReduceAction484: superclass init_table position */},
   {(bigint) parser___ReduceAction484___init},
 };
 /* 0: Pointer to the classtable */
@@ -69547,13 +78172,19 @@ val_t NEW_ReduceAction484(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction484;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction484___init() {
+val_t NEW_ReduceAction484_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction484();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction484_parser___ReduceAction484___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction484();
   parser___ReduceAction484___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction485[44] = {
+const classtable_elt_t VFT_ReduceAction485[45] = {
   {(bigint) 787 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction485 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction485 < ReduceAction: superclass typecheck marker */},
@@ -69596,7 +78227,8 @@ const classtable_elt_t VFT_ReduceAction485[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction485 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction485___action},
-  {(bigint) 2 /* 42: ReduceAction485 < ReduceAction485: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction485 < ReduceAction485: superclass init_table position */},
   {(bigint) parser___ReduceAction485___init},
 };
 /* 0: Pointer to the classtable */
@@ -69606,13 +78238,19 @@ val_t NEW_ReduceAction485(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction485;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction485___init() {
+val_t NEW_ReduceAction485_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction485();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction485_parser___ReduceAction485___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction485();
   parser___ReduceAction485___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction486[44] = {
+const classtable_elt_t VFT_ReduceAction486[45] = {
   {(bigint) 783 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction486 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction486 < ReduceAction: superclass typecheck marker */},
@@ -69655,7 +78293,8 @@ const classtable_elt_t VFT_ReduceAction486[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction486 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction486___action},
-  {(bigint) 2 /* 42: ReduceAction486 < ReduceAction486: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction486 < ReduceAction486: superclass init_table position */},
   {(bigint) parser___ReduceAction486___init},
 };
 /* 0: Pointer to the classtable */
@@ -69665,13 +78304,19 @@ val_t NEW_ReduceAction486(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction486;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction486___init() {
+val_t NEW_ReduceAction486_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction486();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction486_parser___ReduceAction486___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction486();
   parser___ReduceAction486___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction487[44] = {
+const classtable_elt_t VFT_ReduceAction487[45] = {
   {(bigint) 779 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction487 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction487 < ReduceAction: superclass typecheck marker */},
@@ -69714,7 +78359,8 @@ const classtable_elt_t VFT_ReduceAction487[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction487 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction487___action},
-  {(bigint) 2 /* 42: ReduceAction487 < ReduceAction487: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction487 < ReduceAction487: superclass init_table position */},
   {(bigint) parser___ReduceAction487___init},
 };
 /* 0: Pointer to the classtable */
@@ -69724,13 +78370,19 @@ val_t NEW_ReduceAction487(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction487;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction487___init() {
+val_t NEW_ReduceAction487_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction487();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction487_parser___ReduceAction487___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction487();
   parser___ReduceAction487___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction488[44] = {
+const classtable_elt_t VFT_ReduceAction488[45] = {
   {(bigint) 775 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction488 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction488 < ReduceAction: superclass typecheck marker */},
@@ -69773,7 +78425,8 @@ const classtable_elt_t VFT_ReduceAction488[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction488 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction488___action},
-  {(bigint) 2 /* 42: ReduceAction488 < ReduceAction488: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction488 < ReduceAction488: superclass init_table position */},
   {(bigint) parser___ReduceAction488___init},
 };
 /* 0: Pointer to the classtable */
@@ -69783,13 +78436,19 @@ val_t NEW_ReduceAction488(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction488;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction488___init() {
+val_t NEW_ReduceAction488_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction488();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction488_parser___ReduceAction488___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction488();
   parser___ReduceAction488___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction489[44] = {
+const classtable_elt_t VFT_ReduceAction489[45] = {
   {(bigint) 771 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction489 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction489 < ReduceAction: superclass typecheck marker */},
@@ -69832,7 +78491,8 @@ const classtable_elt_t VFT_ReduceAction489[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction489 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction489___action},
-  {(bigint) 2 /* 42: ReduceAction489 < ReduceAction489: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction489 < ReduceAction489: superclass init_table position */},
   {(bigint) parser___ReduceAction489___init},
 };
 /* 0: Pointer to the classtable */
@@ -69842,13 +78502,19 @@ val_t NEW_ReduceAction489(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction489;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction489___init() {
+val_t NEW_ReduceAction489_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction489();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction489_parser___ReduceAction489___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction489();
   parser___ReduceAction489___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction490[44] = {
+const classtable_elt_t VFT_ReduceAction490[45] = {
   {(bigint) 763 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction490 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction490 < ReduceAction: superclass typecheck marker */},
@@ -69891,7 +78557,8 @@ const classtable_elt_t VFT_ReduceAction490[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction490 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction490___action},
-  {(bigint) 2 /* 42: ReduceAction490 < ReduceAction490: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction490 < ReduceAction490: superclass init_table position */},
   {(bigint) parser___ReduceAction490___init},
 };
 /* 0: Pointer to the classtable */
@@ -69901,13 +78568,19 @@ val_t NEW_ReduceAction490(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction490;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction490___init() {
+val_t NEW_ReduceAction490_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction490();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction490_parser___ReduceAction490___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction490();
   parser___ReduceAction490___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction491[44] = {
+const classtable_elt_t VFT_ReduceAction491[45] = {
   {(bigint) 759 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction491 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction491 < ReduceAction: superclass typecheck marker */},
@@ -69950,7 +78623,8 @@ const classtable_elt_t VFT_ReduceAction491[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction491 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction491___action},
-  {(bigint) 2 /* 42: ReduceAction491 < ReduceAction491: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction491 < ReduceAction491: superclass init_table position */},
   {(bigint) parser___ReduceAction491___init},
 };
 /* 0: Pointer to the classtable */
@@ -69960,13 +78634,19 @@ val_t NEW_ReduceAction491(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction491;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction491___init() {
+val_t NEW_ReduceAction491_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction491();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction491_parser___ReduceAction491___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction491();
   parser___ReduceAction491___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction492[44] = {
+const classtable_elt_t VFT_ReduceAction492[45] = {
   {(bigint) 755 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction492 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction492 < ReduceAction: superclass typecheck marker */},
@@ -70009,7 +78689,8 @@ const classtable_elt_t VFT_ReduceAction492[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction492 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction492___action},
-  {(bigint) 2 /* 42: ReduceAction492 < ReduceAction492: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction492 < ReduceAction492: superclass init_table position */},
   {(bigint) parser___ReduceAction492___init},
 };
 /* 0: Pointer to the classtable */
@@ -70019,13 +78700,19 @@ val_t NEW_ReduceAction492(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction492;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction492___init() {
+val_t NEW_ReduceAction492_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction492();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction492_parser___ReduceAction492___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction492();
   parser___ReduceAction492___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction493[44] = {
+const classtable_elt_t VFT_ReduceAction493[45] = {
   {(bigint) 751 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction493 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction493 < ReduceAction: superclass typecheck marker */},
@@ -70068,7 +78755,8 @@ const classtable_elt_t VFT_ReduceAction493[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction493 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction493___action},
-  {(bigint) 2 /* 42: ReduceAction493 < ReduceAction493: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction493 < ReduceAction493: superclass init_table position */},
   {(bigint) parser___ReduceAction493___init},
 };
 /* 0: Pointer to the classtable */
@@ -70078,13 +78766,19 @@ val_t NEW_ReduceAction493(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction493;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction493___init() {
+val_t NEW_ReduceAction493_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction493();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction493_parser___ReduceAction493___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction493();
   parser___ReduceAction493___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction494[44] = {
+const classtable_elt_t VFT_ReduceAction494[45] = {
   {(bigint) 747 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction494 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction494 < ReduceAction: superclass typecheck marker */},
@@ -70127,7 +78821,8 @@ const classtable_elt_t VFT_ReduceAction494[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction494 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction494___action},
-  {(bigint) 2 /* 42: ReduceAction494 < ReduceAction494: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction494 < ReduceAction494: superclass init_table position */},
   {(bigint) parser___ReduceAction494___init},
 };
 /* 0: Pointer to the classtable */
@@ -70137,13 +78832,19 @@ val_t NEW_ReduceAction494(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction494;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction494___init() {
+val_t NEW_ReduceAction494_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction494();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction494_parser___ReduceAction494___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction494();
   parser___ReduceAction494___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction495[44] = {
+const classtable_elt_t VFT_ReduceAction495[45] = {
   {(bigint) 743 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction495 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction495 < ReduceAction: superclass typecheck marker */},
@@ -70186,7 +78887,8 @@ const classtable_elt_t VFT_ReduceAction495[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction495 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction495___action},
-  {(bigint) 2 /* 42: ReduceAction495 < ReduceAction495: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction495 < ReduceAction495: superclass init_table position */},
   {(bigint) parser___ReduceAction495___init},
 };
 /* 0: Pointer to the classtable */
@@ -70196,13 +78898,19 @@ val_t NEW_ReduceAction495(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction495;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction495___init() {
+val_t NEW_ReduceAction495_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction495();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction495_parser___ReduceAction495___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction495();
   parser___ReduceAction495___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction496[44] = {
+const classtable_elt_t VFT_ReduceAction496[45] = {
   {(bigint) 739 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction496 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction496 < ReduceAction: superclass typecheck marker */},
@@ -70245,7 +78953,8 @@ const classtable_elt_t VFT_ReduceAction496[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction496 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction496___action},
-  {(bigint) 2 /* 42: ReduceAction496 < ReduceAction496: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction496 < ReduceAction496: superclass init_table position */},
   {(bigint) parser___ReduceAction496___init},
 };
 /* 0: Pointer to the classtable */
@@ -70255,13 +78964,19 @@ val_t NEW_ReduceAction496(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction496;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction496___init() {
+val_t NEW_ReduceAction496_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction496();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction496_parser___ReduceAction496___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction496();
   parser___ReduceAction496___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction497[44] = {
+const classtable_elt_t VFT_ReduceAction497[45] = {
   {(bigint) 735 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction497 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction497 < ReduceAction: superclass typecheck marker */},
@@ -70304,7 +79019,8 @@ const classtable_elt_t VFT_ReduceAction497[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction497 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction497___action},
-  {(bigint) 2 /* 42: ReduceAction497 < ReduceAction497: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction497 < ReduceAction497: superclass init_table position */},
   {(bigint) parser___ReduceAction497___init},
 };
 /* 0: Pointer to the classtable */
@@ -70314,13 +79030,19 @@ val_t NEW_ReduceAction497(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction497;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction497___init() {
+val_t NEW_ReduceAction497_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction497();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction497_parser___ReduceAction497___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction497();
   parser___ReduceAction497___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction498[44] = {
+const classtable_elt_t VFT_ReduceAction498[45] = {
   {(bigint) 731 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction498 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction498 < ReduceAction: superclass typecheck marker */},
@@ -70363,7 +79085,8 @@ const classtable_elt_t VFT_ReduceAction498[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction498 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction498___action},
-  {(bigint) 2 /* 42: ReduceAction498 < ReduceAction498: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction498 < ReduceAction498: superclass init_table position */},
   {(bigint) parser___ReduceAction498___init},
 };
 /* 0: Pointer to the classtable */
@@ -70373,13 +79096,19 @@ val_t NEW_ReduceAction498(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction498;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction498___init() {
+val_t NEW_ReduceAction498_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction498();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction498_parser___ReduceAction498___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction498();
   parser___ReduceAction498___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction499[44] = {
+const classtable_elt_t VFT_ReduceAction499[45] = {
   {(bigint) 727 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction499 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction499 < ReduceAction: superclass typecheck marker */},
@@ -70422,7 +79151,8 @@ const classtable_elt_t VFT_ReduceAction499[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction499 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction499___action},
-  {(bigint) 2 /* 42: ReduceAction499 < ReduceAction499: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction499 < ReduceAction499: superclass init_table position */},
   {(bigint) parser___ReduceAction499___init},
 };
 /* 0: Pointer to the classtable */
@@ -70432,13 +79162,19 @@ val_t NEW_ReduceAction499(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction499;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction499___init() {
+val_t NEW_ReduceAction499_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction499();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction499_parser___ReduceAction499___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction499();
   parser___ReduceAction499___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction500[44] = {
+const classtable_elt_t VFT_ReduceAction500[45] = {
   {(bigint) 715 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction500 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction500 < ReduceAction: superclass typecheck marker */},
@@ -70481,7 +79217,8 @@ const classtable_elt_t VFT_ReduceAction500[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction500 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction500___action},
-  {(bigint) 2 /* 42: ReduceAction500 < ReduceAction500: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction500 < ReduceAction500: superclass init_table position */},
   {(bigint) parser___ReduceAction500___init},
 };
 /* 0: Pointer to the classtable */
@@ -70491,13 +79228,19 @@ val_t NEW_ReduceAction500(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction500;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction500___init() {
+val_t NEW_ReduceAction500_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction500();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction500_parser___ReduceAction500___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction500();
   parser___ReduceAction500___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction501[44] = {
+const classtable_elt_t VFT_ReduceAction501[45] = {
   {(bigint) 711 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction501 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction501 < ReduceAction: superclass typecheck marker */},
@@ -70540,7 +79283,8 @@ const classtable_elt_t VFT_ReduceAction501[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction501 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction501___action},
-  {(bigint) 2 /* 42: ReduceAction501 < ReduceAction501: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction501 < ReduceAction501: superclass init_table position */},
   {(bigint) parser___ReduceAction501___init},
 };
 /* 0: Pointer to the classtable */
@@ -70550,13 +79294,19 @@ val_t NEW_ReduceAction501(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction501;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction501___init() {
+val_t NEW_ReduceAction501_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction501();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction501_parser___ReduceAction501___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction501();
   parser___ReduceAction501___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction502[44] = {
+const classtable_elt_t VFT_ReduceAction502[45] = {
   {(bigint) 707 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction502 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction502 < ReduceAction: superclass typecheck marker */},
@@ -70599,7 +79349,8 @@ const classtable_elt_t VFT_ReduceAction502[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction502 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction502___action},
-  {(bigint) 2 /* 42: ReduceAction502 < ReduceAction502: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction502 < ReduceAction502: superclass init_table position */},
   {(bigint) parser___ReduceAction502___init},
 };
 /* 0: Pointer to the classtable */
@@ -70609,13 +79360,19 @@ val_t NEW_ReduceAction502(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction502;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction502___init() {
+val_t NEW_ReduceAction502_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction502();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction502_parser___ReduceAction502___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction502();
   parser___ReduceAction502___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction503[44] = {
+const classtable_elt_t VFT_ReduceAction503[45] = {
   {(bigint) 703 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction503 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction503 < ReduceAction: superclass typecheck marker */},
@@ -70658,7 +79415,8 @@ const classtable_elt_t VFT_ReduceAction503[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction503 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction503___action},
-  {(bigint) 2 /* 42: ReduceAction503 < ReduceAction503: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction503 < ReduceAction503: superclass init_table position */},
   {(bigint) parser___ReduceAction503___init},
 };
 /* 0: Pointer to the classtable */
@@ -70668,13 +79426,19 @@ val_t NEW_ReduceAction503(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction503;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction503___init() {
+val_t NEW_ReduceAction503_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction503();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction503_parser___ReduceAction503___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction503();
   parser___ReduceAction503___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction504[44] = {
+const classtable_elt_t VFT_ReduceAction504[45] = {
   {(bigint) 699 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction504 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction504 < ReduceAction: superclass typecheck marker */},
@@ -70717,7 +79481,8 @@ const classtable_elt_t VFT_ReduceAction504[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction504 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction504___action},
-  {(bigint) 2 /* 42: ReduceAction504 < ReduceAction504: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction504 < ReduceAction504: superclass init_table position */},
   {(bigint) parser___ReduceAction504___init},
 };
 /* 0: Pointer to the classtable */
@@ -70727,13 +79492,19 @@ val_t NEW_ReduceAction504(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction504;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction504___init() {
+val_t NEW_ReduceAction504_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction504();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction504_parser___ReduceAction504___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction504();
   parser___ReduceAction504___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction505[44] = {
+const classtable_elt_t VFT_ReduceAction505[45] = {
   {(bigint) 695 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction505 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction505 < ReduceAction: superclass typecheck marker */},
@@ -70776,7 +79547,8 @@ const classtable_elt_t VFT_ReduceAction505[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction505 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction505___action},
-  {(bigint) 2 /* 42: ReduceAction505 < ReduceAction505: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction505 < ReduceAction505: superclass init_table position */},
   {(bigint) parser___ReduceAction505___init},
 };
 /* 0: Pointer to the classtable */
@@ -70786,13 +79558,19 @@ val_t NEW_ReduceAction505(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction505;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction505___init() {
+val_t NEW_ReduceAction505_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction505();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction505_parser___ReduceAction505___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction505();
   parser___ReduceAction505___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction506[44] = {
+const classtable_elt_t VFT_ReduceAction506[45] = {
   {(bigint) 691 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction506 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction506 < ReduceAction: superclass typecheck marker */},
@@ -70835,7 +79613,8 @@ const classtable_elt_t VFT_ReduceAction506[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction506 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction506___action},
-  {(bigint) 2 /* 42: ReduceAction506 < ReduceAction506: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction506 < ReduceAction506: superclass init_table position */},
   {(bigint) parser___ReduceAction506___init},
 };
 /* 0: Pointer to the classtable */
@@ -70845,13 +79624,19 @@ val_t NEW_ReduceAction506(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction506;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction506___init() {
+val_t NEW_ReduceAction506_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction506();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction506_parser___ReduceAction506___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction506();
   parser___ReduceAction506___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction507[44] = {
+const classtable_elt_t VFT_ReduceAction507[45] = {
   {(bigint) 687 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction507 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction507 < ReduceAction: superclass typecheck marker */},
@@ -70894,7 +79679,8 @@ const classtable_elt_t VFT_ReduceAction507[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction507 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction507___action},
-  {(bigint) 2 /* 42: ReduceAction507 < ReduceAction507: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction507 < ReduceAction507: superclass init_table position */},
   {(bigint) parser___ReduceAction507___init},
 };
 /* 0: Pointer to the classtable */
@@ -70904,13 +79690,19 @@ val_t NEW_ReduceAction507(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction507;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction507___init() {
+val_t NEW_ReduceAction507_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction507();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction507_parser___ReduceAction507___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction507();
   parser___ReduceAction507___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction508[44] = {
+const classtable_elt_t VFT_ReduceAction508[45] = {
   {(bigint) 683 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction508 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction508 < ReduceAction: superclass typecheck marker */},
@@ -70953,7 +79745,8 @@ const classtable_elt_t VFT_ReduceAction508[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction508 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction508___action},
-  {(bigint) 2 /* 42: ReduceAction508 < ReduceAction508: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction508 < ReduceAction508: superclass init_table position */},
   {(bigint) parser___ReduceAction508___init},
 };
 /* 0: Pointer to the classtable */
@@ -70963,13 +79756,19 @@ val_t NEW_ReduceAction508(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction508;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction508___init() {
+val_t NEW_ReduceAction508_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction508();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction508_parser___ReduceAction508___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction508();
   parser___ReduceAction508___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction509[44] = {
+const classtable_elt_t VFT_ReduceAction509[45] = {
   {(bigint) 679 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction509 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction509 < ReduceAction: superclass typecheck marker */},
@@ -71012,7 +79811,8 @@ const classtable_elt_t VFT_ReduceAction509[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction509 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction509___action},
-  {(bigint) 2 /* 42: ReduceAction509 < ReduceAction509: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction509 < ReduceAction509: superclass init_table position */},
   {(bigint) parser___ReduceAction509___init},
 };
 /* 0: Pointer to the classtable */
@@ -71022,13 +79822,19 @@ val_t NEW_ReduceAction509(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction509;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction509___init() {
+val_t NEW_ReduceAction509_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction509();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction509_parser___ReduceAction509___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction509();
   parser___ReduceAction509___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction510[44] = {
+const classtable_elt_t VFT_ReduceAction510[45] = {
   {(bigint) 671 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction510 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction510 < ReduceAction: superclass typecheck marker */},
@@ -71071,7 +79877,8 @@ const classtable_elt_t VFT_ReduceAction510[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction510 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction510___action},
-  {(bigint) 2 /* 42: ReduceAction510 < ReduceAction510: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction510 < ReduceAction510: superclass init_table position */},
   {(bigint) parser___ReduceAction510___init},
 };
 /* 0: Pointer to the classtable */
@@ -71081,13 +79888,19 @@ val_t NEW_ReduceAction510(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction510;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction510___init() {
+val_t NEW_ReduceAction510_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction510();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction510_parser___ReduceAction510___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction510();
   parser___ReduceAction510___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction511[44] = {
+const classtable_elt_t VFT_ReduceAction511[45] = {
   {(bigint) 667 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction511 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction511 < ReduceAction: superclass typecheck marker */},
@@ -71130,7 +79943,8 @@ const classtable_elt_t VFT_ReduceAction511[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction511 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction511___action},
-  {(bigint) 2 /* 42: ReduceAction511 < ReduceAction511: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction511 < ReduceAction511: superclass init_table position */},
   {(bigint) parser___ReduceAction511___init},
 };
 /* 0: Pointer to the classtable */
@@ -71140,13 +79954,19 @@ val_t NEW_ReduceAction511(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction511;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction511___init() {
+val_t NEW_ReduceAction511_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction511();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction511_parser___ReduceAction511___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction511();
   parser___ReduceAction511___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction512[44] = {
+const classtable_elt_t VFT_ReduceAction512[45] = {
   {(bigint) 663 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction512 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction512 < ReduceAction: superclass typecheck marker */},
@@ -71189,7 +80009,8 @@ const classtable_elt_t VFT_ReduceAction512[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction512 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction512___action},
-  {(bigint) 2 /* 42: ReduceAction512 < ReduceAction512: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction512 < ReduceAction512: superclass init_table position */},
   {(bigint) parser___ReduceAction512___init},
 };
 /* 0: Pointer to the classtable */
@@ -71199,13 +80020,19 @@ val_t NEW_ReduceAction512(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction512;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction512___init() {
+val_t NEW_ReduceAction512_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction512();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction512_parser___ReduceAction512___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction512();
   parser___ReduceAction512___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction513[44] = {
+const classtable_elt_t VFT_ReduceAction513[45] = {
   {(bigint) 659 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction513 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction513 < ReduceAction: superclass typecheck marker */},
@@ -71248,7 +80075,8 @@ const classtable_elt_t VFT_ReduceAction513[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction513 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction513___action},
-  {(bigint) 2 /* 42: ReduceAction513 < ReduceAction513: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction513 < ReduceAction513: superclass init_table position */},
   {(bigint) parser___ReduceAction513___init},
 };
 /* 0: Pointer to the classtable */
@@ -71258,13 +80086,19 @@ val_t NEW_ReduceAction513(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction513;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction513___init() {
+val_t NEW_ReduceAction513_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction513();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction513_parser___ReduceAction513___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction513();
   parser___ReduceAction513___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction514[44] = {
+const classtable_elt_t VFT_ReduceAction514[45] = {
   {(bigint) 655 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction514 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction514 < ReduceAction: superclass typecheck marker */},
@@ -71307,7 +80141,8 @@ const classtable_elt_t VFT_ReduceAction514[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction514 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction514___action},
-  {(bigint) 2 /* 42: ReduceAction514 < ReduceAction514: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction514 < ReduceAction514: superclass init_table position */},
   {(bigint) parser___ReduceAction514___init},
 };
 /* 0: Pointer to the classtable */
@@ -71317,13 +80152,19 @@ val_t NEW_ReduceAction514(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction514;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction514___init() {
+val_t NEW_ReduceAction514_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction514();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction514_parser___ReduceAction514___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction514();
   parser___ReduceAction514___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction515[44] = {
+const classtable_elt_t VFT_ReduceAction515[45] = {
   {(bigint) 651 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction515 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction515 < ReduceAction: superclass typecheck marker */},
@@ -71366,7 +80207,8 @@ const classtable_elt_t VFT_ReduceAction515[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction515 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction515___action},
-  {(bigint) 2 /* 42: ReduceAction515 < ReduceAction515: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction515 < ReduceAction515: superclass init_table position */},
   {(bigint) parser___ReduceAction515___init},
 };
 /* 0: Pointer to the classtable */
@@ -71376,13 +80218,19 @@ val_t NEW_ReduceAction515(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction515;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction515___init() {
+val_t NEW_ReduceAction515_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction515();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction515_parser___ReduceAction515___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction515();
   parser___ReduceAction515___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction516[44] = {
+const classtable_elt_t VFT_ReduceAction516[45] = {
   {(bigint) 647 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction516 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction516 < ReduceAction: superclass typecheck marker */},
@@ -71425,7 +80273,8 @@ const classtable_elt_t VFT_ReduceAction516[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction516 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction516___action},
-  {(bigint) 2 /* 42: ReduceAction516 < ReduceAction516: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction516 < ReduceAction516: superclass init_table position */},
   {(bigint) parser___ReduceAction516___init},
 };
 /* 0: Pointer to the classtable */
@@ -71435,13 +80284,19 @@ val_t NEW_ReduceAction516(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction516;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction516___init() {
+val_t NEW_ReduceAction516_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction516();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction516_parser___ReduceAction516___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction516();
   parser___ReduceAction516___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction517[44] = {
+const classtable_elt_t VFT_ReduceAction517[45] = {
   {(bigint) 643 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction517 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction517 < ReduceAction: superclass typecheck marker */},
@@ -71484,7 +80339,8 @@ const classtable_elt_t VFT_ReduceAction517[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction517 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction517___action},
-  {(bigint) 2 /* 42: ReduceAction517 < ReduceAction517: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction517 < ReduceAction517: superclass init_table position */},
   {(bigint) parser___ReduceAction517___init},
 };
 /* 0: Pointer to the classtable */
@@ -71494,13 +80350,19 @@ val_t NEW_ReduceAction517(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction517;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction517___init() {
+val_t NEW_ReduceAction517_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction517();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction517_parser___ReduceAction517___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction517();
   parser___ReduceAction517___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction518[44] = {
+const classtable_elt_t VFT_ReduceAction518[45] = {
   {(bigint) 639 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction518 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction518 < ReduceAction: superclass typecheck marker */},
@@ -71543,7 +80405,8 @@ const classtable_elt_t VFT_ReduceAction518[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction518 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction518___action},
-  {(bigint) 2 /* 42: ReduceAction518 < ReduceAction518: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction518 < ReduceAction518: superclass init_table position */},
   {(bigint) parser___ReduceAction518___init},
 };
 /* 0: Pointer to the classtable */
@@ -71553,13 +80416,19 @@ val_t NEW_ReduceAction518(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction518;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction518___init() {
+val_t NEW_ReduceAction518_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction518();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction518_parser___ReduceAction518___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction518();
   parser___ReduceAction518___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction519[44] = {
+const classtable_elt_t VFT_ReduceAction519[45] = {
   {(bigint) 635 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction519 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction519 < ReduceAction: superclass typecheck marker */},
@@ -71602,7 +80471,8 @@ const classtable_elt_t VFT_ReduceAction519[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction519 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction519___action},
-  {(bigint) 2 /* 42: ReduceAction519 < ReduceAction519: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction519 < ReduceAction519: superclass init_table position */},
   {(bigint) parser___ReduceAction519___init},
 };
 /* 0: Pointer to the classtable */
@@ -71612,13 +80482,19 @@ val_t NEW_ReduceAction519(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction519;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction519___init() {
+val_t NEW_ReduceAction519_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction519();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction519_parser___ReduceAction519___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction519();
   parser___ReduceAction519___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction520[44] = {
+const classtable_elt_t VFT_ReduceAction520[45] = {
   {(bigint) 627 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction520 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction520 < ReduceAction: superclass typecheck marker */},
@@ -71661,7 +80537,8 @@ const classtable_elt_t VFT_ReduceAction520[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction520 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction520___action},
-  {(bigint) 2 /* 42: ReduceAction520 < ReduceAction520: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction520 < ReduceAction520: superclass init_table position */},
   {(bigint) parser___ReduceAction520___init},
 };
 /* 0: Pointer to the classtable */
@@ -71671,13 +80548,19 @@ val_t NEW_ReduceAction520(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction520;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction520___init() {
+val_t NEW_ReduceAction520_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction520();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction520_parser___ReduceAction520___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction520();
   parser___ReduceAction520___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction521[44] = {
+const classtable_elt_t VFT_ReduceAction521[45] = {
   {(bigint) 623 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction521 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction521 < ReduceAction: superclass typecheck marker */},
@@ -71720,7 +80603,8 @@ const classtable_elt_t VFT_ReduceAction521[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction521 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction521___action},
-  {(bigint) 2 /* 42: ReduceAction521 < ReduceAction521: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction521 < ReduceAction521: superclass init_table position */},
   {(bigint) parser___ReduceAction521___init},
 };
 /* 0: Pointer to the classtable */
@@ -71730,13 +80614,19 @@ val_t NEW_ReduceAction521(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction521;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction521___init() {
+val_t NEW_ReduceAction521_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction521();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction521_parser___ReduceAction521___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction521();
   parser___ReduceAction521___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction522[44] = {
+const classtable_elt_t VFT_ReduceAction522[45] = {
   {(bigint) 619 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction522 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction522 < ReduceAction: superclass typecheck marker */},
@@ -71779,7 +80669,8 @@ const classtable_elt_t VFT_ReduceAction522[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction522 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction522___action},
-  {(bigint) 2 /* 42: ReduceAction522 < ReduceAction522: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction522 < ReduceAction522: superclass init_table position */},
   {(bigint) parser___ReduceAction522___init},
 };
 /* 0: Pointer to the classtable */
@@ -71789,13 +80680,19 @@ val_t NEW_ReduceAction522(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction522;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction522___init() {
+val_t NEW_ReduceAction522_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction522();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction522_parser___ReduceAction522___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction522();
   parser___ReduceAction522___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction523[44] = {
+const classtable_elt_t VFT_ReduceAction523[45] = {
   {(bigint) 615 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction523 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction523 < ReduceAction: superclass typecheck marker */},
@@ -71838,7 +80735,8 @@ const classtable_elt_t VFT_ReduceAction523[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction523 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction523___action},
-  {(bigint) 2 /* 42: ReduceAction523 < ReduceAction523: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction523 < ReduceAction523: superclass init_table position */},
   {(bigint) parser___ReduceAction523___init},
 };
 /* 0: Pointer to the classtable */
@@ -71848,13 +80746,19 @@ val_t NEW_ReduceAction523(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction523;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction523___init() {
+val_t NEW_ReduceAction523_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction523();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction523_parser___ReduceAction523___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction523();
   parser___ReduceAction523___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction524[44] = {
+const classtable_elt_t VFT_ReduceAction524[45] = {
   {(bigint) 611 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction524 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction524 < ReduceAction: superclass typecheck marker */},
@@ -71897,7 +80801,8 @@ const classtable_elt_t VFT_ReduceAction524[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction524 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction524___action},
-  {(bigint) 2 /* 42: ReduceAction524 < ReduceAction524: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction524 < ReduceAction524: superclass init_table position */},
   {(bigint) parser___ReduceAction524___init},
 };
 /* 0: Pointer to the classtable */
@@ -71907,13 +80812,19 @@ val_t NEW_ReduceAction524(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction524;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction524___init() {
+val_t NEW_ReduceAction524_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction524();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction524_parser___ReduceAction524___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction524();
   parser___ReduceAction524___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction525[44] = {
+const classtable_elt_t VFT_ReduceAction525[45] = {
   {(bigint) 607 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction525 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction525 < ReduceAction: superclass typecheck marker */},
@@ -71956,7 +80867,8 @@ const classtable_elt_t VFT_ReduceAction525[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction525 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction525___action},
-  {(bigint) 2 /* 42: ReduceAction525 < ReduceAction525: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction525 < ReduceAction525: superclass init_table position */},
   {(bigint) parser___ReduceAction525___init},
 };
 /* 0: Pointer to the classtable */
@@ -71966,13 +80878,19 @@ val_t NEW_ReduceAction525(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction525;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction525___init() {
+val_t NEW_ReduceAction525_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction525();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction525_parser___ReduceAction525___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction525();
   parser___ReduceAction525___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction526[44] = {
+const classtable_elt_t VFT_ReduceAction526[45] = {
   {(bigint) 603 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction526 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction526 < ReduceAction: superclass typecheck marker */},
@@ -72015,7 +80933,8 @@ const classtable_elt_t VFT_ReduceAction526[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction526 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction526___action},
-  {(bigint) 2 /* 42: ReduceAction526 < ReduceAction526: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction526 < ReduceAction526: superclass init_table position */},
   {(bigint) parser___ReduceAction526___init},
 };
 /* 0: Pointer to the classtable */
@@ -72025,13 +80944,19 @@ val_t NEW_ReduceAction526(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction526;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction526___init() {
+val_t NEW_ReduceAction526_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction526();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction526_parser___ReduceAction526___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction526();
   parser___ReduceAction526___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction527[44] = {
+const classtable_elt_t VFT_ReduceAction527[45] = {
   {(bigint) 599 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction527 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction527 < ReduceAction: superclass typecheck marker */},
@@ -72074,7 +80999,8 @@ const classtable_elt_t VFT_ReduceAction527[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction527 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction527___action},
-  {(bigint) 2 /* 42: ReduceAction527 < ReduceAction527: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction527 < ReduceAction527: superclass init_table position */},
   {(bigint) parser___ReduceAction527___init},
 };
 /* 0: Pointer to the classtable */
@@ -72084,13 +81010,19 @@ val_t NEW_ReduceAction527(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction527;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction527___init() {
+val_t NEW_ReduceAction527_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction527();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction527_parser___ReduceAction527___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction527();
   parser___ReduceAction527___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction528[44] = {
+const classtable_elt_t VFT_ReduceAction528[45] = {
   {(bigint) 595 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction528 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction528 < ReduceAction: superclass typecheck marker */},
@@ -72133,7 +81065,8 @@ const classtable_elt_t VFT_ReduceAction528[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction528 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction528___action},
-  {(bigint) 2 /* 42: ReduceAction528 < ReduceAction528: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction528 < ReduceAction528: superclass init_table position */},
   {(bigint) parser___ReduceAction528___init},
 };
 /* 0: Pointer to the classtable */
@@ -72143,13 +81076,19 @@ val_t NEW_ReduceAction528(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction528;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction528___init() {
+val_t NEW_ReduceAction528_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction528();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction528_parser___ReduceAction528___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction528();
   parser___ReduceAction528___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction529[44] = {
+const classtable_elt_t VFT_ReduceAction529[45] = {
   {(bigint) 591 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction529 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction529 < ReduceAction: superclass typecheck marker */},
@@ -72192,7 +81131,8 @@ const classtable_elt_t VFT_ReduceAction529[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction529 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction529___action},
-  {(bigint) 2 /* 42: ReduceAction529 < ReduceAction529: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction529 < ReduceAction529: superclass init_table position */},
   {(bigint) parser___ReduceAction529___init},
 };
 /* 0: Pointer to the classtable */
@@ -72202,13 +81142,19 @@ val_t NEW_ReduceAction529(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction529;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction529___init() {
+val_t NEW_ReduceAction529_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction529();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction529_parser___ReduceAction529___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction529();
   parser___ReduceAction529___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction530[44] = {
+const classtable_elt_t VFT_ReduceAction530[45] = {
   {(bigint) 583 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction530 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction530 < ReduceAction: superclass typecheck marker */},
@@ -72251,7 +81197,8 @@ const classtable_elt_t VFT_ReduceAction530[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction530 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction530___action},
-  {(bigint) 2 /* 42: ReduceAction530 < ReduceAction530: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction530 < ReduceAction530: superclass init_table position */},
   {(bigint) parser___ReduceAction530___init},
 };
 /* 0: Pointer to the classtable */
@@ -72261,13 +81208,19 @@ val_t NEW_ReduceAction530(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction530;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction530___init() {
+val_t NEW_ReduceAction530_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction530();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction530_parser___ReduceAction530___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction530();
   parser___ReduceAction530___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction531[44] = {
+const classtable_elt_t VFT_ReduceAction531[45] = {
   {(bigint) 579 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction531 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction531 < ReduceAction: superclass typecheck marker */},
@@ -72310,7 +81263,8 @@ const classtable_elt_t VFT_ReduceAction531[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction531 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction531___action},
-  {(bigint) 2 /* 42: ReduceAction531 < ReduceAction531: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction531 < ReduceAction531: superclass init_table position */},
   {(bigint) parser___ReduceAction531___init},
 };
 /* 0: Pointer to the classtable */
@@ -72320,13 +81274,19 @@ val_t NEW_ReduceAction531(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction531;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction531___init() {
+val_t NEW_ReduceAction531_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction531();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction531_parser___ReduceAction531___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction531();
   parser___ReduceAction531___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction532[44] = {
+const classtable_elt_t VFT_ReduceAction532[45] = {
   {(bigint) 575 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction532 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction532 < ReduceAction: superclass typecheck marker */},
@@ -72369,7 +81329,8 @@ const classtable_elt_t VFT_ReduceAction532[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction532 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction532___action},
-  {(bigint) 2 /* 42: ReduceAction532 < ReduceAction532: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction532 < ReduceAction532: superclass init_table position */},
   {(bigint) parser___ReduceAction532___init},
 };
 /* 0: Pointer to the classtable */
@@ -72379,13 +81340,19 @@ val_t NEW_ReduceAction532(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction532;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction532___init() {
+val_t NEW_ReduceAction532_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction532();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction532_parser___ReduceAction532___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction532();
   parser___ReduceAction532___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction533[44] = {
+const classtable_elt_t VFT_ReduceAction533[45] = {
   {(bigint) 571 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction533 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction533 < ReduceAction: superclass typecheck marker */},
@@ -72428,7 +81395,8 @@ const classtable_elt_t VFT_ReduceAction533[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction533 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction533___action},
-  {(bigint) 2 /* 42: ReduceAction533 < ReduceAction533: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction533 < ReduceAction533: superclass init_table position */},
   {(bigint) parser___ReduceAction533___init},
 };
 /* 0: Pointer to the classtable */
@@ -72438,13 +81406,19 @@ val_t NEW_ReduceAction533(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction533;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction533___init() {
+val_t NEW_ReduceAction533_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction533();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction533_parser___ReduceAction533___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction533();
   parser___ReduceAction533___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction534[44] = {
+const classtable_elt_t VFT_ReduceAction534[45] = {
   {(bigint) 567 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction534 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction534 < ReduceAction: superclass typecheck marker */},
@@ -72487,7 +81461,8 @@ const classtable_elt_t VFT_ReduceAction534[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction534 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction534___action},
-  {(bigint) 2 /* 42: ReduceAction534 < ReduceAction534: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction534 < ReduceAction534: superclass init_table position */},
   {(bigint) parser___ReduceAction534___init},
 };
 /* 0: Pointer to the classtable */
@@ -72497,13 +81472,19 @@ val_t NEW_ReduceAction534(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction534;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction534___init() {
+val_t NEW_ReduceAction534_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction534();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction534_parser___ReduceAction534___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction534();
   parser___ReduceAction534___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction535[44] = {
+const classtable_elt_t VFT_ReduceAction535[45] = {
   {(bigint) 563 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction535 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction535 < ReduceAction: superclass typecheck marker */},
@@ -72546,7 +81527,8 @@ const classtable_elt_t VFT_ReduceAction535[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction535 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction535___action},
-  {(bigint) 2 /* 42: ReduceAction535 < ReduceAction535: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction535 < ReduceAction535: superclass init_table position */},
   {(bigint) parser___ReduceAction535___init},
 };
 /* 0: Pointer to the classtable */
@@ -72556,13 +81538,19 @@ val_t NEW_ReduceAction535(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction535;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction535___init() {
+val_t NEW_ReduceAction535_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction535();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction535_parser___ReduceAction535___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction535();
   parser___ReduceAction535___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction536[44] = {
+const classtable_elt_t VFT_ReduceAction536[45] = {
   {(bigint) 559 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction536 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction536 < ReduceAction: superclass typecheck marker */},
@@ -72605,7 +81593,8 @@ const classtable_elt_t VFT_ReduceAction536[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction536 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction536___action},
-  {(bigint) 2 /* 42: ReduceAction536 < ReduceAction536: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction536 < ReduceAction536: superclass init_table position */},
   {(bigint) parser___ReduceAction536___init},
 };
 /* 0: Pointer to the classtable */
@@ -72615,13 +81604,19 @@ val_t NEW_ReduceAction536(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction536;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction536___init() {
+val_t NEW_ReduceAction536_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction536();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction536_parser___ReduceAction536___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction536();
   parser___ReduceAction536___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction537[44] = {
+const classtable_elt_t VFT_ReduceAction537[45] = {
   {(bigint) 555 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction537 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction537 < ReduceAction: superclass typecheck marker */},
@@ -72664,7 +81659,8 @@ const classtable_elt_t VFT_ReduceAction537[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction537 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction537___action},
-  {(bigint) 2 /* 42: ReduceAction537 < ReduceAction537: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction537 < ReduceAction537: superclass init_table position */},
   {(bigint) parser___ReduceAction537___init},
 };
 /* 0: Pointer to the classtable */
@@ -72674,13 +81670,19 @@ val_t NEW_ReduceAction537(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction537;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction537___init() {
+val_t NEW_ReduceAction537_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction537();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction537_parser___ReduceAction537___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction537();
   parser___ReduceAction537___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction538[44] = {
+const classtable_elt_t VFT_ReduceAction538[45] = {
   {(bigint) 551 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction538 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction538 < ReduceAction: superclass typecheck marker */},
@@ -72723,7 +81725,8 @@ const classtable_elt_t VFT_ReduceAction538[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction538 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction538___action},
-  {(bigint) 2 /* 42: ReduceAction538 < ReduceAction538: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction538 < ReduceAction538: superclass init_table position */},
   {(bigint) parser___ReduceAction538___init},
 };
 /* 0: Pointer to the classtable */
@@ -72733,13 +81736,19 @@ val_t NEW_ReduceAction538(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction538;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction538___init() {
+val_t NEW_ReduceAction538_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction538();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction538_parser___ReduceAction538___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction538();
   parser___ReduceAction538___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction539[44] = {
+const classtable_elt_t VFT_ReduceAction539[45] = {
   {(bigint) 547 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction539 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction539 < ReduceAction: superclass typecheck marker */},
@@ -72782,7 +81791,8 @@ const classtable_elt_t VFT_ReduceAction539[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction539 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction539___action},
-  {(bigint) 2 /* 42: ReduceAction539 < ReduceAction539: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction539 < ReduceAction539: superclass init_table position */},
   {(bigint) parser___ReduceAction539___init},
 };
 /* 0: Pointer to the classtable */
@@ -72792,13 +81802,19 @@ val_t NEW_ReduceAction539(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction539;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction539___init() {
+val_t NEW_ReduceAction539_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction539();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction539_parser___ReduceAction539___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction539();
   parser___ReduceAction539___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction540[44] = {
+const classtable_elt_t VFT_ReduceAction540[45] = {
   {(bigint) 539 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction540 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction540 < ReduceAction: superclass typecheck marker */},
@@ -72841,7 +81857,8 @@ const classtable_elt_t VFT_ReduceAction540[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction540 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction540___action},
-  {(bigint) 2 /* 42: ReduceAction540 < ReduceAction540: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction540 < ReduceAction540: superclass init_table position */},
   {(bigint) parser___ReduceAction540___init},
 };
 /* 0: Pointer to the classtable */
@@ -72851,13 +81868,19 @@ val_t NEW_ReduceAction540(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction540;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction540___init() {
+val_t NEW_ReduceAction540_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction540();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction540_parser___ReduceAction540___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction540();
   parser___ReduceAction540___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction541[44] = {
+const classtable_elt_t VFT_ReduceAction541[45] = {
   {(bigint) 535 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction541 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction541 < ReduceAction: superclass typecheck marker */},
@@ -72900,7 +81923,8 @@ const classtable_elt_t VFT_ReduceAction541[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction541 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction541___action},
-  {(bigint) 2 /* 42: ReduceAction541 < ReduceAction541: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction541 < ReduceAction541: superclass init_table position */},
   {(bigint) parser___ReduceAction541___init},
 };
 /* 0: Pointer to the classtable */
@@ -72910,13 +81934,19 @@ val_t NEW_ReduceAction541(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction541;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction541___init() {
+val_t NEW_ReduceAction541_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction541();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction541_parser___ReduceAction541___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction541();
   parser___ReduceAction541___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction542[44] = {
+const classtable_elt_t VFT_ReduceAction542[45] = {
   {(bigint) 531 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction542 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction542 < ReduceAction: superclass typecheck marker */},
@@ -72959,7 +81989,8 @@ const classtable_elt_t VFT_ReduceAction542[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction542 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction542___action},
-  {(bigint) 2 /* 42: ReduceAction542 < ReduceAction542: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction542 < ReduceAction542: superclass init_table position */},
   {(bigint) parser___ReduceAction542___init},
 };
 /* 0: Pointer to the classtable */
@@ -72969,13 +82000,19 @@ val_t NEW_ReduceAction542(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction542;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction542___init() {
+val_t NEW_ReduceAction542_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction542();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction542_parser___ReduceAction542___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction542();
   parser___ReduceAction542___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction543[44] = {
+const classtable_elt_t VFT_ReduceAction543[45] = {
   {(bigint) 527 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction543 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction543 < ReduceAction: superclass typecheck marker */},
@@ -73018,7 +82055,8 @@ const classtable_elt_t VFT_ReduceAction543[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction543 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction543___action},
-  {(bigint) 2 /* 42: ReduceAction543 < ReduceAction543: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction543 < ReduceAction543: superclass init_table position */},
   {(bigint) parser___ReduceAction543___init},
 };
 /* 0: Pointer to the classtable */
@@ -73028,13 +82066,19 @@ val_t NEW_ReduceAction543(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction543;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction543___init() {
+val_t NEW_ReduceAction543_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction543();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction543_parser___ReduceAction543___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction543();
   parser___ReduceAction543___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction544[44] = {
+const classtable_elt_t VFT_ReduceAction544[45] = {
   {(bigint) 523 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction544 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction544 < ReduceAction: superclass typecheck marker */},
@@ -73077,7 +82121,8 @@ const classtable_elt_t VFT_ReduceAction544[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction544 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction544___action},
-  {(bigint) 2 /* 42: ReduceAction544 < ReduceAction544: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction544 < ReduceAction544: superclass init_table position */},
   {(bigint) parser___ReduceAction544___init},
 };
 /* 0: Pointer to the classtable */
@@ -73087,13 +82132,19 @@ val_t NEW_ReduceAction544(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction544;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction544___init() {
+val_t NEW_ReduceAction544_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction544();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction544_parser___ReduceAction544___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction544();
   parser___ReduceAction544___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction545[44] = {
+const classtable_elt_t VFT_ReduceAction545[45] = {
   {(bigint) 519 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction545 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction545 < ReduceAction: superclass typecheck marker */},
@@ -73136,7 +82187,8 @@ const classtable_elt_t VFT_ReduceAction545[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction545 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction545___action},
-  {(bigint) 2 /* 42: ReduceAction545 < ReduceAction545: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction545 < ReduceAction545: superclass init_table position */},
   {(bigint) parser___ReduceAction545___init},
 };
 /* 0: Pointer to the classtable */
@@ -73146,13 +82198,19 @@ val_t NEW_ReduceAction545(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction545;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction545___init() {
+val_t NEW_ReduceAction545_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction545();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction545_parser___ReduceAction545___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction545();
   parser___ReduceAction545___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction546[44] = {
+const classtable_elt_t VFT_ReduceAction546[45] = {
   {(bigint) 515 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction546 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction546 < ReduceAction: superclass typecheck marker */},
@@ -73195,7 +82253,8 @@ const classtable_elt_t VFT_ReduceAction546[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction546 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction546___action},
-  {(bigint) 2 /* 42: ReduceAction546 < ReduceAction546: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction546 < ReduceAction546: superclass init_table position */},
   {(bigint) parser___ReduceAction546___init},
 };
 /* 0: Pointer to the classtable */
@@ -73205,13 +82264,19 @@ val_t NEW_ReduceAction546(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction546;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction546___init() {
+val_t NEW_ReduceAction546_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction546();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction546_parser___ReduceAction546___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction546();
   parser___ReduceAction546___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction547[44] = {
+const classtable_elt_t VFT_ReduceAction547[45] = {
   {(bigint) 511 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction547 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction547 < ReduceAction: superclass typecheck marker */},
@@ -73254,7 +82319,8 @@ const classtable_elt_t VFT_ReduceAction547[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction547 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction547___action},
-  {(bigint) 2 /* 42: ReduceAction547 < ReduceAction547: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction547 < ReduceAction547: superclass init_table position */},
   {(bigint) parser___ReduceAction547___init},
 };
 /* 0: Pointer to the classtable */
@@ -73264,13 +82330,19 @@ val_t NEW_ReduceAction547(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction547;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction547___init() {
+val_t NEW_ReduceAction547_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction547();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction547_parser___ReduceAction547___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction547();
   parser___ReduceAction547___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction548[44] = {
+const classtable_elt_t VFT_ReduceAction548[45] = {
   {(bigint) 507 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction548 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction548 < ReduceAction: superclass typecheck marker */},
@@ -73313,7 +82385,8 @@ const classtable_elt_t VFT_ReduceAction548[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction548 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction548___action},
-  {(bigint) 2 /* 42: ReduceAction548 < ReduceAction548: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction548 < ReduceAction548: superclass init_table position */},
   {(bigint) parser___ReduceAction548___init},
 };
 /* 0: Pointer to the classtable */
@@ -73323,13 +82396,19 @@ val_t NEW_ReduceAction548(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction548;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction548___init() {
+val_t NEW_ReduceAction548_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction548();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction548_parser___ReduceAction548___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction548();
   parser___ReduceAction548___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction549[44] = {
+const classtable_elt_t VFT_ReduceAction549[45] = {
   {(bigint) 503 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction549 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction549 < ReduceAction: superclass typecheck marker */},
@@ -73372,7 +82451,8 @@ const classtable_elt_t VFT_ReduceAction549[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction549 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction549___action},
-  {(bigint) 2 /* 42: ReduceAction549 < ReduceAction549: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction549 < ReduceAction549: superclass init_table position */},
   {(bigint) parser___ReduceAction549___init},
 };
 /* 0: Pointer to the classtable */
@@ -73382,13 +82462,19 @@ val_t NEW_ReduceAction549(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction549;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction549___init() {
+val_t NEW_ReduceAction549_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction549();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction549_parser___ReduceAction549___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction549();
   parser___ReduceAction549___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction550[44] = {
+const classtable_elt_t VFT_ReduceAction550[45] = {
   {(bigint) 495 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction550 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction550 < ReduceAction: superclass typecheck marker */},
@@ -73431,7 +82517,8 @@ const classtable_elt_t VFT_ReduceAction550[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction550 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction550___action},
-  {(bigint) 2 /* 42: ReduceAction550 < ReduceAction550: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction550 < ReduceAction550: superclass init_table position */},
   {(bigint) parser___ReduceAction550___init},
 };
 /* 0: Pointer to the classtable */
@@ -73441,13 +82528,19 @@ val_t NEW_ReduceAction550(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction550;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction550___init() {
+val_t NEW_ReduceAction550_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction550();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction550_parser___ReduceAction550___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction550();
   parser___ReduceAction550___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction551[44] = {
+const classtable_elt_t VFT_ReduceAction551[45] = {
   {(bigint) 491 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction551 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction551 < ReduceAction: superclass typecheck marker */},
@@ -73490,7 +82583,8 @@ const classtable_elt_t VFT_ReduceAction551[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction551 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction551___action},
-  {(bigint) 2 /* 42: ReduceAction551 < ReduceAction551: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction551 < ReduceAction551: superclass init_table position */},
   {(bigint) parser___ReduceAction551___init},
 };
 /* 0: Pointer to the classtable */
@@ -73500,13 +82594,19 @@ val_t NEW_ReduceAction551(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction551;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction551___init() {
+val_t NEW_ReduceAction551_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction551();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction551_parser___ReduceAction551___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction551();
   parser___ReduceAction551___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction552[44] = {
+const classtable_elt_t VFT_ReduceAction552[45] = {
   {(bigint) 487 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction552 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction552 < ReduceAction: superclass typecheck marker */},
@@ -73549,7 +82649,8 @@ const classtable_elt_t VFT_ReduceAction552[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction552 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction552___action},
-  {(bigint) 2 /* 42: ReduceAction552 < ReduceAction552: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction552 < ReduceAction552: superclass init_table position */},
   {(bigint) parser___ReduceAction552___init},
 };
 /* 0: Pointer to the classtable */
@@ -73559,13 +82660,19 @@ val_t NEW_ReduceAction552(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction552;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction552___init() {
+val_t NEW_ReduceAction552_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction552();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction552_parser___ReduceAction552___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction552();
   parser___ReduceAction552___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction553[44] = {
+const classtable_elt_t VFT_ReduceAction553[45] = {
   {(bigint) 483 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction553 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction553 < ReduceAction: superclass typecheck marker */},
@@ -73608,7 +82715,8 @@ const classtable_elt_t VFT_ReduceAction553[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction553 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction553___action},
-  {(bigint) 2 /* 42: ReduceAction553 < ReduceAction553: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction553 < ReduceAction553: superclass init_table position */},
   {(bigint) parser___ReduceAction553___init},
 };
 /* 0: Pointer to the classtable */
@@ -73618,13 +82726,19 @@ val_t NEW_ReduceAction553(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction553;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction553___init() {
+val_t NEW_ReduceAction553_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction553();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction553_parser___ReduceAction553___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction553();
   parser___ReduceAction553___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction554[44] = {
+const classtable_elt_t VFT_ReduceAction554[45] = {
   {(bigint) 479 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction554 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction554 < ReduceAction: superclass typecheck marker */},
@@ -73667,7 +82781,8 @@ const classtable_elt_t VFT_ReduceAction554[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction554 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction554___action},
-  {(bigint) 2 /* 42: ReduceAction554 < ReduceAction554: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction554 < ReduceAction554: superclass init_table position */},
   {(bigint) parser___ReduceAction554___init},
 };
 /* 0: Pointer to the classtable */
@@ -73677,13 +82792,19 @@ val_t NEW_ReduceAction554(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction554;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction554___init() {
+val_t NEW_ReduceAction554_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction554();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction554_parser___ReduceAction554___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction554();
   parser___ReduceAction554___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction555[44] = {
+const classtable_elt_t VFT_ReduceAction555[45] = {
   {(bigint) 475 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction555 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction555 < ReduceAction: superclass typecheck marker */},
@@ -73726,7 +82847,8 @@ const classtable_elt_t VFT_ReduceAction555[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction555 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction555___action},
-  {(bigint) 2 /* 42: ReduceAction555 < ReduceAction555: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction555 < ReduceAction555: superclass init_table position */},
   {(bigint) parser___ReduceAction555___init},
 };
 /* 0: Pointer to the classtable */
@@ -73736,13 +82858,19 @@ val_t NEW_ReduceAction555(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction555;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction555___init() {
+val_t NEW_ReduceAction555_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction555();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction555_parser___ReduceAction555___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction555();
   parser___ReduceAction555___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction556[44] = {
+const classtable_elt_t VFT_ReduceAction556[45] = {
   {(bigint) 471 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction556 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction556 < ReduceAction: superclass typecheck marker */},
@@ -73785,7 +82913,8 @@ const classtable_elt_t VFT_ReduceAction556[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction556 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction556___action},
-  {(bigint) 2 /* 42: ReduceAction556 < ReduceAction556: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction556 < ReduceAction556: superclass init_table position */},
   {(bigint) parser___ReduceAction556___init},
 };
 /* 0: Pointer to the classtable */
@@ -73795,13 +82924,19 @@ val_t NEW_ReduceAction556(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction556;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction556___init() {
+val_t NEW_ReduceAction556_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction556();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction556_parser___ReduceAction556___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction556();
   parser___ReduceAction556___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction557[44] = {
+const classtable_elt_t VFT_ReduceAction557[45] = {
   {(bigint) 467 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction557 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction557 < ReduceAction: superclass typecheck marker */},
@@ -73844,7 +82979,8 @@ const classtable_elt_t VFT_ReduceAction557[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction557 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction557___action},
-  {(bigint) 2 /* 42: ReduceAction557 < ReduceAction557: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction557 < ReduceAction557: superclass init_table position */},
   {(bigint) parser___ReduceAction557___init},
 };
 /* 0: Pointer to the classtable */
@@ -73854,13 +82990,19 @@ val_t NEW_ReduceAction557(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction557;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction557___init() {
+val_t NEW_ReduceAction557_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction557();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction557_parser___ReduceAction557___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction557();
   parser___ReduceAction557___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction558[44] = {
+const classtable_elt_t VFT_ReduceAction558[45] = {
   {(bigint) 463 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction558 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction558 < ReduceAction: superclass typecheck marker */},
@@ -73903,7 +83045,8 @@ const classtable_elt_t VFT_ReduceAction558[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction558 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction558___action},
-  {(bigint) 2 /* 42: ReduceAction558 < ReduceAction558: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction558 < ReduceAction558: superclass init_table position */},
   {(bigint) parser___ReduceAction558___init},
 };
 /* 0: Pointer to the classtable */
@@ -73913,13 +83056,19 @@ val_t NEW_ReduceAction558(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction558;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction558___init() {
+val_t NEW_ReduceAction558_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction558();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction558_parser___ReduceAction558___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction558();
   parser___ReduceAction558___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction559[44] = {
+const classtable_elt_t VFT_ReduceAction559[45] = {
   {(bigint) 459 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction559 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction559 < ReduceAction: superclass typecheck marker */},
@@ -73962,7 +83111,8 @@ const classtable_elt_t VFT_ReduceAction559[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction559 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction559___action},
-  {(bigint) 2 /* 42: ReduceAction559 < ReduceAction559: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction559 < ReduceAction559: superclass init_table position */},
   {(bigint) parser___ReduceAction559___init},
 };
 /* 0: Pointer to the classtable */
@@ -73972,13 +83122,19 @@ val_t NEW_ReduceAction559(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction559;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction559___init() {
+val_t NEW_ReduceAction559_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction559();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction559_parser___ReduceAction559___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction559();
   parser___ReduceAction559___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction560[44] = {
+const classtable_elt_t VFT_ReduceAction560[45] = {
   {(bigint) 451 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction560 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction560 < ReduceAction: superclass typecheck marker */},
@@ -74021,7 +83177,8 @@ const classtable_elt_t VFT_ReduceAction560[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction560 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction560___action},
-  {(bigint) 2 /* 42: ReduceAction560 < ReduceAction560: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction560 < ReduceAction560: superclass init_table position */},
   {(bigint) parser___ReduceAction560___init},
 };
 /* 0: Pointer to the classtable */
@@ -74031,13 +83188,19 @@ val_t NEW_ReduceAction560(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction560;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction560___init() {
+val_t NEW_ReduceAction560_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction560();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction560_parser___ReduceAction560___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction560();
   parser___ReduceAction560___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction561[44] = {
+const classtable_elt_t VFT_ReduceAction561[45] = {
   {(bigint) 447 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction561 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction561 < ReduceAction: superclass typecheck marker */},
@@ -74080,7 +83243,8 @@ const classtable_elt_t VFT_ReduceAction561[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction561 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction561___action},
-  {(bigint) 2 /* 42: ReduceAction561 < ReduceAction561: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction561 < ReduceAction561: superclass init_table position */},
   {(bigint) parser___ReduceAction561___init},
 };
 /* 0: Pointer to the classtable */
@@ -74090,13 +83254,19 @@ val_t NEW_ReduceAction561(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction561;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction561___init() {
+val_t NEW_ReduceAction561_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction561();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction561_parser___ReduceAction561___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction561();
   parser___ReduceAction561___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction562[44] = {
+const classtable_elt_t VFT_ReduceAction562[45] = {
   {(bigint) 443 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction562 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction562 < ReduceAction: superclass typecheck marker */},
@@ -74139,7 +83309,8 @@ const classtable_elt_t VFT_ReduceAction562[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction562 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction562___action},
-  {(bigint) 2 /* 42: ReduceAction562 < ReduceAction562: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction562 < ReduceAction562: superclass init_table position */},
   {(bigint) parser___ReduceAction562___init},
 };
 /* 0: Pointer to the classtable */
@@ -74149,13 +83320,19 @@ val_t NEW_ReduceAction562(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction562;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction562___init() {
+val_t NEW_ReduceAction562_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction562();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction562_parser___ReduceAction562___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction562();
   parser___ReduceAction562___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction563[44] = {
+const classtable_elt_t VFT_ReduceAction563[45] = {
   {(bigint) 439 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction563 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction563 < ReduceAction: superclass typecheck marker */},
@@ -74198,7 +83375,8 @@ const classtable_elt_t VFT_ReduceAction563[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction563 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction563___action},
-  {(bigint) 2 /* 42: ReduceAction563 < ReduceAction563: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction563 < ReduceAction563: superclass init_table position */},
   {(bigint) parser___ReduceAction563___init},
 };
 /* 0: Pointer to the classtable */
@@ -74208,13 +83386,19 @@ val_t NEW_ReduceAction563(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction563;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction563___init() {
+val_t NEW_ReduceAction563_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction563();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction563_parser___ReduceAction563___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction563();
   parser___ReduceAction563___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction564[44] = {
+const classtable_elt_t VFT_ReduceAction564[45] = {
   {(bigint) 435 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction564 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction564 < ReduceAction: superclass typecheck marker */},
@@ -74257,7 +83441,8 @@ const classtable_elt_t VFT_ReduceAction564[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction564 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction564___action},
-  {(bigint) 2 /* 42: ReduceAction564 < ReduceAction564: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction564 < ReduceAction564: superclass init_table position */},
   {(bigint) parser___ReduceAction564___init},
 };
 /* 0: Pointer to the classtable */
@@ -74267,13 +83452,19 @@ val_t NEW_ReduceAction564(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction564;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction564___init() {
+val_t NEW_ReduceAction564_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction564();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction564_parser___ReduceAction564___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction564();
   parser___ReduceAction564___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction565[44] = {
+const classtable_elt_t VFT_ReduceAction565[45] = {
   {(bigint) 431 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction565 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction565 < ReduceAction: superclass typecheck marker */},
@@ -74316,7 +83507,8 @@ const classtable_elt_t VFT_ReduceAction565[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction565 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction565___action},
-  {(bigint) 2 /* 42: ReduceAction565 < ReduceAction565: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction565 < ReduceAction565: superclass init_table position */},
   {(bigint) parser___ReduceAction565___init},
 };
 /* 0: Pointer to the classtable */
@@ -74326,13 +83518,19 @@ val_t NEW_ReduceAction565(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction565;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction565___init() {
+val_t NEW_ReduceAction565_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction565();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction565_parser___ReduceAction565___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction565();
   parser___ReduceAction565___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction566[44] = {
+const classtable_elt_t VFT_ReduceAction566[45] = {
   {(bigint) 427 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction566 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction566 < ReduceAction: superclass typecheck marker */},
@@ -74375,7 +83573,8 @@ const classtable_elt_t VFT_ReduceAction566[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction566 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction566___action},
-  {(bigint) 2 /* 42: ReduceAction566 < ReduceAction566: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction566 < ReduceAction566: superclass init_table position */},
   {(bigint) parser___ReduceAction566___init},
 };
 /* 0: Pointer to the classtable */
@@ -74385,13 +83584,19 @@ val_t NEW_ReduceAction566(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction566;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction566___init() {
+val_t NEW_ReduceAction566_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction566();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction566_parser___ReduceAction566___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction566();
   parser___ReduceAction566___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction567[44] = {
+const classtable_elt_t VFT_ReduceAction567[45] = {
   {(bigint) 423 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction567 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction567 < ReduceAction: superclass typecheck marker */},
@@ -74434,7 +83639,8 @@ const classtable_elt_t VFT_ReduceAction567[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction567 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction567___action},
-  {(bigint) 2 /* 42: ReduceAction567 < ReduceAction567: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction567 < ReduceAction567: superclass init_table position */},
   {(bigint) parser___ReduceAction567___init},
 };
 /* 0: Pointer to the classtable */
@@ -74444,13 +83650,19 @@ val_t NEW_ReduceAction567(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction567;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction567___init() {
+val_t NEW_ReduceAction567_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction567();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction567_parser___ReduceAction567___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction567();
   parser___ReduceAction567___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction568[44] = {
+const classtable_elt_t VFT_ReduceAction568[45] = {
   {(bigint) 419 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction568 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction568 < ReduceAction: superclass typecheck marker */},
@@ -74493,7 +83705,8 @@ const classtable_elt_t VFT_ReduceAction568[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction568 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction568___action},
-  {(bigint) 2 /* 42: ReduceAction568 < ReduceAction568: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction568 < ReduceAction568: superclass init_table position */},
   {(bigint) parser___ReduceAction568___init},
 };
 /* 0: Pointer to the classtable */
@@ -74503,13 +83716,19 @@ val_t NEW_ReduceAction568(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction568;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction568___init() {
+val_t NEW_ReduceAction568_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction568();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction568_parser___ReduceAction568___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction568();
   parser___ReduceAction568___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction569[44] = {
+const classtable_elt_t VFT_ReduceAction569[45] = {
   {(bigint) 415 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction569 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction569 < ReduceAction: superclass typecheck marker */},
@@ -74552,7 +83771,8 @@ const classtable_elt_t VFT_ReduceAction569[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction569 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction569___action},
-  {(bigint) 2 /* 42: ReduceAction569 < ReduceAction569: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction569 < ReduceAction569: superclass init_table position */},
   {(bigint) parser___ReduceAction569___init},
 };
 /* 0: Pointer to the classtable */
@@ -74562,13 +83782,19 @@ val_t NEW_ReduceAction569(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction569;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction569___init() {
+val_t NEW_ReduceAction569_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction569();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction569_parser___ReduceAction569___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction569();
   parser___ReduceAction569___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction570[44] = {
+const classtable_elt_t VFT_ReduceAction570[45] = {
   {(bigint) 407 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction570 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction570 < ReduceAction: superclass typecheck marker */},
@@ -74611,7 +83837,8 @@ const classtable_elt_t VFT_ReduceAction570[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction570 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction570___action},
-  {(bigint) 2 /* 42: ReduceAction570 < ReduceAction570: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction570 < ReduceAction570: superclass init_table position */},
   {(bigint) parser___ReduceAction570___init},
 };
 /* 0: Pointer to the classtable */
@@ -74621,13 +83848,19 @@ val_t NEW_ReduceAction570(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction570;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction570___init() {
+val_t NEW_ReduceAction570_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction570();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction570_parser___ReduceAction570___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction570();
   parser___ReduceAction570___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction571[44] = {
+const classtable_elt_t VFT_ReduceAction571[45] = {
   {(bigint) 403 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction571 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction571 < ReduceAction: superclass typecheck marker */},
@@ -74670,7 +83903,8 @@ const classtable_elt_t VFT_ReduceAction571[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction571 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction571___action},
-  {(bigint) 2 /* 42: ReduceAction571 < ReduceAction571: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction571 < ReduceAction571: superclass init_table position */},
   {(bigint) parser___ReduceAction571___init},
 };
 /* 0: Pointer to the classtable */
@@ -74680,13 +83914,19 @@ val_t NEW_ReduceAction571(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction571;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction571___init() {
+val_t NEW_ReduceAction571_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction571();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction571_parser___ReduceAction571___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction571();
   parser___ReduceAction571___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ReduceAction572[44] = {
+const classtable_elt_t VFT_ReduceAction572[45] = {
   {(bigint) 399 /* 0: Identity */},
   {(bigint) 3 /* 1: ReduceAction572 < Object: superclass typecheck marker */},
   {(bigint) 39 /* 2: ReduceAction572 < ReduceAction: superclass typecheck marker */},
@@ -74729,7 +83969,8 @@ const classtable_elt_t VFT_ReduceAction572[44] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ReduceAction572 < ReduceAction: superclass init_table position */},
   {(bigint) parser___ReduceAction572___action},
-  {(bigint) 2 /* 42: ReduceAction572 < ReduceAction572: superclass init_table position */},
+  {(bigint) parser___ReduceAction___init},
+  {(bigint) 2 /* 43: ReduceAction572 < ReduceAction572: superclass init_table position */},
   {(bigint) parser___ReduceAction572___init},
 };
 /* 0: Pointer to the classtable */
@@ -74739,13 +83980,19 @@ val_t NEW_ReduceAction572(void) {
   obj->vft = (classtable_elt_t*)VFT_ReduceAction572;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___ReduceAction572___init() {
+val_t NEW_ReduceAction572_parser___ReduceAction___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ReduceAction572();
+  parser___ReduceAction___init(self, init_table);
+  return self;
+}
+val_t NEW_ReduceAction572_parser___ReduceAction572___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ReduceAction572();
   parser___ReduceAction572___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_PartialOrder[80] = {
+const classtable_elt_t VFT_PartialOrder[82] = {
   {(bigint) 2515 /* 0: Identity */},
   {(bigint) 3 /* 1: PartialOrder < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
@@ -74802,9 +84049,11 @@ const classtable_elt_t VFT_PartialOrder[80] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
   {(bigint) string___Collection___join},
   {(bigint) array___Collection___to_a},
-  {(bigint) 1 /* 58: PartialOrder < Collection: superclass init_table position */},
+  {(bigint) 1 /* 60: PartialOrder < Collection: superclass init_table position */},
   {(bigint) partial_order___PartialOrder___iterator},
   {(bigint) partial_order___PartialOrder___is_empty},
   {(bigint) partial_order___PartialOrder___length},
@@ -74812,7 +84061,7 @@ const classtable_elt_t VFT_PartialOrder[80] = {
   {(bigint) partial_order___PartialOrder___has_only},
   {(bigint) partial_order___PartialOrder___count},
   {(bigint) partial_order___PartialOrder___first},
-  {(bigint) 2 /* 66: PartialOrder < PartialOrder: superclass init_table position */},
+  {(bigint) 2 /* 68: PartialOrder < PartialOrder: superclass init_table position */},
   {(bigint) partial_order___PartialOrder___roots},
   {(bigint) partial_order___PartialOrder_____bra},
   {(bigint) partial_order___PartialOrder___to_dot},
@@ -74837,7 +84086,7 @@ val_t NEW_PartialOrder(void) {
   obj->vft = (classtable_elt_t*)VFT_PartialOrder;
   return OBJ2VAL(obj);
 }
-val_t NEW_partial_order___PartialOrder___init() {
+val_t NEW_PartialOrder_partial_order___PartialOrder___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_PartialOrder();
   partial_order___PartialOrder___init(self, init_table);
@@ -74922,7 +84171,7 @@ val_t NEW_PartialOrderElement(void) {
   ATTR_partial_order___PartialOrderElement____smallers_last_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_partial_order___PartialOrderElement___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_PartialOrderElement_partial_order___PartialOrderElement___init(val_t p0, val_t p1, val_t p2) {
   int init_table[2] = {0, 0};
   val_t self = NEW_PartialOrderElement();
   partial_order___PartialOrderElement___init(self, p0, p1, p2, init_table);
@@ -74991,17 +84240,17 @@ val_t NEW_MMContext(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_MMContext;
-  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable0 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMModule]*/
   ATTR_abstractmetamodel___MMContext____module_hierarchy(obj) = variable0;
-  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable1 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
   ATTR_abstractmetamodel___MMContext____class_hierarchy(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMGlobalClass]*/
   ATTR_abstractmetamodel___MMContext____global_classes(obj) = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMModule]*/
   ATTR_abstractmetamodel___MMContext____modules(obj) = variable3;
   return OBJ2VAL(obj);
 }
-val_t NEW_abstractmetamodel___MMContext___init() {
+val_t NEW_MMContext_abstractmetamodel___MMContext___init() {
   int init_table[2] = {0, 0};
   val_t self = NEW_MMContext();
   abstractmetamodel___MMContext___init(self, init_table);
@@ -75072,11 +84321,11 @@ val_t NEW_MMDirectory(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_MMDirectory;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, MMModule]*/
   ATTR_abstractmetamodel___MMDirectory____modules(obj) = variable0;
   return OBJ2VAL(obj);
 }
-val_t NEW_abstractmetamodel___MMDirectory___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_MMDirectory_abstractmetamodel___MMDirectory___init(val_t p0, val_t p1, val_t p2) {
   int init_table[2] = {0, 0};
   val_t self = NEW_MMDirectory();
   abstractmetamodel___MMDirectory___init(self, p0, p1, p2, init_table);
@@ -75187,31 +84436,31 @@ val_t NEW_MMModule(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 18);
   obj->vft = (classtable_elt_t*)VFT_MMModule;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[MMGlobalClass]*/
   ATTR_abstractmetamodel___MMModule____global_classes(obj) = variable0;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
   ATTR_abstractmetamodel___MMModule____local_classes(obj) = variable1;
-  variable2 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable2 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
   ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(obj) = variable2;
-  variable3 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable3 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMModule]*/
   ATTR_abstractmetamodel___MMModule____intrude_modules(obj) = variable3;
-  variable4 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable4 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMModule]*/
   ATTR_abstractmetamodel___MMModule____public_modules(obj) = variable4;
-  variable5 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable5 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMModule]*/
   ATTR_abstractmetamodel___MMModule____private_modules(obj) = variable5;
-  variable6 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable6 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMModule]*/
   ATTR_abstractmetamodel___MMModule____explicit_imported_modules(obj) = variable6;
-  variable7 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable7 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMGlobalClass, MMLocalClass]*/
   ATTR_abstractmetamodel___MMModule____local_class_by_global(obj) = variable7;
-  variable8 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable8 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, MMGlobalClass]*/
   ATTR_abstractmetamodel___MMModule____global_class_by_name(obj) = variable8;
   variable9 = OBJ2VAL(obj);
-  variable10 = NEW_static_type___MMTypeNone___init(variable9); /*new MMTypeNone*/
+  variable10 = NEW_MMTypeNone_static_type___MMTypeNone___init(variable9); /*new MMTypeNone*/
   ATTR_static_type___MMModule____type_none(obj) = variable10;
   ATTR_mmloader___MMModule____mtime(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_MMModule_abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2) {
   int init_table[2] = {0, 0};
   val_t self = NEW_MMModule();
   abstractmetamodel___MMModule___init(self, p0, p1, p2, init_table);
@@ -75290,7 +84539,7 @@ val_t NEW_MMGlobalClass(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_MMGlobalClass;
-  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable0 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
   ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy(obj) = variable0;
   ATTR_abstractmetamodel___MMGlobalClass____is_interface(obj) = TAG_Bool((int)0);
   ATTR_abstractmetamodel___MMGlobalClass____is_abstract(obj) = TAG_Bool((int)0);
@@ -75298,13 +84547,13 @@ val_t NEW_MMGlobalClass(void) {
   ATTR_abstractmetamodel___MMGlobalClass____visibility_level(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_abstractmetamodel___MMGlobalClass___init(val_t p0) {
+val_t NEW_MMGlobalClass_abstractmetamodel___MMGlobalClass___init(val_t p0) {
   int init_table[2] = {0, 0};
   val_t self = NEW_MMGlobalClass();
   abstractmetamodel___MMGlobalClass___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMLocalClass[104] = {
+const classtable_elt_t VFT_MMLocalClass[105] = {
   {(bigint) 103 /* 0: Identity */},
   {(bigint) 3 /* 1: MMLocalClass < Object: superclass typecheck marker */},
   {(bigint) 103 /* 2: MMLocalClass < MMLocalClass: superclass typecheck marker */},
@@ -75357,6 +84606,7 @@ const classtable_elt_t VFT_MMLocalClass[104] = {
   {(bigint) inheritance___MMLocalClass___compute_super_classes},
   {(bigint) inheritance___MMLocalClass___compute_ancestors},
   {(bigint) inheritance___MMLocalClass___inherit_global_properties},
+  {(bigint) inheritance___MMLocalClass___make_visible_an_inherited_global_property},
   {(bigint) inheritance___MMLocalClass___add_direct_parent},
   {(bigint) inheritance___MMLocalClass___computed_super_classes},
   {(bigint) inheritance___MMLocalClass___computed_ancestors},
@@ -75374,7 +84624,7 @@ const classtable_elt_t VFT_MMLocalClass[104] = {
   {(bigint) static_type___MMLocalClass___add_ancestor},
   {(bigint) static_type___MMLocalClass___ancestors},
   {(bigint) static_type___MMLocalClass___ancestor},
-  {(bigint) 1 /* 69: MMLocalClass < MMLocalClass: superclass init_table position */},
+  {(bigint) 1 /* 70: MMLocalClass < MMLocalClass: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalClass___name},
   {(bigint) abstractmetamodel___MMLocalClass___arity},
   {(bigint) abstractmetamodel___MMLocalClass___module},
@@ -75439,17 +84689,17 @@ val_t NEW_MMLocalClass(void) {
   obj->vft = (classtable_elt_t*)VFT_MMLocalClass;
   ATTR_abstractmetamodel___MMLocalClass____arity(obj) = TAG_Int((bigint)0);
   ATTR_abstractmetamodel___MMLocalClass____abstract(obj) = TAG_Bool((int)0);
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[MMAncestor]*/
   ATTR_inheritance___MMLocalClass____direct_parents(obj) = variable0;
   ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((int)0);
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[MMTypeGeneric]*/
   ATTR_genericity___MMLocalClass____types(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMTypeFormalParameter]*/
   ATTR_genericity___MMLocalClass____formals_types(obj) = variable2;
   ATTR_compiling_base___MMLocalClass____primitive_info_b(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1) {
+val_t NEW_MMLocalClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1) {
   int init_table[2] = {0, 0};
   val_t self = NEW_MMLocalClass();
   abstractmetamodel___MMLocalClass___init(self, p0, p1, init_table);
@@ -75527,20 +84777,20 @@ val_t NEW_MMGlobalProperty(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_MMGlobalProperty;
-  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable0 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalProperty]*/
   ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy(obj) = variable0;
   ATTR_abstractmetamodel___MMGlobalProperty____is_init(obj) = TAG_Bool((int)0);
   ATTR_abstractmetamodel___MMGlobalProperty____visibility_level(obj) = TAG_Int((bigint)0);
   ATTR_compiling_global___MMGlobalProperty____pos_of(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_abstractmetamodel___MMGlobalProperty___init(val_t p0) {
+val_t NEW_MMGlobalProperty_abstractmetamodel___MMGlobalProperty___init(val_t p0) {
   int init_table[2] = {0, 0};
   val_t self = NEW_MMGlobalProperty();
   abstractmetamodel___MMGlobalProperty___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMLocalProperty[61] = {
+const classtable_elt_t VFT_MMLocalProperty[62] = {
   {(bigint) 99 /* 0: Identity */},
   {(bigint) 3 /* 1: MMLocalProperty < Object: superclass typecheck marker */},
   {(bigint) 99 /* 2: MMLocalProperty < MMLocalProperty: superclass typecheck marker */},
@@ -75586,11 +84836,12 @@ const classtable_elt_t VFT_MMLocalProperty[61] = {
   {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
   {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
   {(bigint) syntax_base___MMLocalProperty___node},
+  {(bigint) syntax_base___MMLocalProperty___is_init},
   {(bigint) inheritance___MMLocalProperty___inherit_global},
   {(bigint) static_type___MMLocalProperty___signature},
   {(bigint) static_type___MMLocalProperty___signature__eq},
   {(bigint) static_type___MMLocalProperty___signature_for},
-  {(bigint) 1 /* 49: MMLocalProperty < MMLocalProperty: superclass init_table position */},
+  {(bigint) 1 /* 50: MMLocalProperty < MMLocalProperty: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalProperty___name},
   {(bigint) abstractmetamodel___MMLocalProperty___local_class},
   {(bigint) abstractmetamodel___MMLocalProperty___global},
@@ -75618,17 +84869,17 @@ val_t NEW_MMLocalProperty(void) {
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_MMLocalProperty;
   ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
   ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
   return OBJ2VAL(obj);
 }
-val_t NEW_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+val_t NEW_MMLocalProperty_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
   int init_table[2] = {0, 0};
   val_t self = NEW_MMLocalProperty();
   abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMAttribute[63] = {
+const classtable_elt_t VFT_MMAttribute[64] = {
   {(bigint) 2599 /* 0: Identity */},
   {(bigint) 3 /* 1: MMAttribute < Object: superclass typecheck marker */},
   {(bigint) 99 /* 2: MMAttribute < MMLocalProperty: superclass typecheck marker */},
@@ -75674,11 +84925,12 @@ const classtable_elt_t VFT_MMAttribute[63] = {
   {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
   {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
   {(bigint) syntax_base___MMLocalProperty___node},
+  {(bigint) syntax_base___MMLocalProperty___is_init},
   {(bigint) inheritance___MMLocalProperty___inherit_global},
   {(bigint) static_type___MMLocalProperty___signature},
   {(bigint) static_type___MMLocalProperty___signature__eq},
   {(bigint) static_type___MMLocalProperty___signature_for},
-  {(bigint) 1 /* 49: MMAttribute < MMLocalProperty: superclass init_table position */},
+  {(bigint) 1 /* 50: MMAttribute < MMLocalProperty: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalProperty___name},
   {(bigint) abstractmetamodel___MMLocalProperty___local_class},
   {(bigint) abstractmetamodel___MMLocalProperty___global},
@@ -75691,7 +84943,7 @@ const classtable_elt_t VFT_MMAttribute[63] = {
   {(bigint) abstractmetamodel___MMLocalProperty___need_super__eq},
   {(bigint) abstractmetamodel___MMLocalProperty___init},
   {(bigint) compiling_methods___MMAttribute___compile_access},
-  {(bigint) 2 /* 62: MMAttribute < MMAttribute: superclass init_table position */},
+  {(bigint) 2 /* 63: MMAttribute < MMAttribute: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMAttribute::_cname_cache */
@@ -75708,11 +84960,17 @@ val_t NEW_MMAttribute(void) {
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_MMAttribute;
   ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
   ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_MMMethod[65] = {
+val_t NEW_MMAttribute_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMAttribute();
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
+  return self;
+}
+const classtable_elt_t VFT_MMMethod[66] = {
   {(bigint) 2583 /* 0: Identity */},
   {(bigint) 3 /* 1: MMMethod < Object: superclass typecheck marker */},
   {(bigint) 99 /* 2: MMMethod < MMLocalProperty: superclass typecheck marker */},
@@ -75758,11 +85016,12 @@ const classtable_elt_t VFT_MMMethod[65] = {
   {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
   {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
   {(bigint) syntax_base___MMLocalProperty___node},
+  {(bigint) syntax_base___MMLocalProperty___is_init},
   {(bigint) inheritance___MMLocalProperty___inherit_global},
   {(bigint) static_type___MMLocalProperty___signature},
   {(bigint) static_type___MMLocalProperty___signature__eq},
   {(bigint) static_type___MMLocalProperty___signature_for},
-  {(bigint) 1 /* 49: MMMethod < MMLocalProperty: superclass init_table position */},
+  {(bigint) 1 /* 50: MMMethod < MMLocalProperty: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalProperty___name},
   {(bigint) abstractmetamodel___MMLocalProperty___local_class},
   {(bigint) abstractmetamodel___MMLocalProperty___global},
@@ -75777,7 +85036,7 @@ const classtable_elt_t VFT_MMMethod[65] = {
   {(bigint) compiling_methods___MMMethod___compile_call},
   {(bigint) compiling_methods___MMMethod___compile_constructor_call},
   {(bigint) compiling_methods___MMMethod___compile_super_call},
-  {(bigint) 2 /* 64: MMMethod < MMMethod: superclass init_table position */},
+  {(bigint) 2 /* 65: MMMethod < MMMethod: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMMethod::_cname_cache */
@@ -75794,11 +85053,17 @@ val_t NEW_MMMethod(void) {
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_MMMethod;
   ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
   ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_MMConcreteClass[105] = {
+val_t NEW_MMMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMMethod();
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
+  return self;
+}
+const classtable_elt_t VFT_MMConcreteClass[106] = {
   {(bigint) 2595 /* 0: Identity */},
   {(bigint) 3 /* 1: MMConcreteClass < Object: superclass typecheck marker */},
   {(bigint) 103 /* 2: MMConcreteClass < MMLocalClass: superclass typecheck marker */},
@@ -75851,6 +85116,7 @@ const classtable_elt_t VFT_MMConcreteClass[105] = {
   {(bigint) inheritance___MMLocalClass___compute_super_classes},
   {(bigint) inheritance___MMLocalClass___compute_ancestors},
   {(bigint) inheritance___MMLocalClass___inherit_global_properties},
+  {(bigint) inheritance___MMLocalClass___make_visible_an_inherited_global_property},
   {(bigint) inheritance___MMLocalClass___add_direct_parent},
   {(bigint) inheritance___MMLocalClass___computed_super_classes},
   {(bigint) inheritance___MMLocalClass___computed_ancestors},
@@ -75868,7 +85134,7 @@ const classtable_elt_t VFT_MMConcreteClass[105] = {
   {(bigint) static_type___MMLocalClass___add_ancestor},
   {(bigint) static_type___MMLocalClass___ancestors},
   {(bigint) static_type___MMLocalClass___ancestor},
-  {(bigint) 1 /* 69: MMConcreteClass < MMLocalClass: superclass init_table position */},
+  {(bigint) 1 /* 70: MMConcreteClass < MMLocalClass: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalClass___name},
   {(bigint) abstractmetamodel___MMLocalClass___arity},
   {(bigint) abstractmetamodel___MMLocalClass___module},
@@ -75903,7 +85169,7 @@ const classtable_elt_t VFT_MMConcreteClass[105] = {
   {(bigint) compiling_global___MMLocalClass___compile_tables_to_c},
   {(bigint) compiling_base___MMLocalClass___primitive_info},
   {(bigint) compiling_base___MMLocalClass___primitive_ctypes},
-  {(bigint) 2 /* 104: MMConcreteClass < MMConcreteClass: superclass init_table position */},
+  {(bigint) 2 /* 105: MMConcreteClass < MMConcreteClass: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMConcreteClass::_types */
@@ -75934,16 +85200,22 @@ val_t NEW_MMConcreteClass(void) {
   obj->vft = (classtable_elt_t*)VFT_MMConcreteClass;
   ATTR_abstractmetamodel___MMLocalClass____arity(obj) = TAG_Int((bigint)0);
   ATTR_abstractmetamodel___MMLocalClass____abstract(obj) = TAG_Bool((int)0);
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[MMAncestor]*/
   ATTR_inheritance___MMLocalClass____direct_parents(obj) = variable0;
   ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((int)0);
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[MMTypeGeneric]*/
   ATTR_genericity___MMLocalClass____types(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMTypeFormalParameter]*/
   ATTR_genericity___MMLocalClass____formals_types(obj) = variable2;
   ATTR_compiling_base___MMLocalClass____primitive_info_b(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
+val_t NEW_MMConcreteClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMConcreteClass();
+  abstractmetamodel___MMLocalClass___init(self, p0, p1, init_table);
+  return self;
+}
 const classtable_elt_t VFT_MMSignature[53] = {
   {(bigint) 91 /* 0: Identity */},
   {(bigint) 3 /* 1: MMSignature < Object: superclass typecheck marker */},
@@ -76011,13 +85283,13 @@ val_t NEW_MMSignature(void) {
   ATTR_vararg___MMSignature____vararg_rank(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_static_type___MMSignature___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_MMSignature_static_type___MMSignature___init(val_t p0, val_t p1, val_t p2) {
   int init_table[2] = {0, 0};
   val_t self = NEW_MMSignature();
   vararg___MMSignature___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMAncestor[49] = {
+const classtable_elt_t VFT_MMAncestor[50] = {
   {(bigint) 123 /* 0: Identity */},
   {(bigint) 3 /* 1: MMAncestor < Object: superclass typecheck marker */},
   {(bigint) 123 /* 2: MMAncestor < MMAncestor: superclass typecheck marker */},
@@ -76067,6 +85339,7 @@ const classtable_elt_t VFT_MMAncestor[49] = {
   {(bigint) static_type___MMAncestor___is_reffinement},
   {(bigint) static_type___MMAncestor___is_specialisation},
   {(bigint) static_type___MMAncestor___local_class},
+  {(bigint) static_type___MMAncestor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMAncestor::_stype */
@@ -76077,7 +85350,13 @@ val_t NEW_MMAncestor(void) {
   obj->vft = (classtable_elt_t*)VFT_MMAncestor;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_MMType[57] = {
+val_t NEW_MMAncestor_static_type___MMAncestor___init(val_t p0, val_t p1) {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_MMAncestor();
+  static_type___MMAncestor___init(self, p0, p1, init_table);
+  return self;
+}
+const classtable_elt_t VFT_MMType[58] = {
   {(bigint) 87 /* 0: Identity */},
   {(bigint) 3 /* 1: MMType < Object: superclass typecheck marker */},
   {(bigint) 87 /* 2: MMType < MMType: superclass typecheck marker */},
@@ -76135,6 +85414,7 @@ const classtable_elt_t VFT_MMType[57] = {
   {(bigint) static_type___MMType___adapt_to},
   {(bigint) static_type___MMType___upcast_for},
   {(bigint) static_type___MMType___not_for_self},
+  {(bigint) static_type___MMType___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_MMType(void) {
@@ -76143,7 +85423,13 @@ val_t NEW_MMType(void) {
   obj->vft = (classtable_elt_t*)VFT_MMType;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_MMTypeClass[59] = {
+val_t NEW_MMType_static_type___MMType___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_MMType();
+  static_type___MMType___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_MMTypeClass[60] = {
   {(bigint) 2563 /* 0: Identity */},
   {(bigint) 3 /* 1: MMTypeClass < Object: superclass typecheck marker */},
   {(bigint) 87 /* 2: MMTypeClass < MMType: superclass typecheck marker */},
@@ -76201,7 +85487,8 @@ const classtable_elt_t VFT_MMTypeClass[59] = {
   {(bigint) static_type___MMType___adapt_to},
   {(bigint) static_type___MMTypeClass___upcast_for},
   {(bigint) static_type___MMType___not_for_self},
-  {(bigint) 2 /* 57: MMTypeClass < MMTypeClass: superclass init_table position */},
+  {(bigint) static_type___MMType___init},
+  {(bigint) 2 /* 58: MMTypeClass < MMTypeClass: superclass init_table position */},
   {(bigint) static_type___MMTypeClass___init},
 };
 /* 0: Pointer to the classtable */
@@ -76212,13 +85499,19 @@ val_t NEW_MMTypeClass(void) {
   obj->vft = (classtable_elt_t*)VFT_MMTypeClass;
   return OBJ2VAL(obj);
 }
-val_t NEW_static_type___MMTypeClass___init(val_t p0) {
+val_t NEW_MMTypeClass_static_type___MMType___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMTypeClass();
+  static_type___MMType___init(self, init_table);
+  return self;
+}
+val_t NEW_MMTypeClass_static_type___MMTypeClass___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_MMTypeClass();
   static_type___MMTypeClass___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeSimpleClass[61] = {
+const classtable_elt_t VFT_MMTypeSimpleClass[62] = {
   {(bigint) 3151 /* 0: Identity */},
   {(bigint) 3 /* 1: MMTypeSimpleClass < Object: superclass typecheck marker */},
   {(bigint) 87 /* 2: MMTypeSimpleClass < MMType: superclass typecheck marker */},
@@ -76276,9 +85569,10 @@ const classtable_elt_t VFT_MMTypeSimpleClass[61] = {
   {(bigint) static_type___MMTypeSimpleClass___adapt_to},
   {(bigint) static_type___MMTypeClass___upcast_for},
   {(bigint) static_type___MMType___not_for_self},
-  {(bigint) 2 /* 57: MMTypeSimpleClass < MMTypeClass: superclass init_table position */},
+  {(bigint) static_type___MMType___init},
+  {(bigint) 2 /* 58: MMTypeSimpleClass < MMTypeClass: superclass init_table position */},
   {(bigint) static_type___MMTypeClass___init},
-  {(bigint) 3 /* 59: MMTypeSimpleClass < MMTypeSimpleClass: superclass init_table position */},
+  {(bigint) 3 /* 60: MMTypeSimpleClass < MMTypeSimpleClass: superclass init_table position */},
   {(bigint) static_type___MMTypeSimpleClass___init},
 };
 /* 0: Pointer to the classtable */
@@ -76289,13 +85583,25 @@ val_t NEW_MMTypeSimpleClass(void) {
   obj->vft = (classtable_elt_t*)VFT_MMTypeSimpleClass;
   return OBJ2VAL(obj);
 }
-val_t NEW_static_type___MMTypeSimpleClass___init(val_t p0) {
+val_t NEW_MMTypeSimpleClass_static_type___MMType___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMTypeSimpleClass();
+  static_type___MMType___init(self, init_table);
+  return self;
+}
+val_t NEW_MMTypeSimpleClass_static_type___MMTypeClass___init(val_t p0) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMTypeSimpleClass();
+  static_type___MMTypeClass___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_MMTypeSimpleClass_static_type___MMTypeSimpleClass___init(val_t p0) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_MMTypeSimpleClass();
   static_type___MMTypeSimpleClass___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeNone[59] = {
+const classtable_elt_t VFT_MMTypeNone[60] = {
   {(bigint) 2555 /* 0: Identity */},
   {(bigint) 3 /* 1: MMTypeNone < Object: superclass typecheck marker */},
   {(bigint) 87 /* 2: MMTypeNone < MMType: superclass typecheck marker */},
@@ -76353,7 +85659,8 @@ const classtable_elt_t VFT_MMTypeNone[59] = {
   {(bigint) genericity___MMTypeNone___adapt_to},
   {(bigint) static_type___MMTypeNone___upcast_for},
   {(bigint) static_type___MMType___not_for_self},
-  {(bigint) 2 /* 57: MMTypeNone < MMTypeNone: superclass init_table position */},
+  {(bigint) static_type___MMType___init},
+  {(bigint) 2 /* 58: MMTypeNone < MMTypeNone: superclass init_table position */},
   {(bigint) static_type___MMTypeNone___init},
 };
 /* 0: Pointer to the classtable */
@@ -76364,13 +85671,19 @@ val_t NEW_MMTypeNone(void) {
   obj->vft = (classtable_elt_t*)VFT_MMTypeNone;
   return OBJ2VAL(obj);
 }
-val_t NEW_static_type___MMTypeNone___init(val_t p0) {
+val_t NEW_MMTypeNone_static_type___MMType___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMTypeNone();
+  static_type___MMType___init(self, init_table);
+  return self;
+}
+val_t NEW_MMTypeNone_static_type___MMTypeNone___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_MMTypeNone();
   static_type___MMTypeNone___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMImplicitLocalClass[106] = {
+const classtable_elt_t VFT_MMImplicitLocalClass[107] = {
   {(bigint) 2587 /* 0: Identity */},
   {(bigint) 3 /* 1: MMImplicitLocalClass < Object: superclass typecheck marker */},
   {(bigint) 103 /* 2: MMImplicitLocalClass < MMLocalClass: superclass typecheck marker */},
@@ -76423,6 +85736,7 @@ const classtable_elt_t VFT_MMImplicitLocalClass[106] = {
   {(bigint) inheritance___MMLocalClass___compute_super_classes},
   {(bigint) inheritance___MMLocalClass___compute_ancestors},
   {(bigint) inheritance___MMLocalClass___inherit_global_properties},
+  {(bigint) inheritance___MMLocalClass___make_visible_an_inherited_global_property},
   {(bigint) inheritance___MMLocalClass___add_direct_parent},
   {(bigint) inheritance___MMLocalClass___computed_super_classes},
   {(bigint) inheritance___MMLocalClass___computed_ancestors},
@@ -76440,7 +85754,7 @@ const classtable_elt_t VFT_MMImplicitLocalClass[106] = {
   {(bigint) static_type___MMLocalClass___add_ancestor},
   {(bigint) static_type___MMLocalClass___ancestors},
   {(bigint) static_type___MMLocalClass___ancestor},
-  {(bigint) 1 /* 69: MMImplicitLocalClass < MMLocalClass: superclass init_table position */},
+  {(bigint) 1 /* 70: MMImplicitLocalClass < MMLocalClass: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalClass___name},
   {(bigint) abstractmetamodel___MMLocalClass___arity},
   {(bigint) abstractmetamodel___MMLocalClass___module},
@@ -76475,7 +85789,7 @@ const classtable_elt_t VFT_MMImplicitLocalClass[106] = {
   {(bigint) compiling_global___MMLocalClass___compile_tables_to_c},
   {(bigint) compiling_base___MMLocalClass___primitive_info},
   {(bigint) compiling_base___MMLocalClass___primitive_ctypes},
-  {(bigint) 2 /* 104: MMImplicitLocalClass < MMImplicitLocalClass: superclass init_table position */},
+  {(bigint) 2 /* 105: MMImplicitLocalClass < MMImplicitLocalClass: superclass init_table position */},
   {(bigint) inheritance___MMImplicitLocalClass___init},
 };
 /* 0: Pointer to the classtable */
@@ -76507,23 +85821,29 @@ val_t NEW_MMImplicitLocalClass(void) {
   obj->vft = (classtable_elt_t*)VFT_MMImplicitLocalClass;
   ATTR_abstractmetamodel___MMLocalClass____arity(obj) = TAG_Int((bigint)0);
   ATTR_abstractmetamodel___MMLocalClass____abstract(obj) = TAG_Bool((int)0);
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[MMAncestor]*/
   ATTR_inheritance___MMLocalClass____direct_parents(obj) = variable0;
   ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((int)0);
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[MMTypeGeneric]*/
   ATTR_genericity___MMLocalClass____types(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMTypeFormalParameter]*/
   ATTR_genericity___MMLocalClass____formals_types(obj) = variable2;
   ATTR_compiling_base___MMLocalClass____primitive_info_b(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_inheritance___MMImplicitLocalClass___init(val_t p0, val_t p1) {
+val_t NEW_MMImplicitLocalClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMImplicitLocalClass();
+  abstractmetamodel___MMLocalClass___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMImplicitLocalClass_inheritance___MMImplicitLocalClass___init(val_t p0, val_t p1) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_MMImplicitLocalClass();
   inheritance___MMImplicitLocalClass___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMRefineAncestor[51] = {
+const classtable_elt_t VFT_MMRefineAncestor[52] = {
   {(bigint) 2579 /* 0: Identity */},
   {(bigint) 3 /* 1: MMRefineAncestor < Object: superclass typecheck marker */},
   {(bigint) 123 /* 2: MMRefineAncestor < MMAncestor: superclass typecheck marker */},
@@ -76573,7 +85893,8 @@ const classtable_elt_t VFT_MMRefineAncestor[51] = {
   {(bigint) static_type___MMAncestor___is_reffinement},
   {(bigint) static_type___MMAncestor___is_specialisation},
   {(bigint) inheritance___MMRefineAncestor___local_class},
-  {(bigint) 2 /* 49: MMRefineAncestor < MMRefineAncestor: superclass init_table position */},
+  {(bigint) static_type___MMAncestor___init},
+  {(bigint) 2 /* 50: MMRefineAncestor < MMRefineAncestor: superclass init_table position */},
   {(bigint) inheritance___MMRefineAncestor___init},
 };
 /* 0: Pointer to the classtable */
@@ -76586,13 +85907,19 @@ val_t NEW_MMRefineAncestor(void) {
   obj->vft = (classtable_elt_t*)VFT_MMRefineAncestor;
   return OBJ2VAL(obj);
 }
-val_t NEW_inheritance___MMRefineAncestor___init(val_t p0, val_t p1) {
+val_t NEW_MMRefineAncestor_static_type___MMAncestor___init(val_t p0, val_t p1) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMRefineAncestor();
+  static_type___MMAncestor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMRefineAncestor_inheritance___MMRefineAncestor___init(val_t p0, val_t p1) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_MMRefineAncestor();
   inheritance___MMRefineAncestor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMSpecAncestor[51] = {
+const classtable_elt_t VFT_MMSpecAncestor[52] = {
   {(bigint) 2575 /* 0: Identity */},
   {(bigint) 3 /* 1: MMSpecAncestor < Object: superclass typecheck marker */},
   {(bigint) 123 /* 2: MMSpecAncestor < MMAncestor: superclass typecheck marker */},
@@ -76642,7 +85969,8 @@ const classtable_elt_t VFT_MMSpecAncestor[51] = {
   {(bigint) static_type___MMAncestor___is_reffinement},
   {(bigint) static_type___MMAncestor___is_specialisation},
   {(bigint) inheritance___MMSpecAncestor___local_class},
-  {(bigint) 2 /* 49: MMSpecAncestor < MMSpecAncestor: superclass init_table position */},
+  {(bigint) static_type___MMAncestor___init},
+  {(bigint) 2 /* 50: MMSpecAncestor < MMSpecAncestor: superclass init_table position */},
   {(bigint) inheritance___MMSpecAncestor___init},
 };
 /* 0: Pointer to the classtable */
@@ -76654,13 +85982,19 @@ val_t NEW_MMSpecAncestor(void) {
   obj->vft = (classtable_elt_t*)VFT_MMSpecAncestor;
   return OBJ2VAL(obj);
 }
-val_t NEW_inheritance___MMSpecAncestor___init(val_t p0, val_t p1) {
+val_t NEW_MMSpecAncestor_static_type___MMAncestor___init(val_t p0, val_t p1) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMSpecAncestor();
+  static_type___MMAncestor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMSpecAncestor_inheritance___MMSpecAncestor___init(val_t p0, val_t p1) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_MMSpecAncestor();
   inheritance___MMSpecAncestor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMDefaultAncestor[51] = {
+const classtable_elt_t VFT_MMDefaultAncestor[52] = {
   {(bigint) 2591 /* 0: Identity */},
   {(bigint) 3 /* 1: MMDefaultAncestor < Object: superclass typecheck marker */},
   {(bigint) 123 /* 2: MMDefaultAncestor < MMAncestor: superclass typecheck marker */},
@@ -76710,7 +86044,8 @@ const classtable_elt_t VFT_MMDefaultAncestor[51] = {
   {(bigint) static_type___MMAncestor___is_reffinement},
   {(bigint) static_type___MMAncestor___is_specialisation},
   {(bigint) inheritance___MMDefaultAncestor___local_class},
-  {(bigint) 2 /* 49: MMDefaultAncestor < MMDefaultAncestor: superclass init_table position */},
+  {(bigint) static_type___MMAncestor___init},
+  {(bigint) 2 /* 50: MMDefaultAncestor < MMDefaultAncestor: superclass init_table position */},
   {(bigint) inheritance___MMDefaultAncestor___init},
 };
 /* 0: Pointer to the classtable */
@@ -76722,13 +86057,19 @@ val_t NEW_MMDefaultAncestor(void) {
   obj->vft = (classtable_elt_t*)VFT_MMDefaultAncestor;
   return OBJ2VAL(obj);
 }
-val_t NEW_inheritance___MMDefaultAncestor___init(val_t p0, val_t p1) {
+val_t NEW_MMDefaultAncestor_static_type___MMAncestor___init(val_t p0, val_t p1) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMDefaultAncestor();
+  static_type___MMAncestor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMDefaultAncestor_inheritance___MMDefaultAncestor___init(val_t p0, val_t p1) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_MMDefaultAncestor();
   inheritance___MMDefaultAncestor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeFormal[61] = {
+const classtable_elt_t VFT_MMTypeFormal[62] = {
   {(bigint) 2559 /* 0: Identity */},
   {(bigint) 3 /* 1: MMTypeFormal < Object: superclass typecheck marker */},
   {(bigint) 87 /* 2: MMTypeFormal < MMType: superclass typecheck marker */},
@@ -76786,7 +86127,8 @@ const classtable_elt_t VFT_MMTypeFormal[61] = {
   {(bigint) static_type___MMType___adapt_to},
   {(bigint) static_type___MMType___upcast_for},
   {(bigint) static_type___MMType___not_for_self},
-  {(bigint) 2 /* 57: MMTypeFormal < MMTypeFormal: superclass init_table position */},
+  {(bigint) static_type___MMType___init},
+  {(bigint) 2 /* 58: MMTypeFormal < MMTypeFormal: superclass init_table position */},
   {(bigint) type_formal___MMTypeFormal___name},
   {(bigint) type_formal___MMTypeFormal___bound},
   {(bigint) type_formal___MMTypeFormal___init},
@@ -76800,13 +86142,19 @@ val_t NEW_MMTypeFormal(void) {
   obj->vft = (classtable_elt_t*)VFT_MMTypeFormal;
   return OBJ2VAL(obj);
 }
-val_t NEW_type_formal___MMTypeFormal___init(val_t p0, val_t p1) {
+val_t NEW_MMTypeFormal_static_type___MMType___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMTypeFormal();
+  static_type___MMType___init(self, init_table);
+  return self;
+}
+val_t NEW_MMTypeFormal_type_formal___MMTypeFormal___init(val_t p0, val_t p1) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_MMTypeFormal();
   type_formal___MMTypeFormal___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeGeneric[66] = {
+const classtable_elt_t VFT_MMTypeGeneric[67] = {
   {(bigint) 3155 /* 0: Identity */},
   {(bigint) 3 /* 1: MMTypeGeneric < Object: superclass typecheck marker */},
   {(bigint) 87 /* 2: MMTypeGeneric < MMType: superclass typecheck marker */},
@@ -76864,9 +86212,10 @@ const classtable_elt_t VFT_MMTypeGeneric[66] = {
   {(bigint) genericity___MMTypeGeneric___adapt_to},
   {(bigint) genericity___MMTypeGeneric___upcast_for},
   {(bigint) static_type___MMType___not_for_self},
-  {(bigint) 2 /* 57: MMTypeGeneric < MMTypeClass: superclass init_table position */},
+  {(bigint) static_type___MMType___init},
+  {(bigint) 2 /* 58: MMTypeGeneric < MMTypeClass: superclass init_table position */},
   {(bigint) static_type___MMTypeClass___init},
-  {(bigint) 3 /* 59: MMTypeGeneric < MMTypeGeneric: superclass init_table position */},
+  {(bigint) 3 /* 60: MMTypeGeneric < MMTypeGeneric: superclass init_table position */},
   {(bigint) genericity___MMTypeGeneric___params},
   {(bigint) static_type___MMTypeClass___upcast_for},
   {(bigint) genericity___MMTypeGeneric___params_equals},
@@ -76883,13 +86232,25 @@ val_t NEW_MMTypeGeneric(void) {
   obj->vft = (classtable_elt_t*)VFT_MMTypeGeneric;
   return OBJ2VAL(obj);
 }
-val_t NEW_genericity___MMTypeGeneric___init(val_t p0, val_t p1) {
+val_t NEW_MMTypeGeneric_static_type___MMType___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMTypeGeneric();
+  static_type___MMType___init(self, init_table);
+  return self;
+}
+val_t NEW_MMTypeGeneric_static_type___MMTypeClass___init(val_t p0) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMTypeGeneric();
+  static_type___MMTypeClass___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_MMTypeGeneric_genericity___MMTypeGeneric___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_MMTypeGeneric();
   genericity___MMTypeGeneric___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeFormalParameter[67] = {
+const classtable_elt_t VFT_MMTypeFormalParameter[68] = {
   {(bigint) 3159 /* 0: Identity */},
   {(bigint) 3 /* 1: MMTypeFormalParameter < Object: superclass typecheck marker */},
   {(bigint) 87 /* 2: MMTypeFormalParameter < MMType: superclass typecheck marker */},
@@ -76947,11 +86308,12 @@ const classtable_elt_t VFT_MMTypeFormalParameter[67] = {
   {(bigint) genericity___MMTypeFormalParameter___adapt_to},
   {(bigint) genericity___MMTypeFormalParameter___upcast_for},
   {(bigint) static_type___MMType___not_for_self},
-  {(bigint) 2 /* 57: MMTypeFormalParameter < MMTypeFormal: superclass init_table position */},
+  {(bigint) static_type___MMType___init},
+  {(bigint) 2 /* 58: MMTypeFormalParameter < MMTypeFormal: superclass init_table position */},
   {(bigint) type_formal___MMTypeFormal___name},
   {(bigint) type_formal___MMTypeFormal___bound},
   {(bigint) type_formal___MMTypeFormal___init},
-  {(bigint) 3 /* 61: MMTypeFormalParameter < MMTypeFormalParameter: superclass init_table position */},
+  {(bigint) 3 /* 62: MMTypeFormalParameter < MMTypeFormalParameter: superclass init_table position */},
   {(bigint) genericity___MMTypeFormalParameter___def_class},
   {(bigint) genericity___MMTypeFormalParameter___position},
   {(bigint) genericity___MMTypeFormalParameter___bound__eq},
@@ -76970,19 +86332,31 @@ val_t NEW_MMTypeFormalParameter(void) {
   ATTR_genericity___MMTypeFormalParameter____position(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_genericity___MMTypeFormalParameter___with_bound(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_MMTypeFormalParameter_static_type___MMType___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMTypeFormalParameter();
+  static_type___MMType___init(self, init_table);
+  return self;
+}
+val_t NEW_MMTypeFormalParameter_type_formal___MMTypeFormal___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMTypeFormalParameter();
+  type_formal___MMTypeFormal___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMTypeFormalParameter_genericity___MMTypeFormalParameter___with_bound(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_MMTypeFormalParameter();
   genericity___MMTypeFormalParameter___with_bound(self, p0, p1, p2, p3, init_table);
   return self;
 }
-val_t NEW_genericity___MMTypeFormalParameter___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_MMTypeFormalParameter_genericity___MMTypeFormalParameter___init(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_MMTypeFormalParameter();
   genericity___MMTypeFormalParameter___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeProperty[64] = {
+const classtable_elt_t VFT_MMTypeProperty[65] = {
   {(bigint) 2551 /* 0: Identity */},
   {(bigint) 3 /* 1: MMTypeProperty < Object: superclass typecheck marker */},
   {(bigint) 99 /* 2: MMTypeProperty < MMLocalProperty: superclass typecheck marker */},
@@ -77028,11 +86402,12 @@ const classtable_elt_t VFT_MMTypeProperty[64] = {
   {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
   {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
   {(bigint) syntax_base___MMLocalProperty___node},
+  {(bigint) syntax_base___MMLocalProperty___is_init},
   {(bigint) inheritance___MMLocalProperty___inherit_global},
   {(bigint) static_type___MMLocalProperty___signature},
   {(bigint) static_type___MMLocalProperty___signature__eq},
   {(bigint) static_type___MMLocalProperty___signature_for},
-  {(bigint) 1 /* 49: MMTypeProperty < MMLocalProperty: superclass init_table position */},
+  {(bigint) 1 /* 50: MMTypeProperty < MMLocalProperty: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalProperty___name},
   {(bigint) abstractmetamodel___MMLocalProperty___local_class},
   {(bigint) abstractmetamodel___MMLocalProperty___global},
@@ -77044,7 +86419,7 @@ const classtable_elt_t VFT_MMTypeProperty[64] = {
   {(bigint) abstractmetamodel___MMLocalProperty___need_super},
   {(bigint) abstractmetamodel___MMLocalProperty___need_super__eq},
   {(bigint) abstractmetamodel___MMLocalProperty___init},
-  {(bigint) 2 /* 61: MMTypeProperty < MMTypeProperty: superclass init_table position */},
+  {(bigint) 2 /* 62: MMTypeProperty < MMTypeProperty: superclass init_table position */},
   {(bigint) virtualtype___MMTypeProperty___stype_for},
   {(bigint) virtualtype___MMTypeProperty___real_stype_for},
 };
@@ -77065,13 +86440,19 @@ val_t NEW_MMTypeProperty(void) {
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMTypeProperty;
   ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
   ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable1 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMVirtualType]*/
   ATTR_virtualtype___MMTypeProperty____stypes_cache(obj) = variable1;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_MMVirtualType[65] = {
+val_t NEW_MMTypeProperty_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMTypeProperty();
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
+  return self;
+}
+const classtable_elt_t VFT_MMVirtualType[66] = {
   {(bigint) 3147 /* 0: Identity */},
   {(bigint) 3 /* 1: MMVirtualType < Object: superclass typecheck marker */},
   {(bigint) 87 /* 2: MMVirtualType < MMType: superclass typecheck marker */},
@@ -77129,11 +86510,12 @@ const classtable_elt_t VFT_MMVirtualType[65] = {
   {(bigint) virtualtype___MMVirtualType___adapt_to},
   {(bigint) static_type___MMType___upcast_for},
   {(bigint) virtualtype___MMVirtualType___not_for_self},
-  {(bigint) 2 /* 57: MMVirtualType < MMTypeFormal: superclass init_table position */},
+  {(bigint) static_type___MMType___init},
+  {(bigint) 2 /* 58: MMVirtualType < MMTypeFormal: superclass init_table position */},
   {(bigint) type_formal___MMTypeFormal___name},
   {(bigint) type_formal___MMTypeFormal___bound},
   {(bigint) type_formal___MMTypeFormal___init},
-  {(bigint) 3 /* 61: MMVirtualType < MMVirtualType: superclass init_table position */},
+  {(bigint) 3 /* 62: MMVirtualType < MMVirtualType: superclass init_table position */},
   {(bigint) virtualtype___MMVirtualType___property},
   {(bigint) virtualtype___MMVirtualType___recv},
   {(bigint) virtualtype___MMVirtualType___init},
@@ -77149,7 +86531,19 @@ val_t NEW_MMVirtualType(void) {
   obj->vft = (classtable_elt_t*)VFT_MMVirtualType;
   return OBJ2VAL(obj);
 }
-val_t NEW_virtualtype___MMVirtualType___init(val_t p0, val_t p1) {
+val_t NEW_MMVirtualType_static_type___MMType___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMVirtualType();
+  static_type___MMType___init(self, init_table);
+  return self;
+}
+val_t NEW_MMVirtualType_type_formal___MMTypeFormal___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMVirtualType();
+  type_formal___MMTypeFormal___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMVirtualType_virtualtype___MMVirtualType___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_MMVirtualType();
   virtualtype___MMVirtualType___init(self, p0, p1, init_table);
@@ -77227,7 +86621,7 @@ val_t NEW_Option(void) {
   ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_opts___Option___init_opt(val_t p0, val_t p1, val_t p2) {
+val_t NEW_Option_opts___Option___init_opt(val_t p0, val_t p1, val_t p2) {
   int init_table[2] = {0, 0};
   val_t self = NEW_Option();
   opts___Option___init_opt(self, p0, p1, p2, init_table);
@@ -77307,7 +86701,13 @@ val_t NEW_OptionText(void) {
   ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_opts___OptionText___init(val_t p0) {
+val_t NEW_OptionText_opts___Option___init_opt(val_t p0, val_t p1, val_t p2) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_OptionText();
+  opts___Option___init_opt(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OptionText_opts___OptionText___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_OptionText();
   opts___OptionText___init(self, p0, init_table);
@@ -77387,7 +86787,13 @@ val_t NEW_OptionBool(void) {
   ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_opts___OptionBool___init(val_t p0, val_t p1) {
+val_t NEW_OptionBool_opts___Option___init_opt(val_t p0, val_t p1, val_t p2) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_OptionBool();
+  opts___Option___init_opt(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OptionBool_opts___OptionBool___init(val_t p0, val_t p1) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_OptionBool();
   opts___OptionBool___init(self, p0, p1, init_table);
@@ -77468,7 +86874,13 @@ val_t NEW_OptionParameter(void) {
   ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2) {
+val_t NEW_OptionParameter_opts___Option___init_opt(val_t p0, val_t p1, val_t p2) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_OptionParameter();
+  opts___Option___init_opt(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OptionParameter_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_OptionParameter();
   opts___OptionParameter___init_opt(self, p0, p1, p2, init_table);
@@ -77551,7 +86963,19 @@ val_t NEW_OptionString(void) {
   ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_opts___OptionString___init(val_t p0, val_t p1) {
+val_t NEW_OptionString_opts___Option___init_opt(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_OptionString();
+  opts___Option___init_opt(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OptionString_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_OptionString();
+  opts___OptionParameter___init_opt(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OptionString_opts___OptionString___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_OptionString();
   opts___OptionString___init(self, p0, p1, init_table);
@@ -77635,7 +87059,19 @@ val_t NEW_OptionEnum(void) {
   ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_opts___OptionEnum___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_OptionEnum_opts___Option___init_opt(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_OptionEnum();
+  opts___Option___init_opt(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OptionEnum_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_OptionEnum();
+  opts___OptionParameter___init_opt(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OptionEnum_opts___OptionEnum___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_OptionEnum();
   opts___OptionEnum___init(self, p0, p1, p2, p3, init_table);
@@ -77718,7 +87154,19 @@ val_t NEW_OptionInt(void) {
   ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_opts___OptionInt___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_OptionInt_opts___Option___init_opt(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_OptionInt();
+  opts___Option___init_opt(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OptionInt_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_OptionInt();
+  opts___OptionParameter___init_opt(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OptionInt_opts___OptionInt___init(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_OptionInt();
   opts___OptionInt___init(self, p0, p1, p2, init_table);
@@ -77802,7 +87250,19 @@ val_t NEW_OptionArray(void) {
   ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_opts___OptionArray___init(val_t p0, val_t p1) {
+val_t NEW_OptionArray_opts___Option___init_opt(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_OptionArray();
+  opts___Option___init_opt(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OptionArray_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_OptionArray();
+  opts___OptionParameter___init_opt(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_OptionArray_opts___OptionArray___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_OptionArray();
   opts___OptionArray___init(self, p0, p1, init_table);
@@ -77869,7 +87329,7 @@ val_t NEW_OptionContext(void) {
   obj->vft = (classtable_elt_t*)VFT_OptionContext;
   return OBJ2VAL(obj);
 }
-val_t NEW_opts___OptionContext___init() {
+val_t NEW_OptionContext_opts___OptionContext___init() {
   int init_table[2] = {0, 0};
   val_t self = NEW_OptionContext();
   opts___OptionContext___init(self, init_table);
@@ -78020,67 +87480,67 @@ val_t NEW_ToolContext(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 27);
   obj->vft = (classtable_elt_t*)VFT_ToolContext;
-  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable0 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMModule]*/
   ATTR_abstractmetamodel___MMContext____module_hierarchy(obj) = variable0;
-  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable1 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
   ATTR_abstractmetamodel___MMContext____class_hierarchy(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMGlobalClass]*/
   ATTR_abstractmetamodel___MMContext____global_classes(obj) = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMModule]*/
   ATTR_abstractmetamodel___MMContext____modules(obj) = variable3;
   ATTR_mmloader___ToolContext____error_count(obj) = TAG_Int((bigint)0);
   ATTR_mmloader___ToolContext____warning_count(obj) = TAG_Int((bigint)0);
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[ModuleLoader]*/
   ATTR_mmloader___ToolContext____loaders(obj) = variable4;
-  variable5 = NEW_opts___OptionContext___init(); /*new OptionContext*/
+  variable5 = NEW_OptionContext_opts___OptionContext___init(); /*new OptionContext*/
   ATTR_mmloader___ToolContext____option_context(obj) = variable5;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("Show warnings"), TAG_Int(13)); /*new String*/
-  variable7 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString("-W"), TAG_Int(2)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("Show warnings"), TAG_Int(13)); /*new String*/
+  variable7 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("-W"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable8) /*AbstractArray::add*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("--warn"), TAG_Int(6)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("--warn"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable9) /*AbstractArray::add*/;
-  variable8 = NEW_opts___OptionBool___init(variable6, variable7); /*new OptionBool*/
+  variable8 = NEW_OptionBool_opts___OptionBool___init(variable6, variable7); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_warn(obj) = variable8;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("Set include path for loaders (may be used more than once)"), TAG_Int(57)); /*new String*/
-  variable10 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  variable11 = NEW_string___String___with_native(BOX_NativeString("-I"), TAG_Int(2)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("Set include path for loaders (may be used more than once)"), TAG_Int(57)); /*new String*/
+  variable10 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("-I"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable11) /*AbstractArray::add*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("--path"), TAG_Int(6)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("--path"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable12) /*AbstractArray::add*/;
-  variable11 = NEW_opts___OptionArray___init(variable9, variable10); /*new OptionArray*/
+  variable11 = NEW_OptionArray_opts___OptionArray___init(variable9, variable10); /*new OptionArray*/
   ATTR_mmloader___ToolContext____opt_path(obj) = variable11;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("Generate various log files"), TAG_Int(26)); /*new String*/
-  variable13 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable14 = NEW_string___String___with_native(BOX_NativeString("--log"), TAG_Int(5)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("Generate various log files"), TAG_Int(26)); /*new String*/
+  variable13 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable14 = NEW_String_string___String___with_native(BOX_NativeString("--log"), TAG_Int(5)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13, variable14) /*AbstractArray::add*/;
-  variable14 = NEW_opts___OptionBool___init(variable12, variable13); /*new OptionBool*/
+  variable14 = NEW_OptionBool_opts___OptionBool___init(variable12, variable13); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_log(obj) = variable14;
-  variable15 = NEW_string___String___with_native(BOX_NativeString("Stop after meta-model processing"), TAG_Int(32)); /*new String*/
-  variable16 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable17 = NEW_string___String___with_native(BOX_NativeString("--only-metamodel"), TAG_Int(16)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString("Stop after meta-model processing"), TAG_Int(32)); /*new String*/
+  variable16 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable17 = NEW_String_string___String___with_native(BOX_NativeString("--only-metamodel"), TAG_Int(16)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16, variable17) /*AbstractArray::add*/;
-  variable17 = NEW_opts___OptionBool___init(variable15, variable16); /*new OptionBool*/
+  variable17 = NEW_OptionBool_opts___OptionBool___init(variable15, variable16); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_only_metamodel(obj) = variable17;
-  variable18 = NEW_string___String___with_native(BOX_NativeString("Only proceed to parse step of loaders"), TAG_Int(37)); /*new String*/
-  variable19 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable20 = NEW_string___String___with_native(BOX_NativeString("--only-parse"), TAG_Int(12)); /*new String*/
+  variable18 = NEW_String_string___String___with_native(BOX_NativeString("Only proceed to parse step of loaders"), TAG_Int(37)); /*new String*/
+  variable19 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable20 = NEW_String_string___String___with_native(BOX_NativeString("--only-parse"), TAG_Int(12)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19, variable20) /*AbstractArray::add*/;
-  variable20 = NEW_opts___OptionBool___init(variable18, variable19); /*new OptionBool*/
+  variable20 = NEW_OptionBool_opts___OptionBool___init(variable18, variable19); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_only_parse(obj) = variable20;
-  variable21 = NEW_string___String___with_native(BOX_NativeString("Show Help (This screen)"), TAG_Int(23)); /*new String*/
-  variable22 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-  variable23 = NEW_string___String___with_native(BOX_NativeString("-h"), TAG_Int(2)); /*new String*/
+  variable21 = NEW_String_string___String___with_native(BOX_NativeString("Show Help (This screen)"), TAG_Int(23)); /*new String*/
+  variable22 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
+  variable23 = NEW_String_string___String___with_native(BOX_NativeString("-h"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable23) /*AbstractArray::add*/;
-  variable24 = NEW_string___String___with_native(BOX_NativeString("-?"), TAG_Int(2)); /*new String*/
+  variable24 = NEW_String_string___String___with_native(BOX_NativeString("-?"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable24) /*AbstractArray::add*/;
-  variable25 = NEW_string___String___with_native(BOX_NativeString("--help"), TAG_Int(6)); /*new String*/
+  variable25 = NEW_String_string___String___with_native(BOX_NativeString("--help"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable25) /*AbstractArray::add*/;
-  variable23 = NEW_opts___OptionBool___init(variable21, variable22); /*new OptionBool*/
+  variable23 = NEW_OptionBool_opts___OptionBool___init(variable21, variable22); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_help(obj) = variable23;
-  variable24 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable24 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[Symbol]*/
   ATTR_mmloader___ToolContext____processing_modules(obj) = variable24;
-  variable25 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable25 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[String, MMDirectory]*/
   ATTR_mmloader___ToolContext____path_dirs(obj) = variable25;
   ATTR_compiling_base___ToolContext____global(obj) = TAG_Bool((int)0);
   ATTR_compiling_base___ToolContext____attr_sim(obj) = TAG_Bool((int)0);
@@ -78088,13 +87548,19 @@ val_t NEW_ToolContext(void) {
   ATTR_compiling_base___ToolContext____no_cc(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_mmloader___ToolContext___init() {
+val_t NEW_ToolContext_abstractmetamodel___MMContext___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ToolContext();
+  abstractmetamodel___MMContext___init(self, init_table);
+  return self;
+}
+val_t NEW_ToolContext_mmloader___ToolContext___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ToolContext();
   mmloader___ToolContext___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ModuleLoader[48] = {
+const classtable_elt_t VFT_ModuleLoader[49] = {
   {(bigint) 79 /* 0: Identity */},
   {(bigint) 3 /* 1: ModuleLoader < Object: superclass typecheck marker */},
   {(bigint) 79 /* 2: ModuleLoader < ModuleLoader: superclass typecheck marker */},
@@ -78143,6 +87609,7 @@ const classtable_elt_t VFT_ModuleLoader[48] = {
   {(bigint) mmloader___ModuleLoader___load_module},
   {(bigint) mmloader___ModuleLoader___parse_file},
   {(bigint) mmloader___ModuleLoader___process_metamodel},
+  {(bigint) mmloader___ModuleLoader___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ModuleLoader(void) {
@@ -78151,6 +87618,12 @@ val_t NEW_ModuleLoader(void) {
   obj->vft = (classtable_elt_t*)VFT_ModuleLoader;
   return OBJ2VAL(obj);
 }
+val_t NEW_ModuleLoader_mmloader___ModuleLoader___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_ModuleLoader();
+  mmloader___ModuleLoader___init(self, init_table);
+  return self;
+}
 const classtable_elt_t VFT_MMSrcModule[93] = {
   {(bigint) 2567 /* 0: Identity */},
   {(bigint) 3 /* 1: MMSrcModule < Object: superclass typecheck marker */},
@@ -78282,37 +87755,43 @@ val_t NEW_MMSrcModule(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 21);
   obj->vft = (classtable_elt_t*)VFT_MMSrcModule;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[MMGlobalClass]*/
   ATTR_abstractmetamodel___MMModule____global_classes(obj) = variable0;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
   ATTR_abstractmetamodel___MMModule____local_classes(obj) = variable1;
-  variable2 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable2 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
   ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(obj) = variable2;
-  variable3 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable3 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMModule]*/
   ATTR_abstractmetamodel___MMModule____intrude_modules(obj) = variable3;
-  variable4 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable4 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMModule]*/
   ATTR_abstractmetamodel___MMModule____public_modules(obj) = variable4;
-  variable5 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable5 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMModule]*/
   ATTR_abstractmetamodel___MMModule____private_modules(obj) = variable5;
-  variable6 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable6 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMModule]*/
   ATTR_abstractmetamodel___MMModule____explicit_imported_modules(obj) = variable6;
-  variable7 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable7 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMGlobalClass, MMLocalClass]*/
   ATTR_abstractmetamodel___MMModule____local_class_by_global(obj) = variable7;
-  variable8 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable8 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, MMGlobalClass]*/
   ATTR_abstractmetamodel___MMModule____global_class_by_name(obj) = variable8;
   variable9 = OBJ2VAL(obj);
-  variable10 = NEW_static_type___MMTypeNone___init(variable9); /*new MMTypeNone*/
+  variable10 = NEW_MMTypeNone_static_type___MMTypeNone___init(variable9); /*new MMTypeNone*/
   ATTR_static_type___MMModule____type_none(obj) = variable10;
   ATTR_mmloader___MMModule____mtime(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_MMSrcModule_abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMSrcModule();
+  abstractmetamodel___MMModule___init(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_MMSrcModule_syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_MMSrcModule();
   syntax_base___MMSrcModule___init(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMSrcLocalClass[117] = {
+const classtable_elt_t VFT_MMSrcLocalClass[120] = {
   {(bigint) 3171 /* 0: Identity */},
   {(bigint) 3 /* 1: MMSrcLocalClass < Object: superclass typecheck marker */},
   {(bigint) 103 /* 2: MMSrcLocalClass < MMLocalClass: superclass typecheck marker */},
@@ -78365,6 +87844,7 @@ const classtable_elt_t VFT_MMSrcLocalClass[117] = {
   {(bigint) inheritance___MMLocalClass___compute_super_classes},
   {(bigint) inheritance___MMLocalClass___compute_ancestors},
   {(bigint) inheritance___MMLocalClass___inherit_global_properties},
+  {(bigint) inheritance___MMLocalClass___make_visible_an_inherited_global_property},
   {(bigint) inheritance___MMLocalClass___add_direct_parent},
   {(bigint) inheritance___MMLocalClass___computed_super_classes},
   {(bigint) inheritance___MMLocalClass___computed_ancestors},
@@ -78382,7 +87862,7 @@ const classtable_elt_t VFT_MMSrcLocalClass[117] = {
   {(bigint) static_type___MMLocalClass___add_ancestor},
   {(bigint) static_type___MMLocalClass___ancestors},
   {(bigint) static_type___MMLocalClass___ancestor},
-  {(bigint) 1 /* 69: MMSrcLocalClass < MMLocalClass: superclass init_table position */},
+  {(bigint) 1 /* 70: MMSrcLocalClass < MMLocalClass: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalClass___name},
   {(bigint) abstractmetamodel___MMLocalClass___arity},
   {(bigint) abstractmetamodel___MMLocalClass___module},
@@ -78417,14 +87897,16 @@ const classtable_elt_t VFT_MMSrcLocalClass[117] = {
   {(bigint) compiling_global___MMLocalClass___compile_tables_to_c},
   {(bigint) compiling_base___MMLocalClass___primitive_info},
   {(bigint) compiling_base___MMLocalClass___primitive_ctypes},
-  {(bigint) 2 /* 104: MMSrcLocalClass < MMConcreteClass: superclass init_table position */},
+  {(bigint) 2 /* 105: MMSrcLocalClass < MMConcreteClass: superclass init_table position */},
   {(bigint) compiling_global___MMSrcLocalClass___base_attr_pos},
   {(bigint) compiling_global___MMSrcLocalClass___class_color_pos},
   {(bigint) compiling_global___MMSrcLocalClass___class_layout},
   {(bigint) compiling_global___MMSrcLocalClass___instance_layout},
   {(bigint) compiling_global___MMSrcLocalClass___build_layout_in},
+  {(bigint) mmbuilder___MMSrcLocalClass___is_mixin},
+  {(bigint) mmbuilder___MMSrcLocalClass___process_default_constructors},
   {(bigint) mmbuilder___MMSrcLocalClass___add_src_local_property},
-  {(bigint) 3 /* 111: MMSrcLocalClass < MMSrcLocalClass: superclass init_table position */},
+  {(bigint) 3 /* 114: MMSrcLocalClass < MMSrcLocalClass: superclass init_table position */},
   {(bigint) syntax_base___MMSrcLocalClass___nodes},
   {(bigint) syntax_base___MMSrcLocalClass___formal_dict},
   {(bigint) syntax_base___MMSrcLocalClass___formal_dict__eq},
@@ -78455,35 +87937,43 @@ const classtable_elt_t VFT_MMSrcLocalClass[117] = {
 /* 21: Attribute MMSrcLocalClass::_class_color_pos */
 /* 22: Attribute MMSrcLocalClass::_class_layout */
 /* 23: Attribute MMSrcLocalClass::_instance_layout */
-/* 24: Attribute MMSrcLocalClass::_nodes */
-/* 25: Attribute MMSrcLocalClass::_formal_dict */
-/* 26: Attribute MMSrcLocalClass::_src_local_properties */
+/* 24: Attribute MMSrcLocalClass::_is_mixin */
+/* 25: Attribute MMSrcLocalClass::_nodes */
+/* 26: Attribute MMSrcLocalClass::_formal_dict */
+/* 27: Attribute MMSrcLocalClass::_src_local_properties */
 val_t NEW_MMSrcLocalClass(void) {
   val_t variable0;
   val_t variable1;
   val_t variable2;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 27);
+  obj = alloc(sizeof(val_t) * 28);
   obj->vft = (classtable_elt_t*)VFT_MMSrcLocalClass;
   ATTR_abstractmetamodel___MMLocalClass____arity(obj) = TAG_Int((bigint)0);
   ATTR_abstractmetamodel___MMLocalClass____abstract(obj) = TAG_Bool((int)0);
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[MMAncestor]*/
   ATTR_inheritance___MMLocalClass____direct_parents(obj) = variable0;
   ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((int)0);
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[MMTypeGeneric]*/
   ATTR_genericity___MMLocalClass____types(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMTypeFormalParameter]*/
   ATTR_genericity___MMLocalClass____formals_types(obj) = variable2;
+  ATTR_mmbuilder___MMSrcLocalClass____is_mixin(obj) =  TAG_Bool(false);
   ATTR_compiling_base___MMLocalClass____primitive_info_b(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_syntax_base___MMSrcLocalClass___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_MMSrcLocalClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMSrcLocalClass();
+  abstractmetamodel___MMLocalClass___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_MMSrcLocalClass();
   syntax_base___MMSrcLocalClass___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMSrcAttribute[65] = {
+const classtable_elt_t VFT_MMSrcAttribute[66] = {
   {(bigint) 3175 /* 0: Identity */},
   {(bigint) 3 /* 1: MMSrcAttribute < Object: superclass typecheck marker */},
   {(bigint) 99 /* 2: MMSrcAttribute < MMLocalProperty: superclass typecheck marker */},
@@ -78529,11 +88019,12 @@ const classtable_elt_t VFT_MMSrcAttribute[65] = {
   {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
   {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
   {(bigint) syntax_base___MMSrcAttribute___node},
+  {(bigint) syntax_base___MMLocalProperty___is_init},
   {(bigint) inheritance___MMLocalProperty___inherit_global},
   {(bigint) static_type___MMLocalProperty___signature},
   {(bigint) static_type___MMLocalProperty___signature__eq},
   {(bigint) static_type___MMLocalProperty___signature_for},
-  {(bigint) 1 /* 49: MMSrcAttribute < MMLocalProperty: superclass init_table position */},
+  {(bigint) 1 /* 50: MMSrcAttribute < MMLocalProperty: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalProperty___name},
   {(bigint) abstractmetamodel___MMLocalProperty___local_class},
   {(bigint) abstractmetamodel___MMLocalProperty___global},
@@ -78546,8 +88037,8 @@ const classtable_elt_t VFT_MMSrcAttribute[65] = {
   {(bigint) abstractmetamodel___MMLocalProperty___need_super__eq},
   {(bigint) abstractmetamodel___MMLocalProperty___init},
   {(bigint) compiling_methods___MMAttribute___compile_access},
-  {(bigint) 2 /* 62: MMSrcAttribute < MMAttribute: superclass init_table position */},
-  {(bigint) 3 /* 63: MMSrcAttribute < MMSrcAttribute: superclass init_table position */},
+  {(bigint) 2 /* 63: MMSrcAttribute < MMAttribute: superclass init_table position */},
+  {(bigint) 3 /* 64: MMSrcAttribute < MMSrcAttribute: superclass init_table position */},
   {(bigint) syntax_base___MMSrcAttribute___init},
 };
 /* 0: Pointer to the classtable */
@@ -78566,17 +88057,23 @@ val_t NEW_MMSrcAttribute(void) {
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMSrcAttribute;
   ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
   ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
   return OBJ2VAL(obj);
 }
-val_t NEW_syntax_base___MMSrcAttribute___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_MMSrcAttribute_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMSrcAttribute();
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMSrcAttribute_syntax_base___MMSrcAttribute___init(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_MMSrcAttribute();
   syntax_base___MMSrcAttribute___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMSrcMethod[68] = {
+const classtable_elt_t VFT_MMSrcMethod[69] = {
   {(bigint) 3167 /* 0: Identity */},
   {(bigint) 3 /* 1: MMSrcMethod < Object: superclass typecheck marker */},
   {(bigint) 99 /* 2: MMSrcMethod < MMLocalProperty: superclass typecheck marker */},
@@ -78622,11 +88119,12 @@ const classtable_elt_t VFT_MMSrcMethod[68] = {
   {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
   {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
   {(bigint) syntax_base___MMLocalProperty___node},
+  {(bigint) syntax_base___MMLocalProperty___is_init},
   {(bigint) inheritance___MMLocalProperty___inherit_global},
   {(bigint) static_type___MMLocalProperty___signature},
   {(bigint) static_type___MMLocalProperty___signature__eq},
   {(bigint) static_type___MMLocalProperty___signature_for},
-  {(bigint) 1 /* 49: MMSrcMethod < MMLocalProperty: superclass init_table position */},
+  {(bigint) 1 /* 50: MMSrcMethod < MMLocalProperty: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalProperty___name},
   {(bigint) abstractmetamodel___MMLocalProperty___local_class},
   {(bigint) abstractmetamodel___MMLocalProperty___global},
@@ -78641,10 +88139,10 @@ const classtable_elt_t VFT_MMSrcMethod[68] = {
   {(bigint) compiling_methods___MMMethod___compile_call},
   {(bigint) compiling_methods___MMMethod___compile_constructor_call},
   {(bigint) compiling_methods___MMMethod___compile_super_call},
-  {(bigint) 2 /* 64: MMSrcMethod < MMMethod: superclass init_table position */},
+  {(bigint) 2 /* 65: MMSrcMethod < MMMethod: superclass init_table position */},
   {(bigint) compiling_methods___MMSrcMethod___decl_csignature},
   {(bigint) compiling_methods___MMSrcMethod___do_compile_inside},
-  {(bigint) 3 /* 67: MMSrcMethod < MMSrcMethod: superclass init_table position */},
+  {(bigint) 3 /* 68: MMSrcMethod < MMSrcMethod: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMSrcMethod::_cname_cache */
@@ -78661,11 +88159,17 @@ val_t NEW_MMSrcMethod(void) {
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_MMSrcMethod;
   ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
   ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_MMAttrImplementationMethod[69] = {
+val_t NEW_MMSrcMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMSrcMethod();
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
+  return self;
+}
+const classtable_elt_t VFT_MMAttrImplementationMethod[71] = {
   {(bigint) 3295 /* 0: Identity */},
   {(bigint) 3 /* 1: MMAttrImplementationMethod < Object: superclass typecheck marker */},
   {(bigint) 99 /* 2: MMAttrImplementationMethod < MMLocalProperty: superclass typecheck marker */},
@@ -78711,11 +88215,12 @@ const classtable_elt_t VFT_MMAttrImplementationMethod[69] = {
   {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
   {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
   {(bigint) syntax_base___MMAttrImplementationMethod___node},
+  {(bigint) syntax_base___MMLocalProperty___is_init},
   {(bigint) inheritance___MMLocalProperty___inherit_global},
   {(bigint) static_type___MMLocalProperty___signature},
   {(bigint) static_type___MMLocalProperty___signature__eq},
   {(bigint) static_type___MMLocalProperty___signature_for},
-  {(bigint) 1 /* 49: MMAttrImplementationMethod < MMLocalProperty: superclass init_table position */},
+  {(bigint) 1 /* 50: MMAttrImplementationMethod < MMLocalProperty: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalProperty___name},
   {(bigint) abstractmetamodel___MMLocalProperty___local_class},
   {(bigint) abstractmetamodel___MMLocalProperty___global},
@@ -78730,11 +88235,12 @@ const classtable_elt_t VFT_MMAttrImplementationMethod[69] = {
   {(bigint) compiling_methods___MMMethod___compile_call},
   {(bigint) compiling_methods___MMMethod___compile_constructor_call},
   {(bigint) compiling_methods___MMMethod___compile_super_call},
-  {(bigint) 2 /* 64: MMAttrImplementationMethod < MMMethod: superclass init_table position */},
+  {(bigint) 2 /* 65: MMAttrImplementationMethod < MMMethod: superclass init_table position */},
   {(bigint) compiling_methods___MMSrcMethod___decl_csignature},
   {(bigint) compiling_methods___MMSrcMethod___do_compile_inside},
-  {(bigint) 3 /* 67: MMAttrImplementationMethod < MMSrcMethod: superclass init_table position */},
-  {(bigint) 4 /* 68: MMAttrImplementationMethod < MMAttrImplementationMethod: superclass init_table position */},
+  {(bigint) 3 /* 68: MMAttrImplementationMethod < MMSrcMethod: superclass init_table position */},
+  {(bigint) 4 /* 69: MMAttrImplementationMethod < MMAttrImplementationMethod: superclass init_table position */},
+  {(bigint) syntax_base___MMAttrImplementationMethod___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMAttrImplementationMethod::_cname_cache */
@@ -78752,11 +88258,23 @@ val_t NEW_MMAttrImplementationMethod(void) {
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMAttrImplementationMethod;
   ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
   ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_MMReadImplementationMethod[71] = {
+val_t NEW_MMAttrImplementationMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_MMAttrImplementationMethod();
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMAttrImplementationMethod_syntax_base___MMAttrImplementationMethod___init(val_t p0, val_t p1, val_t p2) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_MMAttrImplementationMethod();
+  syntax_base___MMAttrImplementationMethod___init(self, p0, p1, p2, init_table);
+  return self;
+}
+const classtable_elt_t VFT_MMReadImplementationMethod[73] = {
   {(bigint) 3627 /* 0: Identity */},
   {(bigint) 3 /* 1: MMReadImplementationMethod < Object: superclass typecheck marker */},
   {(bigint) 99 /* 2: MMReadImplementationMethod < MMLocalProperty: superclass typecheck marker */},
@@ -78802,11 +88320,12 @@ const classtable_elt_t VFT_MMReadImplementationMethod[71] = {
   {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
   {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
   {(bigint) syntax_base___MMAttrImplementationMethod___node},
+  {(bigint) syntax_base___MMLocalProperty___is_init},
   {(bigint) inheritance___MMLocalProperty___inherit_global},
   {(bigint) static_type___MMLocalProperty___signature},
   {(bigint) static_type___MMLocalProperty___signature__eq},
   {(bigint) static_type___MMLocalProperty___signature_for},
-  {(bigint) 1 /* 49: MMReadImplementationMethod < MMLocalProperty: superclass init_table position */},
+  {(bigint) 1 /* 50: MMReadImplementationMethod < MMLocalProperty: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalProperty___name},
   {(bigint) abstractmetamodel___MMLocalProperty___local_class},
   {(bigint) abstractmetamodel___MMLocalProperty___global},
@@ -78821,12 +88340,13 @@ const classtable_elt_t VFT_MMReadImplementationMethod[71] = {
   {(bigint) compiling_methods___MMMethod___compile_call},
   {(bigint) compiling_methods___MMMethod___compile_constructor_call},
   {(bigint) compiling_methods___MMMethod___compile_super_call},
-  {(bigint) 2 /* 64: MMReadImplementationMethod < MMMethod: superclass init_table position */},
+  {(bigint) 2 /* 65: MMReadImplementationMethod < MMMethod: superclass init_table position */},
   {(bigint) compiling_methods___MMSrcMethod___decl_csignature},
   {(bigint) compiling_methods___MMReadImplementationMethod___do_compile_inside},
-  {(bigint) 3 /* 67: MMReadImplementationMethod < MMSrcMethod: superclass init_table position */},
-  {(bigint) 4 /* 68: MMReadImplementationMethod < MMAttrImplementationMethod: superclass init_table position */},
-  {(bigint) 5 /* 69: MMReadImplementationMethod < MMReadImplementationMethod: superclass init_table position */},
+  {(bigint) 3 /* 68: MMReadImplementationMethod < MMSrcMethod: superclass init_table position */},
+  {(bigint) 4 /* 69: MMReadImplementationMethod < MMAttrImplementationMethod: superclass init_table position */},
+  {(bigint) syntax_base___MMAttrImplementationMethod___init},
+  {(bigint) 5 /* 71: MMReadImplementationMethod < MMReadImplementationMethod: superclass init_table position */},
   {(bigint) syntax_base___MMReadImplementationMethod___init},
 };
 /* 0: Pointer to the classtable */
@@ -78845,17 +88365,29 @@ val_t NEW_MMReadImplementationMethod(void) {
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMReadImplementationMethod;
   ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
   ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
   return OBJ2VAL(obj);
 }
-val_t NEW_syntax_base___MMReadImplementationMethod___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_MMReadImplementationMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_MMReadImplementationMethod();
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMReadImplementationMethod_syntax_base___MMAttrImplementationMethod___init(val_t p0, val_t p1, val_t p2) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_MMReadImplementationMethod();
+  syntax_base___MMAttrImplementationMethod___init(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_MMReadImplementationMethod_syntax_base___MMReadImplementationMethod___init(val_t p0, val_t p1, val_t p2) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_MMReadImplementationMethod();
   syntax_base___MMReadImplementationMethod___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMWriteImplementationMethod[71] = {
+const classtable_elt_t VFT_MMWriteImplementationMethod[73] = {
   {(bigint) 3623 /* 0: Identity */},
   {(bigint) 3 /* 1: MMWriteImplementationMethod < Object: superclass typecheck marker */},
   {(bigint) 99 /* 2: MMWriteImplementationMethod < MMLocalProperty: superclass typecheck marker */},
@@ -78901,11 +88433,12 @@ const classtable_elt_t VFT_MMWriteImplementationMethod[71] = {
   {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
   {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
   {(bigint) syntax_base___MMAttrImplementationMethod___node},
+  {(bigint) syntax_base___MMLocalProperty___is_init},
   {(bigint) inheritance___MMLocalProperty___inherit_global},
   {(bigint) static_type___MMLocalProperty___signature},
   {(bigint) static_type___MMLocalProperty___signature__eq},
   {(bigint) static_type___MMLocalProperty___signature_for},
-  {(bigint) 1 /* 49: MMWriteImplementationMethod < MMLocalProperty: superclass init_table position */},
+  {(bigint) 1 /* 50: MMWriteImplementationMethod < MMLocalProperty: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalProperty___name},
   {(bigint) abstractmetamodel___MMLocalProperty___local_class},
   {(bigint) abstractmetamodel___MMLocalProperty___global},
@@ -78920,12 +88453,13 @@ const classtable_elt_t VFT_MMWriteImplementationMethod[71] = {
   {(bigint) compiling_methods___MMMethod___compile_call},
   {(bigint) compiling_methods___MMMethod___compile_constructor_call},
   {(bigint) compiling_methods___MMMethod___compile_super_call},
-  {(bigint) 2 /* 64: MMWriteImplementationMethod < MMMethod: superclass init_table position */},
+  {(bigint) 2 /* 65: MMWriteImplementationMethod < MMMethod: superclass init_table position */},
   {(bigint) compiling_methods___MMSrcMethod___decl_csignature},
   {(bigint) compiling_methods___MMWriteImplementationMethod___do_compile_inside},
-  {(bigint) 3 /* 67: MMWriteImplementationMethod < MMSrcMethod: superclass init_table position */},
-  {(bigint) 4 /* 68: MMWriteImplementationMethod < MMAttrImplementationMethod: superclass init_table position */},
-  {(bigint) 5 /* 69: MMWriteImplementationMethod < MMWriteImplementationMethod: superclass init_table position */},
+  {(bigint) 3 /* 68: MMWriteImplementationMethod < MMSrcMethod: superclass init_table position */},
+  {(bigint) 4 /* 69: MMWriteImplementationMethod < MMAttrImplementationMethod: superclass init_table position */},
+  {(bigint) syntax_base___MMAttrImplementationMethod___init},
+  {(bigint) 5 /* 71: MMWriteImplementationMethod < MMWriteImplementationMethod: superclass init_table position */},
   {(bigint) syntax_base___MMWriteImplementationMethod___init},
 };
 /* 0: Pointer to the classtable */
@@ -78944,17 +88478,29 @@ val_t NEW_MMWriteImplementationMethod(void) {
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMWriteImplementationMethod;
   ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
   ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
   return OBJ2VAL(obj);
 }
-val_t NEW_syntax_base___MMWriteImplementationMethod___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_MMWriteImplementationMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_MMWriteImplementationMethod();
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMWriteImplementationMethod_syntax_base___MMAttrImplementationMethod___init(val_t p0, val_t p1, val_t p2) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_MMWriteImplementationMethod();
+  syntax_base___MMAttrImplementationMethod___init(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_MMWriteImplementationMethod_syntax_base___MMWriteImplementationMethod___init(val_t p0, val_t p1, val_t p2) {
   int init_table[6] = {0, 0, 0, 0, 0, 0};
   val_t self = NEW_MMWriteImplementationMethod();
   syntax_base___MMWriteImplementationMethod___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMMethSrcMethod[70] = {
+const classtable_elt_t VFT_MMMethSrcMethod[71] = {
   {(bigint) 3291 /* 0: Identity */},
   {(bigint) 3 /* 1: MMMethSrcMethod < Object: superclass typecheck marker */},
   {(bigint) 99 /* 2: MMMethSrcMethod < MMLocalProperty: superclass typecheck marker */},
@@ -79000,11 +88546,12 @@ const classtable_elt_t VFT_MMMethSrcMethod[70] = {
   {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
   {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
   {(bigint) syntax_base___MMMethSrcMethod___node},
+  {(bigint) syntax_base___MMMethSrcMethod___is_init},
   {(bigint) inheritance___MMLocalProperty___inherit_global},
   {(bigint) static_type___MMLocalProperty___signature},
   {(bigint) static_type___MMLocalProperty___signature__eq},
   {(bigint) static_type___MMLocalProperty___signature_for},
-  {(bigint) 1 /* 49: MMMethSrcMethod < MMLocalProperty: superclass init_table position */},
+  {(bigint) 1 /* 50: MMMethSrcMethod < MMLocalProperty: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalProperty___name},
   {(bigint) abstractmetamodel___MMLocalProperty___local_class},
   {(bigint) abstractmetamodel___MMLocalProperty___global},
@@ -79019,11 +88566,11 @@ const classtable_elt_t VFT_MMMethSrcMethod[70] = {
   {(bigint) compiling_methods___MMMethod___compile_call},
   {(bigint) compiling_methods___MMMethod___compile_constructor_call},
   {(bigint) compiling_methods___MMMethod___compile_super_call},
-  {(bigint) 2 /* 64: MMMethSrcMethod < MMMethod: superclass init_table position */},
+  {(bigint) 2 /* 65: MMMethSrcMethod < MMMethod: superclass init_table position */},
   {(bigint) compiling_methods___MMSrcMethod___decl_csignature},
   {(bigint) compiling_methods___MMMethSrcMethod___do_compile_inside},
-  {(bigint) 3 /* 67: MMMethSrcMethod < MMSrcMethod: superclass init_table position */},
-  {(bigint) 4 /* 68: MMMethSrcMethod < MMMethSrcMethod: superclass init_table position */},
+  {(bigint) 3 /* 68: MMMethSrcMethod < MMSrcMethod: superclass init_table position */},
+  {(bigint) 4 /* 69: MMMethSrcMethod < MMMethSrcMethod: superclass init_table position */},
   {(bigint) syntax_base___MMMethSrcMethod___init},
 };
 /* 0: Pointer to the classtable */
@@ -79042,17 +88589,23 @@ val_t NEW_MMMethSrcMethod(void) {
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMMethSrcMethod;
   ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
   ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
   return OBJ2VAL(obj);
 }
-val_t NEW_syntax_base___MMMethSrcMethod___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_MMMethSrcMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_MMMethSrcMethod();
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMMethSrcMethod_syntax_base___MMMethSrcMethod___init(val_t p0, val_t p1, val_t p2) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_MMMethSrcMethod();
   syntax_base___MMMethSrcMethod___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMSrcTypeProperty[66] = {
+const classtable_elt_t VFT_MMSrcTypeProperty[67] = {
   {(bigint) 3163 /* 0: Identity */},
   {(bigint) 3 /* 1: MMSrcTypeProperty < Object: superclass typecheck marker */},
   {(bigint) 99 /* 2: MMSrcTypeProperty < MMLocalProperty: superclass typecheck marker */},
@@ -79098,11 +88651,12 @@ const classtable_elt_t VFT_MMSrcTypeProperty[66] = {
   {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
   {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
   {(bigint) syntax_base___MMSrcTypeProperty___node},
+  {(bigint) syntax_base___MMLocalProperty___is_init},
   {(bigint) inheritance___MMLocalProperty___inherit_global},
   {(bigint) static_type___MMLocalProperty___signature},
   {(bigint) static_type___MMLocalProperty___signature__eq},
   {(bigint) static_type___MMLocalProperty___signature_for},
-  {(bigint) 1 /* 49: MMSrcTypeProperty < MMLocalProperty: superclass init_table position */},
+  {(bigint) 1 /* 50: MMSrcTypeProperty < MMLocalProperty: superclass init_table position */},
   {(bigint) abstractmetamodel___MMLocalProperty___name},
   {(bigint) abstractmetamodel___MMLocalProperty___local_class},
   {(bigint) abstractmetamodel___MMLocalProperty___global},
@@ -79114,10 +88668,10 @@ const classtable_elt_t VFT_MMSrcTypeProperty[66] = {
   {(bigint) abstractmetamodel___MMLocalProperty___need_super},
   {(bigint) abstractmetamodel___MMLocalProperty___need_super__eq},
   {(bigint) abstractmetamodel___MMLocalProperty___init},
-  {(bigint) 2 /* 61: MMSrcTypeProperty < MMTypeProperty: superclass init_table position */},
+  {(bigint) 2 /* 62: MMSrcTypeProperty < MMTypeProperty: superclass init_table position */},
   {(bigint) virtualtype___MMTypeProperty___stype_for},
   {(bigint) virtualtype___MMTypeProperty___real_stype_for},
-  {(bigint) 3 /* 64: MMSrcTypeProperty < MMSrcTypeProperty: superclass init_table position */},
+  {(bigint) 3 /* 65: MMSrcTypeProperty < MMSrcTypeProperty: superclass init_table position */},
   {(bigint) syntax_base___MMSrcTypeProperty___init},
 };
 /* 0: Pointer to the classtable */
@@ -79138,18 +88692,144 @@ val_t NEW_MMSrcTypeProperty(void) {
   obj = alloc(sizeof(val_t) * 11);
   obj->vft = (classtable_elt_t*)VFT_MMSrcTypeProperty;
   ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
   ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable1 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMVirtualType]*/
   ATTR_virtualtype___MMTypeProperty____stypes_cache(obj) = variable1;
   return OBJ2VAL(obj);
 }
-val_t NEW_syntax_base___MMSrcTypeProperty___init(val_t p0, val_t p1, val_t p2) {
+val_t NEW_MMSrcTypeProperty_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_MMSrcTypeProperty();
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMSrcTypeProperty_syntax_base___MMSrcTypeProperty___init(val_t p0, val_t p1, val_t p2) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_MMSrcTypeProperty();
   syntax_base___MMSrcTypeProperty___init(self, p0, p1, p2, init_table);
   return self;
 }
+const classtable_elt_t VFT_MMImplicitInit[76] = {
+  {(bigint) 3631 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMImplicitInit < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMImplicitInit < MMLocalProperty: superclass typecheck marker */},
+  {(bigint) 2583 /* 3: MMImplicitInit < MMMethod: superclass typecheck marker */},
+  {(bigint) 3167 /* 4: MMImplicitInit < MMSrcMethod: superclass typecheck marker */},
+  {(bigint) 3291 /* 5: MMImplicitInit < MMMethSrcMethod: superclass typecheck marker */},
+  {(bigint) 3631 /* 6: MMImplicitInit < MMImplicitInit: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) abstractmetamodel___MMLocalProperty___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMImplicitInit < Object: superclass init_table position */},
+  {(bigint) kernel___Object___object_id},
+  {(bigint) kernel___Object___is_same_type},
+  {(bigint) kernel___Object_____eqeq},
+  {(bigint) kernel___Object_____neq},
+  {(bigint) kernel___Object___output},
+  {(bigint) kernel___Object___exit},
+  {(bigint) kernel___Object___sys},
+  {(bigint) time___Object___get_time},
+  {(bigint) file___Object___printn},
+  {(bigint) file___Object___print},
+  {(bigint) file___Object___getc},
+  {(bigint) file___Object___gets},
+  {(bigint) file___Object___stdin},
+  {(bigint) file___Object___stdout},
+  {(bigint) file___Object___stderr},
+  {(bigint) math___Object___atan2},
+  {(bigint) math___Object___pi},
+  {(bigint) math___Object___srand_from},
+  {(bigint) math___Object___srand},
+  {(bigint) compiling_methods___MMSrcMethod___compile_property_to_c},
+  {(bigint) compiling_base___MMLocalProperty___cname},
+  {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
+  {(bigint) mmbuilder___MMImplicitInit___accept_property_visitor},
+  {(bigint) syntax_base___MMMethSrcMethod___node},
+  {(bigint) syntax_base___MMImplicitInit___is_init},
+  {(bigint) inheritance___MMLocalProperty___inherit_global},
+  {(bigint) static_type___MMLocalProperty___signature},
+  {(bigint) static_type___MMLocalProperty___signature__eq},
+  {(bigint) static_type___MMLocalProperty___signature_for},
+  {(bigint) 1 /* 50: MMImplicitInit < MMLocalProperty: superclass init_table position */},
+  {(bigint) abstractmetamodel___MMLocalProperty___name},
+  {(bigint) abstractmetamodel___MMLocalProperty___local_class},
+  {(bigint) abstractmetamodel___MMLocalProperty___global},
+  {(bigint) abstractmetamodel___MMLocalProperty___prhe},
+  {(bigint) abstractmetamodel___MMLocalProperty___module},
+  {(bigint) abstractmetamodel___MMLocalProperty___full_name},
+  {(bigint) abstractmetamodel___MMLocalProperty___set_global},
+  {(bigint) abstractmetamodel___MMLocalProperty___new_global},
+  {(bigint) abstractmetamodel___MMLocalProperty___need_super},
+  {(bigint) abstractmetamodel___MMLocalProperty___need_super__eq},
+  {(bigint) abstractmetamodel___MMLocalProperty___init},
+  {(bigint) compiling_methods___MMMethod___compile_call},
+  {(bigint) compiling_methods___MMMethod___compile_constructor_call},
+  {(bigint) compiling_methods___MMMethod___compile_super_call},
+  {(bigint) 2 /* 65: MMImplicitInit < MMMethod: superclass init_table position */},
+  {(bigint) compiling_methods___MMSrcMethod___decl_csignature},
+  {(bigint) compiling_methods___MMImplicitInit___do_compile_inside},
+  {(bigint) 3 /* 68: MMImplicitInit < MMSrcMethod: superclass init_table position */},
+  {(bigint) 4 /* 69: MMImplicitInit < MMMethSrcMethod: superclass init_table position */},
+  {(bigint) syntax_base___MMMethSrcMethod___init},
+  {(bigint) mmbuilder___MMImplicitInit___super_init},
+  {(bigint) 5 /* 72: MMImplicitInit < MMImplicitInit: superclass init_table position */},
+  {(bigint) syntax_base___MMImplicitInit___unassigned_attributes},
+  {(bigint) syntax_base___MMImplicitInit___super_inits},
+  {(bigint) syntax_base___MMImplicitInit___init},
+};
+/* 0: Pointer to the classtable */
+/* 1: Attribute MMImplicitInit::_cname_cache */
+/* 2: Attribute MMImplicitInit::_signature */
+/* 3: Attribute MMImplicitInit::_signatures_cache */
+/* 4: Attribute MMImplicitInit::_name */
+/* 5: Attribute MMImplicitInit::_local_class */
+/* 6: Attribute MMImplicitInit::_global */
+/* 7: Attribute MMImplicitInit::_prhe */
+/* 8: Attribute MMImplicitInit::_need_super */
+/* 9: Attribute MMImplicitInit::_node */
+/* 10: Attribute MMImplicitInit::_super_init */
+/* 11: Attribute MMImplicitInit::_unassigned_attributes */
+/* 12: Attribute MMImplicitInit::_super_inits */
+val_t NEW_MMImplicitInit(void) {
+  val_t variable0;
+  obj_t obj;
+  obj = alloc(sizeof(val_t) * 13);
+  obj->vft = (classtable_elt_t*)VFT_MMImplicitInit;
+  ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMType, MMSignature]*/
+  ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
+  ATTR_mmbuilder___MMImplicitInit____super_init(obj) =  NIT_NULL /*null*/;
+  return OBJ2VAL(obj);
+}
+val_t NEW_MMImplicitInit_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_MMImplicitInit();
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMImplicitInit_syntax_base___MMMethSrcMethod___init(val_t p0, val_t p1, val_t p2) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_MMImplicitInit();
+  syntax_base___MMMethSrcMethod___init(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_MMImplicitInit_syntax_base___MMImplicitInit___init(val_t p0, val_t p1, val_t p2) {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_MMImplicitInit();
+  syntax_base___MMImplicitInit___init(self, p0, p1, p2, init_table);
+  return self;
+}
 const classtable_elt_t VFT_Variable[46] = {
   {(bigint) 15 /* 0: Identity */},
   {(bigint) 3 /* 1: Variable < Object: superclass typecheck marker */},
@@ -79208,13 +88888,13 @@ val_t NEW_Variable(void) {
   obj->vft = (classtable_elt_t*)VFT_Variable;
   return OBJ2VAL(obj);
 }
-val_t NEW_syntax_base___Variable___init(val_t p0, val_t p1) {
+val_t NEW_Variable_syntax_base___Variable___init(val_t p0, val_t p1) {
   int init_table[2] = {0, 0};
   val_t self = NEW_Variable();
   syntax_base___Variable___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AbsSyntaxVisitor[64] = {
+const classtable_elt_t VFT_AbsSyntaxVisitor[66] = {
   {(bigint) 2679 /* 0: Identity */},
   {(bigint) 3 /* 1: AbsSyntaxVisitor < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: AbsSyntaxVisitor < Visitor: superclass typecheck marker */},
@@ -79257,7 +88937,8 @@ const classtable_elt_t VFT_AbsSyntaxVisitor[64] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: AbsSyntaxVisitor < Visitor: superclass init_table position */},
   {(bigint) parser_prod___Visitor___visit},
-  {(bigint) 2 /* 42: AbsSyntaxVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___init},
+  {(bigint) 2 /* 43: AbsSyntaxVisitor < AbsSyntaxVisitor: superclass init_table position */},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
@@ -79277,6 +88958,7 @@ const classtable_elt_t VFT_AbsSyntaxVisitor[64] = {
   {(bigint) syntax_base___AbsSyntaxVisitor___tc},
   {(bigint) syntax_base___AbsSyntaxVisitor___error},
   {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___locate},
   {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
   {(bigint) syntax_base___AbsSyntaxVisitor___init},
 };
@@ -79291,13 +88973,19 @@ val_t NEW_AbsSyntaxVisitor(void) {
   obj->vft = (classtable_elt_t*)VFT_AbsSyntaxVisitor;
   return OBJ2VAL(obj);
 }
-val_t NEW_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1) {
+val_t NEW_AbsSyntaxVisitor_parser_prod___Visitor___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_AbsSyntaxVisitor();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+val_t NEW_AbsSyntaxVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_AbsSyntaxVisitor();
   syntax_base___AbsSyntaxVisitor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_CSHSorter[48] = {
+const classtable_elt_t VFT_CSHSorter[49] = {
   {(bigint) 2667 /* 0: Identity */},
   {(bigint) 3 /* 1: CSHSorter < Object: superclass typecheck marker */},
   {(bigint) 175 /* 2: CSHSorter < AbstractSorter: superclass typecheck marker */},
@@ -79344,7 +89032,8 @@ const classtable_elt_t VFT_CSHSorter[48] = {
   {(bigint) sorter___AbstractSorter___sub_sort},
   {(bigint) sorter___AbstractSorter___quick_sort},
   {(bigint) sorter___AbstractSorter___bubble_sort},
-  {(bigint) 2 /* 46: CSHSorter < CSHSorter: superclass init_table position */},
+  {(bigint) sorter___AbstractSorter___init},
+  {(bigint) 2 /* 47: CSHSorter < CSHSorter: superclass init_table position */},
   {(bigint) mmbuilder___CSHSorter___init},
 };
 /* 0: Pointer to the classtable */
@@ -79354,13 +89043,19 @@ val_t NEW_CSHSorter(void) {
   obj->vft = (classtable_elt_t*)VFT_CSHSorter;
   return OBJ2VAL(obj);
 }
-val_t NEW_mmbuilder___CSHSorter___init() {
+val_t NEW_CSHSorter_sorter___AbstractSorter___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_CSHSorter();
+  sorter___AbstractSorter___init(self, init_table);
+  return self;
+}
+val_t NEW_CSHSorter_mmbuilder___CSHSorter___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_CSHSorter();
   mmbuilder___CSHSorter___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMSrcAncestor[52] = {
+const classtable_elt_t VFT_MMSrcAncestor[53] = {
   {(bigint) 2571 /* 0: Identity */},
   {(bigint) 3 /* 1: MMSrcAncestor < Object: superclass typecheck marker */},
   {(bigint) 123 /* 2: MMSrcAncestor < MMAncestor: superclass typecheck marker */},
@@ -79410,7 +89105,8 @@ const classtable_elt_t VFT_MMSrcAncestor[52] = {
   {(bigint) static_type___MMAncestor___is_reffinement},
   {(bigint) static_type___MMAncestor___is_specialisation},
   {(bigint) mmbuilder___MMSrcAncestor___local_class},
-  {(bigint) 2 /* 49: MMSrcAncestor < MMSrcAncestor: superclass init_table position */},
+  {(bigint) static_type___MMAncestor___init},
+  {(bigint) 2 /* 50: MMSrcAncestor < MMSrcAncestor: superclass init_table position */},
   {(bigint) mmbuilder___MMSrcAncestor___node},
   {(bigint) mmbuilder___MMSrcAncestor___init},
 };
@@ -79425,13 +89121,19 @@ val_t NEW_MMSrcAncestor(void) {
   obj->vft = (classtable_elt_t*)VFT_MMSrcAncestor;
   return OBJ2VAL(obj);
 }
-val_t NEW_mmbuilder___MMSrcAncestor___init(val_t p0, val_t p1) {
+val_t NEW_MMSrcAncestor_static_type___MMAncestor___init(val_t p0, val_t p1) {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MMSrcAncestor();
+  static_type___MMAncestor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMSrcAncestor_mmbuilder___MMSrcAncestor___init(val_t p0, val_t p1) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_MMSrcAncestor();
   mmbuilder___MMSrcAncestor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ClassBuilderVisitor[70] = {
+const classtable_elt_t VFT_ClassBuilderVisitor[72] = {
   {(bigint) 3227 /* 0: Identity */},
   {(bigint) 3 /* 1: ClassBuilderVisitor < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: ClassBuilderVisitor < Visitor: superclass typecheck marker */},
@@ -79474,7 +89176,8 @@ const classtable_elt_t VFT_ClassBuilderVisitor[70] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ClassBuilderVisitor < Visitor: superclass init_table position */},
   {(bigint) mmbuilder___ClassBuilderVisitor___visit},
-  {(bigint) 2 /* 42: ClassBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___init},
+  {(bigint) 2 /* 43: ClassBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
@@ -79494,9 +89197,10 @@ const classtable_elt_t VFT_ClassBuilderVisitor[70] = {
   {(bigint) syntax_base___AbsSyntaxVisitor___tc},
   {(bigint) syntax_base___AbsSyntaxVisitor___error},
   {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___locate},
   {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
   {(bigint) syntax_base___AbsSyntaxVisitor___init},
-  {(bigint) 3 /* 64: ClassBuilderVisitor < ClassBuilderVisitor: superclass init_table position */},
+  {(bigint) 3 /* 66: ClassBuilderVisitor < ClassBuilderVisitor: superclass init_table position */},
   {(bigint) mmbuilder___ClassBuilderVisitor___local_class_arity},
   {(bigint) mmbuilder___ClassBuilderVisitor___local_class_arity__eq},
   {(bigint) mmbuilder___ClassBuilderVisitor___formals},
@@ -79517,13 +89221,25 @@ val_t NEW_ClassBuilderVisitor(void) {
   ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_mmbuilder___ClassBuilderVisitor___init(val_t p0, val_t p1) {
+val_t NEW_ClassBuilderVisitor_parser_prod___Visitor___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_ClassBuilderVisitor();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+val_t NEW_ClassBuilderVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_ClassBuilderVisitor();
+  syntax_base___AbsSyntaxVisitor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_ClassBuilderVisitor_mmbuilder___ClassBuilderVisitor___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_ClassBuilderVisitor();
   mmbuilder___ClassBuilderVisitor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ClassSpecializationBuilderVisitor[66] = {
+const classtable_elt_t VFT_ClassSpecializationBuilderVisitor[68] = {
   {(bigint) 3223 /* 0: Identity */},
   {(bigint) 3 /* 1: ClassSpecializationBuilderVisitor < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: ClassSpecializationBuilderVisitor < Visitor: superclass typecheck marker */},
@@ -79566,7 +89282,8 @@ const classtable_elt_t VFT_ClassSpecializationBuilderVisitor[66] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ClassSpecializationBuilderVisitor < Visitor: superclass init_table position */},
   {(bigint) mmbuilder___ClassSpecializationBuilderVisitor___visit},
-  {(bigint) 2 /* 42: ClassSpecializationBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___init},
+  {(bigint) 2 /* 43: ClassSpecializationBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
@@ -79586,9 +89303,10 @@ const classtable_elt_t VFT_ClassSpecializationBuilderVisitor[66] = {
   {(bigint) syntax_base___AbsSyntaxVisitor___tc},
   {(bigint) syntax_base___AbsSyntaxVisitor___error},
   {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___locate},
   {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
   {(bigint) syntax_base___AbsSyntaxVisitor___init},
-  {(bigint) 3 /* 64: ClassSpecializationBuilderVisitor < ClassSpecializationBuilderVisitor: superclass init_table position */},
+  {(bigint) 3 /* 66: ClassSpecializationBuilderVisitor < ClassSpecializationBuilderVisitor: superclass init_table position */},
   {(bigint) mmbuilder___ClassSpecializationBuilderVisitor___init},
 };
 /* 0: Pointer to the classtable */
@@ -79602,13 +89320,25 @@ val_t NEW_ClassSpecializationBuilderVisitor(void) {
   obj->vft = (classtable_elt_t*)VFT_ClassSpecializationBuilderVisitor;
   return OBJ2VAL(obj);
 }
-val_t NEW_mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0, val_t p1) {
+val_t NEW_ClassSpecializationBuilderVisitor_parser_prod___Visitor___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_ClassSpecializationBuilderVisitor();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+val_t NEW_ClassSpecializationBuilderVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_ClassSpecializationBuilderVisitor();
+  syntax_base___AbsSyntaxVisitor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_ClassSpecializationBuilderVisitor_mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_ClassSpecializationBuilderVisitor();
   mmbuilder___ClassSpecializationBuilderVisitor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ClassAncestorBuilder[66] = {
+const classtable_elt_t VFT_ClassAncestorBuilder[68] = {
   {(bigint) 3231 /* 0: Identity */},
   {(bigint) 3 /* 1: ClassAncestorBuilder < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: ClassAncestorBuilder < Visitor: superclass typecheck marker */},
@@ -79651,7 +89381,8 @@ const classtable_elt_t VFT_ClassAncestorBuilder[66] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ClassAncestorBuilder < Visitor: superclass init_table position */},
   {(bigint) mmbuilder___ClassAncestorBuilder___visit},
-  {(bigint) 2 /* 42: ClassAncestorBuilder < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___init},
+  {(bigint) 2 /* 43: ClassAncestorBuilder < AbsSyntaxVisitor: superclass init_table position */},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
@@ -79671,9 +89402,10 @@ const classtable_elt_t VFT_ClassAncestorBuilder[66] = {
   {(bigint) syntax_base___AbsSyntaxVisitor___tc},
   {(bigint) syntax_base___AbsSyntaxVisitor___error},
   {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___locate},
   {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
   {(bigint) syntax_base___AbsSyntaxVisitor___init},
-  {(bigint) 3 /* 64: ClassAncestorBuilder < ClassAncestorBuilder: superclass init_table position */},
+  {(bigint) 3 /* 66: ClassAncestorBuilder < ClassAncestorBuilder: superclass init_table position */},
   {(bigint) mmbuilder___ClassAncestorBuilder___init},
 };
 /* 0: Pointer to the classtable */
@@ -79687,13 +89419,25 @@ val_t NEW_ClassAncestorBuilder(void) {
   obj->vft = (classtable_elt_t*)VFT_ClassAncestorBuilder;
   return OBJ2VAL(obj);
 }
-val_t NEW_mmbuilder___ClassAncestorBuilder___init(val_t p0, val_t p1) {
+val_t NEW_ClassAncestorBuilder_parser_prod___Visitor___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_ClassAncestorBuilder();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+val_t NEW_ClassAncestorBuilder_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_ClassAncestorBuilder();
+  syntax_base___AbsSyntaxVisitor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_ClassAncestorBuilder_mmbuilder___ClassAncestorBuilder___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_ClassAncestorBuilder();
   mmbuilder___ClassAncestorBuilder___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ClassVerifierVisitor[66] = {
+const classtable_elt_t VFT_ClassVerifierVisitor[68] = {
   {(bigint) 3219 /* 0: Identity */},
   {(bigint) 3 /* 1: ClassVerifierVisitor < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: ClassVerifierVisitor < Visitor: superclass typecheck marker */},
@@ -79736,7 +89480,8 @@ const classtable_elt_t VFT_ClassVerifierVisitor[66] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ClassVerifierVisitor < Visitor: superclass init_table position */},
   {(bigint) mmbuilder___ClassVerifierVisitor___visit},
-  {(bigint) 2 /* 42: ClassVerifierVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___init},
+  {(bigint) 2 /* 43: ClassVerifierVisitor < AbsSyntaxVisitor: superclass init_table position */},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
@@ -79756,9 +89501,10 @@ const classtable_elt_t VFT_ClassVerifierVisitor[66] = {
   {(bigint) syntax_base___AbsSyntaxVisitor___tc},
   {(bigint) syntax_base___AbsSyntaxVisitor___error},
   {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___locate},
   {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
   {(bigint) syntax_base___AbsSyntaxVisitor___init},
-  {(bigint) 3 /* 64: ClassVerifierVisitor < ClassVerifierVisitor: superclass init_table position */},
+  {(bigint) 3 /* 66: ClassVerifierVisitor < ClassVerifierVisitor: superclass init_table position */},
   {(bigint) mmbuilder___ClassVerifierVisitor___init},
 };
 /* 0: Pointer to the classtable */
@@ -79772,13 +89518,25 @@ val_t NEW_ClassVerifierVisitor(void) {
   obj->vft = (classtable_elt_t*)VFT_ClassVerifierVisitor;
   return OBJ2VAL(obj);
 }
-val_t NEW_mmbuilder___ClassVerifierVisitor___init(val_t p0, val_t p1) {
+val_t NEW_ClassVerifierVisitor_parser_prod___Visitor___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_ClassVerifierVisitor();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+val_t NEW_ClassVerifierVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_ClassVerifierVisitor();
+  syntax_base___AbsSyntaxVisitor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_ClassVerifierVisitor_mmbuilder___ClassVerifierVisitor___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_ClassVerifierVisitor();
   mmbuilder___ClassVerifierVisitor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_PropertyBuilderVisitor[66] = {
+const classtable_elt_t VFT_PropertyBuilderVisitor[68] = {
   {(bigint) 3043 /* 0: Identity */},
   {(bigint) 3 /* 1: PropertyBuilderVisitor < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: PropertyBuilderVisitor < Visitor: superclass typecheck marker */},
@@ -79821,7 +89579,8 @@ const classtable_elt_t VFT_PropertyBuilderVisitor[66] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: PropertyBuilderVisitor < Visitor: superclass init_table position */},
   {(bigint) mmbuilder___PropertyBuilderVisitor___visit},
-  {(bigint) 2 /* 42: PropertyBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___init},
+  {(bigint) 2 /* 43: PropertyBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
@@ -79841,9 +89600,10 @@ const classtable_elt_t VFT_PropertyBuilderVisitor[66] = {
   {(bigint) syntax_base___AbsSyntaxVisitor___tc},
   {(bigint) syntax_base___AbsSyntaxVisitor___error},
   {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___locate},
   {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
   {(bigint) syntax_base___AbsSyntaxVisitor___init},
-  {(bigint) 3 /* 64: PropertyBuilderVisitor < PropertyBuilderVisitor: superclass init_table position */},
+  {(bigint) 3 /* 66: PropertyBuilderVisitor < PropertyBuilderVisitor: superclass init_table position */},
   {(bigint) mmbuilder___PropertyBuilderVisitor___init},
 };
 /* 0: Pointer to the classtable */
@@ -79857,13 +89617,25 @@ val_t NEW_PropertyBuilderVisitor(void) {
   obj->vft = (classtable_elt_t*)VFT_PropertyBuilderVisitor;
   return OBJ2VAL(obj);
 }
-val_t NEW_mmbuilder___PropertyBuilderVisitor___init(val_t p0, val_t p1) {
+val_t NEW_PropertyBuilderVisitor_parser_prod___Visitor___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PropertyBuilderVisitor();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+val_t NEW_PropertyBuilderVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PropertyBuilderVisitor();
+  syntax_base___AbsSyntaxVisitor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_PropertyBuilderVisitor_mmbuilder___PropertyBuilderVisitor___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_PropertyBuilderVisitor();
   mmbuilder___PropertyBuilderVisitor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_PropertyVerifierVisitor[74] = {
+const classtable_elt_t VFT_PropertyVerifierVisitor[76] = {
   {(bigint) 3039 /* 0: Identity */},
   {(bigint) 3 /* 1: PropertyVerifierVisitor < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: PropertyVerifierVisitor < Visitor: superclass typecheck marker */},
@@ -79906,7 +89678,8 @@ const classtable_elt_t VFT_PropertyVerifierVisitor[74] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: PropertyVerifierVisitor < Visitor: superclass init_table position */},
   {(bigint) mmbuilder___PropertyVerifierVisitor___visit},
-  {(bigint) 2 /* 42: PropertyVerifierVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___init},
+  {(bigint) 2 /* 43: PropertyVerifierVisitor < AbsSyntaxVisitor: superclass init_table position */},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
@@ -79926,9 +89699,10 @@ const classtable_elt_t VFT_PropertyVerifierVisitor[74] = {
   {(bigint) syntax_base___AbsSyntaxVisitor___tc},
   {(bigint) syntax_base___AbsSyntaxVisitor___error},
   {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___locate},
   {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
   {(bigint) syntax_base___AbsSyntaxVisitor___init},
-  {(bigint) 3 /* 64: PropertyVerifierVisitor < PropertyVerifierVisitor: superclass init_table position */},
+  {(bigint) 3 /* 66: PropertyVerifierVisitor < PropertyVerifierVisitor: superclass init_table position */},
   {(bigint) mmbuilder___PropertyVerifierVisitor___params},
   {(bigint) mmbuilder___PropertyVerifierVisitor___params__eq},
   {(bigint) mmbuilder___PropertyVerifierVisitor___untyped_params},
@@ -79955,13 +89729,25 @@ val_t NEW_PropertyVerifierVisitor(void) {
   ATTR_mmbuilder___PropertyVerifierVisitor____vararg_rank(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_mmbuilder___PropertyVerifierVisitor___init(val_t p0, val_t p1) {
+val_t NEW_PropertyVerifierVisitor_parser_prod___Visitor___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PropertyVerifierVisitor();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+val_t NEW_PropertyVerifierVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_PropertyVerifierVisitor();
+  syntax_base___AbsSyntaxVisitor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_PropertyVerifierVisitor_mmbuilder___PropertyVerifierVisitor___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_PropertyVerifierVisitor();
   mmbuilder___PropertyVerifierVisitor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMSrcTypeFormalParameter[70] = {
+const classtable_elt_t VFT_MMSrcTypeFormalParameter[71] = {
   {(bigint) 3287 /* 0: Identity */},
   {(bigint) 3 /* 1: MMSrcTypeFormalParameter < Object: superclass typecheck marker */},
   {(bigint) 87 /* 2: MMSrcTypeFormalParameter < MMType: superclass typecheck marker */},
@@ -80019,17 +89805,18 @@ const classtable_elt_t VFT_MMSrcTypeFormalParameter[70] = {
   {(bigint) genericity___MMTypeFormalParameter___adapt_to},
   {(bigint) genericity___MMTypeFormalParameter___upcast_for},
   {(bigint) static_type___MMType___not_for_self},
-  {(bigint) 2 /* 57: MMSrcTypeFormalParameter < MMTypeFormal: superclass init_table position */},
+  {(bigint) static_type___MMType___init},
+  {(bigint) 2 /* 58: MMSrcTypeFormalParameter < MMTypeFormal: superclass init_table position */},
   {(bigint) type_formal___MMTypeFormal___name},
   {(bigint) type_formal___MMTypeFormal___bound},
   {(bigint) type_formal___MMTypeFormal___init},
-  {(bigint) 3 /* 61: MMSrcTypeFormalParameter < MMTypeFormalParameter: superclass init_table position */},
+  {(bigint) 3 /* 62: MMSrcTypeFormalParameter < MMTypeFormalParameter: superclass init_table position */},
   {(bigint) genericity___MMTypeFormalParameter___def_class},
   {(bigint) genericity___MMTypeFormalParameter___position},
   {(bigint) genericity___MMTypeFormalParameter___bound__eq},
   {(bigint) genericity___MMTypeFormalParameter___with_bound},
   {(bigint) genericity___MMTypeFormalParameter___init},
-  {(bigint) 4 /* 67: MMSrcTypeFormalParameter < MMSrcTypeFormalParameter: superclass init_table position */},
+  {(bigint) 4 /* 68: MMSrcTypeFormalParameter < MMSrcTypeFormalParameter: superclass init_table position */},
   {(bigint) mmbuilder___MMSrcTypeFormalParameter___node},
   {(bigint) mmbuilder___MMSrcTypeFormalParameter___init},
 };
@@ -80046,13 +89833,37 @@ val_t NEW_MMSrcTypeFormalParameter(void) {
   ATTR_genericity___MMTypeFormalParameter____position(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_mmbuilder___MMSrcTypeFormalParameter___init(val_t p0, val_t p1, val_t p2, val_t p3) {
+val_t NEW_MMSrcTypeFormalParameter_static_type___MMType___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_MMSrcTypeFormalParameter();
+  static_type___MMType___init(self, init_table);
+  return self;
+}
+val_t NEW_MMSrcTypeFormalParameter_type_formal___MMTypeFormal___init(val_t p0, val_t p1) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_MMSrcTypeFormalParameter();
+  type_formal___MMTypeFormal___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_MMSrcTypeFormalParameter_genericity___MMTypeFormalParameter___with_bound(val_t p0, val_t p1, val_t p2, val_t p3) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_MMSrcTypeFormalParameter();
+  genericity___MMTypeFormalParameter___with_bound(self, p0, p1, p2, p3, init_table);
+  return self;
+}
+val_t NEW_MMSrcTypeFormalParameter_genericity___MMTypeFormalParameter___init(val_t p0, val_t p1, val_t p2) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_MMSrcTypeFormalParameter();
+  genericity___MMTypeFormalParameter___init(self, p0, p1, p2, init_table);
+  return self;
+}
+val_t NEW_MMSrcTypeFormalParameter_mmbuilder___MMSrcTypeFormalParameter___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_MMSrcTypeFormalParameter();
   mmbuilder___MMSrcTypeFormalParameter___init(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_MethidAccumulator[45] = {
+const classtable_elt_t VFT_MethidAccumulator[46] = {
   {(bigint) 2543 /* 0: Identity */},
   {(bigint) 3 /* 1: MethidAccumulator < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: MethidAccumulator < Visitor: superclass typecheck marker */},
@@ -80095,7 +89906,8 @@ const classtable_elt_t VFT_MethidAccumulator[45] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: MethidAccumulator < Visitor: superclass init_table position */},
   {(bigint) mmbuilder___MethidAccumulator___visit},
-  {(bigint) 2 /* 42: MethidAccumulator < MethidAccumulator: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___init},
+  {(bigint) 2 /* 43: MethidAccumulator < MethidAccumulator: superclass init_table position */},
   {(bigint) mmbuilder___MethidAccumulator___name},
   {(bigint) mmbuilder___MethidAccumulator___init},
 };
@@ -80107,13 +89919,19 @@ val_t NEW_MethidAccumulator(void) {
   obj->vft = (classtable_elt_t*)VFT_MethidAccumulator;
   return OBJ2VAL(obj);
 }
-val_t NEW_mmbuilder___MethidAccumulator___init() {
+val_t NEW_MethidAccumulator_parser_prod___Visitor___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_MethidAccumulator();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+val_t NEW_MethidAccumulator_mmbuilder___MethidAccumulator___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_MethidAccumulator();
   mmbuilder___MethidAccumulator___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ControlFlowVisitor[72] = {
+const classtable_elt_t VFT_ControlFlowVisitor[74] = {
   {(bigint) 3215 /* 0: Identity */},
   {(bigint) 3 /* 1: ControlFlowVisitor < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: ControlFlowVisitor < Visitor: superclass typecheck marker */},
@@ -80156,7 +89974,8 @@ const classtable_elt_t VFT_ControlFlowVisitor[72] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: ControlFlowVisitor < Visitor: superclass init_table position */},
   {(bigint) control_flow___ControlFlowVisitor___visit},
-  {(bigint) 2 /* 42: ControlFlowVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___init},
+  {(bigint) 2 /* 43: ControlFlowVisitor < AbsSyntaxVisitor: superclass init_table position */},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
@@ -80176,9 +89995,10 @@ const classtable_elt_t VFT_ControlFlowVisitor[72] = {
   {(bigint) syntax_base___AbsSyntaxVisitor___tc},
   {(bigint) syntax_base___AbsSyntaxVisitor___error},
   {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___locate},
   {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
   {(bigint) syntax_base___AbsSyntaxVisitor___init},
-  {(bigint) 3 /* 64: ControlFlowVisitor < ControlFlowVisitor: superclass init_table position */},
+  {(bigint) 3 /* 66: ControlFlowVisitor < ControlFlowVisitor: superclass init_table position */},
   {(bigint) control_flow___ControlFlowVisitor___once_count},
   {(bigint) control_flow___ControlFlowVisitor___once_count__eq},
   {(bigint) control_flow___ControlFlowVisitor___control_flow_ctx},
@@ -80201,7 +90021,19 @@ val_t NEW_ControlFlowVisitor(void) {
   ATTR_control_flow___ControlFlowVisitor____once_count(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_control_flow___ControlFlowVisitor___init(val_t p0, val_t p1) {
+val_t NEW_ControlFlowVisitor_parser_prod___Visitor___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_ControlFlowVisitor();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+val_t NEW_ControlFlowVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_ControlFlowVisitor();
+  syntax_base___AbsSyntaxVisitor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_ControlFlowVisitor_control_flow___ControlFlowVisitor___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_ControlFlowVisitor();
   control_flow___ControlFlowVisitor___init(self, p0, p1, init_table);
@@ -80279,23 +90111,23 @@ val_t NEW_ControlFlowContext(void) {
   ATTR_control_flow___ControlFlowContext____has_return(obj) = TAG_Bool((int)0);
   ATTR_control_flow___ControlFlowContext____unreash(obj) = TAG_Bool((int)0);
   ATTR_control_flow___ControlFlowContext____already_unreash(obj) = TAG_Bool((int)0);
-  variable0 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable0 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[Variable]*/
   ATTR_control_flow___ControlFlowContext____set_variables(obj) = variable0;
   return OBJ2VAL(obj);
 }
-val_t NEW_control_flow___ControlFlowContext___init() {
+val_t NEW_ControlFlowContext_control_flow___ControlFlowContext___init() {
   int init_table[2] = {0, 0};
   val_t self = NEW_ControlFlowContext();
   control_flow___ControlFlowContext___init(self, init_table);
   return self;
 }
-val_t NEW_control_flow___ControlFlowContext___with(val_t p0) {
+val_t NEW_ControlFlowContext_control_flow___ControlFlowContext___with(val_t p0) {
   int init_table[2] = {0, 0};
   val_t self = NEW_ControlFlowContext();
   control_flow___ControlFlowContext___with(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_ABlockControler[78] = {
+const classtable_elt_t VFT_ABlockControler[79] = {
   {(bigint) 3575 /* 0: Identity */},
   {(bigint) 3 /* 1: ABlockControler < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ABlockControler < PNode: superclass typecheck marker */},
@@ -80354,6 +90186,7 @@ const classtable_elt_t VFT_ABlockControler[78] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ABlockControler < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -80362,17 +90195,17 @@ const classtable_elt_t VFT_ABlockControler[78] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ABlockControler < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ABlockControler < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ABlockControler < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ABlockControler < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 4 /* 76: ABlockControler < ABlockControler: superclass init_table position */},
+  {(bigint) 4 /* 77: ABlockControler < ABlockControler: superclass init_table position */},
   {(bigint) control_flow___ABlockControler___block},
 };
 /* 0: Pointer to the classtable */
@@ -80388,7 +90221,13 @@ val_t NEW_ABlockControler(void) {
   obj->vft = (classtable_elt_t*)VFT_ABlockControler;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_AControlableBlock[79] = {
+val_t NEW_ABlockControler_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_ABlockControler();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_AControlableBlock[80] = {
   {(bigint) 3543 /* 0: Identity */},
   {(bigint) 3 /* 1: AControlableBlock < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AControlableBlock < PNode: superclass typecheck marker */},
@@ -80447,6 +90286,7 @@ const classtable_elt_t VFT_AControlableBlock[79] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AControlableBlock < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___AControlableBlock___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -80455,18 +90295,18 @@ const classtable_elt_t VFT_AControlableBlock[79] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AControlableBlock < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AControlableBlock < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___AControlableBlock___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AControlableBlock < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AControlableBlock < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
   {(bigint) compiling_methods___AControlableBlock___compile_inside_block},
-  {(bigint) 4 /* 77: AControlableBlock < AControlableBlock: superclass init_table position */},
+  {(bigint) 4 /* 78: AControlableBlock < AControlableBlock: superclass init_table position */},
   {(bigint) control_flow___PNode___accept_control_flow},
 };
 /* 0: Pointer to the classtable */
@@ -80481,7 +90321,13 @@ val_t NEW_AControlableBlock(void) {
   obj->vft = (classtable_elt_t*)VFT_AControlableBlock;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_TypingVisitor[77] = {
+val_t NEW_AControlableBlock_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AControlableBlock();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TypingVisitor[79] = {
   {(bigint) 2683 /* 0: Identity */},
   {(bigint) 3 /* 1: TypingVisitor < Object: superclass typecheck marker */},
   {(bigint) 7 /* 2: TypingVisitor < Visitor: superclass typecheck marker */},
@@ -80524,7 +90370,8 @@ const classtable_elt_t VFT_TypingVisitor[77] = {
   {(bigint) math___Object___srand},
   {(bigint) 1 /* 40: TypingVisitor < Visitor: superclass init_table position */},
   {(bigint) typing___TypingVisitor___visit},
-  {(bigint) 2 /* 42: TypingVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___init},
+  {(bigint) 2 /* 43: TypingVisitor < AbsSyntaxVisitor: superclass init_table position */},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
   {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
@@ -80544,9 +90391,10 @@ const classtable_elt_t VFT_TypingVisitor[77] = {
   {(bigint) syntax_base___AbsSyntaxVisitor___tc},
   {(bigint) syntax_base___AbsSyntaxVisitor___error},
   {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___locate},
   {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
   {(bigint) syntax_base___AbsSyntaxVisitor___init},
-  {(bigint) 3 /* 64: TypingVisitor < TypingVisitor: superclass init_table position */},
+  {(bigint) 3 /* 66: TypingVisitor < TypingVisitor: superclass init_table position */},
   {(bigint) typing___TypingVisitor___variable_ctx},
   {(bigint) typing___TypingVisitor___variable_ctx__eq},
   {(bigint) typing___TypingVisitor___self_type},
@@ -80577,7 +90425,19 @@ val_t NEW_TypingVisitor(void) {
   ATTR_typing___TypingVisitor____explicit_other_init_call(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_typing___TypingVisitor___init(val_t p0, val_t p1) {
+val_t NEW_TypingVisitor_parser_prod___Visitor___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TypingVisitor();
+  parser_prod___Visitor___init(self, init_table);
+  return self;
+}
+val_t NEW_TypingVisitor_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TypingVisitor();
+  syntax_base___AbsSyntaxVisitor___init(self, p0, p1, init_table);
+  return self;
+}
+val_t NEW_TypingVisitor_typing___TypingVisitor___init(val_t p0, val_t p1) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TypingVisitor();
   typing___TypingVisitor___init(self, p0, p1, init_table);
@@ -80640,7 +90500,7 @@ val_t NEW_VariableContext(void) {
   obj->vft = (classtable_elt_t*)VFT_VariableContext;
   return OBJ2VAL(obj);
 }
-val_t NEW_typing___VariableContext___init() {
+val_t NEW_VariableContext_typing___VariableContext___init() {
   int init_table[2] = {0, 0};
   val_t self = NEW_VariableContext();
   typing___VariableContext___init(self, init_table);
@@ -80709,13 +90569,19 @@ val_t NEW_SubVariableContext(void) {
   obj->vft = (classtable_elt_t*)VFT_SubVariableContext;
   return OBJ2VAL(obj);
 }
-val_t NEW_typing___SubVariableContext___with(val_t p0, val_t p1, val_t p2) {
+val_t NEW_SubVariableContext_typing___VariableContext___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_SubVariableContext();
+  typing___VariableContext___init(self, init_table);
+  return self;
+}
+val_t NEW_SubVariableContext_typing___SubVariableContext___with(val_t p0, val_t p1, val_t p2) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_SubVariableContext();
   typing___SubVariableContext___with(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAbsSendExpr[94] = {
+const classtable_elt_t VFT_AAbsSendExpr[95] = {
   {(bigint) 3611 /* 0: Identity */},
   {(bigint) 3 /* 1: AAbsSendExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: AAbsSendExpr < PNode: superclass typecheck marker */},
@@ -80774,6 +90640,7 @@ const classtable_elt_t VFT_AAbsSendExpr[94] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: AAbsSendExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -80782,12 +90649,12 @@ const classtable_elt_t VFT_AAbsSendExpr[94] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: AAbsSendExpr < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: AAbsSendExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: AAbsSendExpr < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: AAbsSendExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
@@ -80804,7 +90671,7 @@ const classtable_elt_t VFT_AAbsSendExpr[94] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 88: AAbsSendExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 4 /* 89: AAbsSendExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -80825,15 +90692,21 @@ val_t NEW_AAbsSendExpr(void) {
   obj->vft = (classtable_elt_t*)VFT_AAbsSendExpr;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_ASuperInitCall[94] = {
-  {(bigint) 3675 /* 0: Identity */},
+val_t NEW_AAbsSendExpr_parser_nodes___PNode___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_AAbsSendExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_ASuperInitCall[95] = {
+  {(bigint) 3679 /* 0: Identity */},
   {(bigint) 3 /* 1: ASuperInitCall < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ASuperInitCall < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ASuperInitCall < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ASuperInitCall < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ASuperInitCall < AAbsSendExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(bigint) 3675 /* 7: ASuperInitCall < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ASuperInitCall < ASuperInitCall: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -80884,6 +90757,7 @@ const classtable_elt_t VFT_ASuperInitCall[94] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 1 /* 57: ASuperInitCall < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___PNode___after_typing},
@@ -80892,17 +90766,17 @@ const classtable_elt_t VFT_ASuperInitCall[94] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 2 /* 66: ASuperInitCall < Prod: superclass init_table position */},
+  {(bigint) 2 /* 67: ASuperInitCall < Prod: superclass init_table position */},
   {(bigint) compiling_methods___PExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___PExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 3 /* 71: ASuperInitCall < PExpr: superclass init_table position */},
+  {(bigint) 3 /* 72: ASuperInitCall < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 5 /* 76: ASuperInitCall < ASuperInitCall: superclass init_table position */},
+  {(bigint) 5 /* 77: ASuperInitCall < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -80914,7 +90788,7 @@ const classtable_elt_t VFT_ASuperInitCall[94] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(bigint) 4 /* 88: ASuperInitCall < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 4 /* 89: ASuperInitCall < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -80935,17 +90809,23 @@ val_t NEW_ASuperInitCall(void) {
   obj->vft = (classtable_elt_t*)VFT_ASuperInitCall;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_ASendReassignExpr[102] = {
-  {(bigint) 3811 /* 0: Identity */},
+val_t NEW_ASuperInitCall_parser_nodes___PNode___init() {
+  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ASuperInitCall();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_ASendReassignExpr[103] = {
+  {(bigint) 3815 /* 0: Identity */},
   {(bigint) 3 /* 1: ASendReassignExpr < Object: superclass typecheck marker */},
   {(bigint) 63 /* 2: ASendReassignExpr < PNode: superclass typecheck marker */},
   {(bigint) 2511 /* 3: ASendReassignExpr < Prod: superclass typecheck marker */},
   {(bigint) 3095 /* 4: ASendReassignExpr < PExpr: superclass typecheck marker */},
   {(bigint) 3611 /* 5: ASendReassignExpr < AAbsSendExpr: superclass typecheck marker */},
   {(bigint) 3391 /* 6: ASendReassignExpr < AReassignFormExpr: superclass typecheck marker */},
-  {(bigint) 3675 /* 7: ASendReassignExpr < ASuperInitCall: superclass typecheck marker */},
-  {(bigint) 3795 /* 8: ASendReassignExpr < ASendExpr: superclass typecheck marker */},
-  {(bigint) 3811 /* 9: ASendReassignExpr < ASendReassignExpr: superclass typecheck marker */},
+  {(bigint) 3679 /* 7: ASendReassignExpr < ASuperInitCall: superclass typecheck marker */},
+  {(bigint) 3799 /* 8: ASendReassignExpr < ASendExpr: superclass typecheck marker */},
+  {(bigint) 3815 /* 9: ASendReassignExpr < ASendReassignExpr: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -80994,6 +90874,7 @@ const classtable_elt_t VFT_ASendReassignExpr[102] = {
   {(bigint) parser_prod___Prod___line_number},
   {(bigint) parser_prod___PNode___printl},
   {(bigint) 3 /* 57: ASendReassignExpr < PNode: superclass init_table position */},
+  {(bigint) parser_nodes___PNode___init},
   {(bigint) control_flow___PNode___accept_control_flow},
   {(bigint) typing___PNode___accept_typing},
   {(bigint) typing___ASendExpr___after_typing},
@@ -81002,29 +90883,29 @@ const classtable_elt_t VFT_ASendReassignExpr[102] = {
   {(bigint) parser_prod___Prod___last_token},
   {(bigint) parser_prod___Prod___last_token__eq},
   {(bigint) parser_prod___PNode___replace_with},
-  {(bigint) 4 /* 66: ASendReassignExpr < Prod: superclass init_table position */},
+  {(bigint) 4 /* 67: ASendReassignExpr < Prod: superclass init_table position */},
   {(bigint) compiling_methods___ASendReassignExpr___compile_expr},
   {(bigint) compiling_methods___PExpr___prepare_compile_stmt},
   {(bigint) compiling_methods___ASendExpr___compile_stmt},
   {(bigint) typing___PExpr___stype},
-  {(bigint) 5 /* 71: ASendReassignExpr < PExpr: superclass init_table position */},
+  {(bigint) 5 /* 72: ASendReassignExpr < PExpr: superclass init_table position */},
   {(bigint) typing___PExpr___is_implicit_self},
   {(bigint) typing___PExpr___is_self},
   {(bigint) typing___PExpr___is_variable},
   {(bigint) typing___PExpr___if_true_variable_ctx},
-  {(bigint) 0 /* 76: ASendReassignExpr < ASuperInitCall: superclass init_table position */},
+  {(bigint) 0 /* 77: ASendReassignExpr < ASuperInitCall: superclass init_table position */},
   {(bigint) typing___ASuperInitCall___register_super_init_call},
-  {(bigint) 8 /* 78: ASendReassignExpr < ASendReassignExpr: superclass init_table position */},
+  {(bigint) 8 /* 79: ASendReassignExpr < ASendReassignExpr: superclass init_table position */},
   {(bigint) typing___ASendReassignExpr___read_prop},
   {0} /* Class Hole :( */,
   {(bigint) typing___AReassignFormExpr___do_lvalue_typing},
   {(bigint) typing___AReassignFormExpr___assign_method},
-  {(bigint) 7 /* 83: ASendReassignExpr < AReassignFormExpr: superclass init_table position */},
+  {(bigint) 7 /* 84: ASendReassignExpr < AReassignFormExpr: superclass init_table position */},
   {(bigint) parser_nodes___AReassignFormExpr___n_assign_op},
   {(bigint) parser_nodes___AReassignFormExpr___n_assign_op__eq},
   {(bigint) parser_nodes___AReassignFormExpr___n_value},
   {(bigint) parser_nodes___AReassignFormExpr___n_value__eq},
-  {(bigint) 1 /* 88: ASendReassignExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) 1 /* 89: ASendReassignExpr < AAbsSendExpr: superclass init_table position */},
   {(bigint) typing___AAbsSendExpr___do_typing},
   {(bigint) typing___AAbsSendExpr___get_property},
   {(bigint) typing___AAbsSendExpr___process_signature},
@@ -81035,7 +90916,7 @@ const classtable_elt_t VFT_ASendReassignExpr[102] = {
   {(bigint) typing___ASendReassignExpr___do_all_typing},
   {(bigint) parser_prod___ASendExpr___empty_init},
   {(bigint) parser_prod___ASendExpr___init_asendexpr},
-  {(bigint) 6 /* 99: ASendReassignExpr < ASendExpr: superclass init_table position */},
+  {(bigint) 6 /* 100: ASendReassignExpr < ASendExpr: superclass init_table position */},
   {(bigint) parser_nodes___ASendExpr___n_expr},
   {(bigint) parser_prod___ASendExpr___n_expr__eq},
 };
@@ -81056,9 +90937,30 @@ val_t NEW_ASendReassignExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 13);
   obj->vft = (classtable_elt_t*)VFT_ASendReassignExpr;
+  ATTR_parser_nodes___ASendExpr____n_expr(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_nodes___AReassignFormExpr____n_value(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_SrcModuleLoader[50] = {
+val_t NEW_ASendReassignExpr_parser_nodes___PNode___init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ASendReassignExpr();
+  parser_nodes___PNode___init(self, init_table);
+  return self;
+}
+val_t NEW_ASendReassignExpr_parser_prod___ASendExpr___empty_init() {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ASendReassignExpr();
+  parser_prod___ASendExpr___empty_init(self, init_table);
+  return self;
+}
+val_t NEW_ASendReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
+  int init_table[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+  val_t self = NEW_ASendReassignExpr();
+  parser_prod___ASendExpr___init_asendexpr(self, p0, init_table);
+  return self;
+}
+const classtable_elt_t VFT_SrcModuleLoader[51] = {
   {(bigint) 203 /* 0: Identity */},
   {(bigint) 3 /* 1: SrcModuleLoader < Object: superclass typecheck marker */},
   {(bigint) 79 /* 2: SrcModuleLoader < ModuleLoader: superclass typecheck marker */},
@@ -81107,7 +91009,8 @@ const classtable_elt_t VFT_SrcModuleLoader[50] = {
   {(bigint) mmloader___ModuleLoader___load_module},
   {(bigint) syntax___SrcModuleLoader___parse_file},
   {(bigint) syntax___SrcModuleLoader___process_metamodel},
-  {(bigint) 2 /* 48: SrcModuleLoader < SrcModuleLoader: superclass init_table position */},
+  {(bigint) mmloader___ModuleLoader___init},
+  {(bigint) 2 /* 49: SrcModuleLoader < SrcModuleLoader: superclass init_table position */},
   {(bigint) syntax___SrcModuleLoader___init},
 };
 /* 0: Pointer to the classtable */
@@ -81117,7 +91020,13 @@ val_t NEW_SrcModuleLoader(void) {
   obj->vft = (classtable_elt_t*)VFT_SrcModuleLoader;
   return OBJ2VAL(obj);
 }
-val_t NEW_syntax___SrcModuleLoader___init() {
+val_t NEW_SrcModuleLoader_mmloader___ModuleLoader___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_SrcModuleLoader();
+  mmloader___ModuleLoader___init(self, init_table);
+  return self;
+}
+val_t NEW_SrcModuleLoader_syntax___SrcModuleLoader___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_SrcModuleLoader();
   syntax___SrcModuleLoader___init(self, init_table);
@@ -81273,67 +91182,67 @@ val_t NEW_AbstractCompiler(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 27);
   obj->vft = (classtable_elt_t*)VFT_AbstractCompiler;
-  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable0 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMModule]*/
   ATTR_abstractmetamodel___MMContext____module_hierarchy(obj) = variable0;
-  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  variable1 = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
   ATTR_abstractmetamodel___MMContext____class_hierarchy(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[MMGlobalClass]*/
   ATTR_abstractmetamodel___MMContext____global_classes(obj) = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[MMModule]*/
   ATTR_abstractmetamodel___MMContext____modules(obj) = variable3;
   ATTR_mmloader___ToolContext____error_count(obj) = TAG_Int((bigint)0);
   ATTR_mmloader___ToolContext____warning_count(obj) = TAG_Int((bigint)0);
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[ModuleLoader]*/
   ATTR_mmloader___ToolContext____loaders(obj) = variable4;
-  variable5 = NEW_opts___OptionContext___init(); /*new OptionContext*/
+  variable5 = NEW_OptionContext_opts___OptionContext___init(); /*new OptionContext*/
   ATTR_mmloader___ToolContext____option_context(obj) = variable5;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("Show warnings"), TAG_Int(13)); /*new String*/
-  variable7 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString("-W"), TAG_Int(2)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("Show warnings"), TAG_Int(13)); /*new String*/
+  variable7 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("-W"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable8) /*AbstractArray::add*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("--warn"), TAG_Int(6)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("--warn"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable9) /*AbstractArray::add*/;
-  variable8 = NEW_opts___OptionBool___init(variable6, variable7); /*new OptionBool*/
+  variable8 = NEW_OptionBool_opts___OptionBool___init(variable6, variable7); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_warn(obj) = variable8;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("Set include path for loaders (may be used more than once)"), TAG_Int(57)); /*new String*/
-  variable10 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  variable11 = NEW_string___String___with_native(BOX_NativeString("-I"), TAG_Int(2)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("Set include path for loaders (may be used more than once)"), TAG_Int(57)); /*new String*/
+  variable10 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString("-I"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable11) /*AbstractArray::add*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("--path"), TAG_Int(6)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("--path"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable12) /*AbstractArray::add*/;
-  variable11 = NEW_opts___OptionArray___init(variable9, variable10); /*new OptionArray*/
+  variable11 = NEW_OptionArray_opts___OptionArray___init(variable9, variable10); /*new OptionArray*/
   ATTR_mmloader___ToolContext____opt_path(obj) = variable11;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("Generate various log files"), TAG_Int(26)); /*new String*/
-  variable13 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable14 = NEW_string___String___with_native(BOX_NativeString("--log"), TAG_Int(5)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("Generate various log files"), TAG_Int(26)); /*new String*/
+  variable13 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable14 = NEW_String_string___String___with_native(BOX_NativeString("--log"), TAG_Int(5)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13, variable14) /*AbstractArray::add*/;
-  variable14 = NEW_opts___OptionBool___init(variable12, variable13); /*new OptionBool*/
+  variable14 = NEW_OptionBool_opts___OptionBool___init(variable12, variable13); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_log(obj) = variable14;
-  variable15 = NEW_string___String___with_native(BOX_NativeString("Stop after meta-model processing"), TAG_Int(32)); /*new String*/
-  variable16 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable17 = NEW_string___String___with_native(BOX_NativeString("--only-metamodel"), TAG_Int(16)); /*new String*/
+  variable15 = NEW_String_string___String___with_native(BOX_NativeString("Stop after meta-model processing"), TAG_Int(32)); /*new String*/
+  variable16 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable17 = NEW_String_string___String___with_native(BOX_NativeString("--only-metamodel"), TAG_Int(16)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16, variable17) /*AbstractArray::add*/;
-  variable17 = NEW_opts___OptionBool___init(variable15, variable16); /*new OptionBool*/
+  variable17 = NEW_OptionBool_opts___OptionBool___init(variable15, variable16); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_only_metamodel(obj) = variable17;
-  variable18 = NEW_string___String___with_native(BOX_NativeString("Only proceed to parse step of loaders"), TAG_Int(37)); /*new String*/
-  variable19 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
-  variable20 = NEW_string___String___with_native(BOX_NativeString("--only-parse"), TAG_Int(12)); /*new String*/
+  variable18 = NEW_String_string___String___with_native(BOX_NativeString("Only proceed to parse step of loaders"), TAG_Int(37)); /*new String*/
+  variable19 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+  variable20 = NEW_String_string___String___with_native(BOX_NativeString("--only-parse"), TAG_Int(12)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19, variable20) /*AbstractArray::add*/;
-  variable20 = NEW_opts___OptionBool___init(variable18, variable19); /*new OptionBool*/
+  variable20 = NEW_OptionBool_opts___OptionBool___init(variable18, variable19); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_only_parse(obj) = variable20;
-  variable21 = NEW_string___String___with_native(BOX_NativeString("Show Help (This screen)"), TAG_Int(23)); /*new String*/
-  variable22 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
-  variable23 = NEW_string___String___with_native(BOX_NativeString("-h"), TAG_Int(2)); /*new String*/
+  variable21 = NEW_String_string___String___with_native(BOX_NativeString("Show Help (This screen)"), TAG_Int(23)); /*new String*/
+  variable22 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
+  variable23 = NEW_String_string___String___with_native(BOX_NativeString("-h"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable23) /*AbstractArray::add*/;
-  variable24 = NEW_string___String___with_native(BOX_NativeString("-?"), TAG_Int(2)); /*new String*/
+  variable24 = NEW_String_string___String___with_native(BOX_NativeString("-?"), TAG_Int(2)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable24) /*AbstractArray::add*/;
-  variable25 = NEW_string___String___with_native(BOX_NativeString("--help"), TAG_Int(6)); /*new String*/
+  variable25 = NEW_String_string___String___with_native(BOX_NativeString("--help"), TAG_Int(6)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable25) /*AbstractArray::add*/;
-  variable23 = NEW_opts___OptionBool___init(variable21, variable22); /*new OptionBool*/
+  variable23 = NEW_OptionBool_opts___OptionBool___init(variable21, variable22); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_help(obj) = variable23;
-  variable24 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable24 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[Symbol]*/
   ATTR_mmloader___ToolContext____processing_modules(obj) = variable24;
-  variable25 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable25 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[String, MMDirectory]*/
   ATTR_mmloader___ToolContext____path_dirs(obj) = variable25;
   ATTR_compiling_base___ToolContext____global(obj) = TAG_Bool((int)0);
   ATTR_compiling_base___ToolContext____attr_sim(obj) = TAG_Bool((int)0);
@@ -81341,7 +91250,19 @@ val_t NEW_AbstractCompiler(void) {
   ATTR_compiling_base___ToolContext____no_cc(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_abstracttool___AbstractCompiler___init() {
+val_t NEW_AbstractCompiler_abstractmetamodel___MMContext___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_AbstractCompiler();
+  abstractmetamodel___MMContext___init(self, init_table);
+  return self;
+}
+val_t NEW_AbstractCompiler_mmloader___ToolContext___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_AbstractCompiler();
+  mmloader___ToolContext___init(self, init_table);
+  return self;
+}
+val_t NEW_AbstractCompiler_abstracttool___AbstractCompiler___init() {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_AbstractCompiler();
   abstracttool___AbstractCompiler___init(self, init_table);
@@ -81456,17 +91377,17 @@ val_t NEW_CompilerVisitor(void) {
   obj = alloc(sizeof(val_t) * 17);
   obj->vft = (classtable_elt_t*)VFT_CompilerVisitor;
   ATTR_compiling_base___CompilerVisitor____number_cpt(obj) = TAG_Int((bigint)0);
-  variable0 = NEW_compiling_base___CContext___init(); /*new CContext*/
+  variable0 = NEW_CContext_compiling_base___CContext___init(); /*new CContext*/
   ATTR_compiling_base___CompilerVisitor____ctx(obj) = variable0;
   ATTR_compiling_base___CompilerVisitor____indent_level(obj) = TAG_Int((bigint)0);
   ATTR_compiling_methods___CompilerVisitor____variable_index(obj) = TAG_Int((bigint)0);
   ATTR_compiling_methods___CompilerVisitor____variable_index_max(obj) = TAG_Int((bigint)0);
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable1 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Variable, String]*/
   ATTR_compiling_methods___CompilerVisitor____varnames(obj) = variable1;
   ATTR_compiling_methods___CompilerVisitor____has_return(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_base___CompilerVisitor___init(val_t p0) {
+val_t NEW_CompilerVisitor_compiling_base___CompilerVisitor___init(val_t p0) {
   int init_table[2] = {0, 0};
   val_t self = NEW_CompilerVisitor();
   compiling_methods___CompilerVisitor___init(self, p0, init_table);
@@ -81528,13 +91449,13 @@ val_t NEW_CContext(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 3);
   obj->vft = (classtable_elt_t*)VFT_CContext;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[String]*/
   ATTR_compiling_base___CContext____decls(obj) = variable0;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[String]*/
   ATTR_compiling_base___CContext____instrs(obj) = variable1;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_base___CContext___init() {
+val_t NEW_CContext_compiling_base___CContext___init() {
   int init_table[2] = {0, 0};
   val_t self = NEW_CContext();
   compiling_base___CContext___init(self, init_table);
@@ -81601,13 +91522,13 @@ val_t NEW_PrimitiveInfo(void) {
   ATTR_compiling_base___PrimitiveInfo____tagged(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_base___PrimitiveInfo___init() {
+val_t NEW_PrimitiveInfo_compiling_base___PrimitiveInfo___init() {
   int init_table[2] = {0, 0};
   val_t self = NEW_PrimitiveInfo();
   compiling_base___PrimitiveInfo___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ColorContext[44] = {
+const classtable_elt_t VFT_ColorContext[45] = {
   {(bigint) 159 /* 0: Identity */},
   {(bigint) 3 /* 1: ColorContext < Object: superclass typecheck marker */},
   {(bigint) 159 /* 2: ColorContext < ColorContext: superclass typecheck marker */},
@@ -81652,6 +91573,7 @@ const classtable_elt_t VFT_ColorContext[44] = {
   {(bigint) compiling_global___ColorContext___color},
   {(bigint) compiling_global___ColorContext___has_color},
   {(bigint) compiling_global___ColorContext___color__eq},
+  {(bigint) compiling_global___ColorContext___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ColorContext::_colors */
@@ -81659,9 +91581,16 @@ val_t NEW_ColorContext(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 2);
   obj->vft = (classtable_elt_t*)VFT_ColorContext;
+  ATTR_compiling_global___ColorContext____colors(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_GlobalAnalysis[50] = {
+val_t NEW_ColorContext_compiling_global___ColorContext___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_ColorContext();
+  compiling_global___ColorContext___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_GlobalAnalysis[51] = {
   {(bigint) 2631 /* 0: Identity */},
   {(bigint) 3 /* 1: GlobalAnalysis < Object: superclass typecheck marker */},
   {(bigint) 159 /* 2: GlobalAnalysis < ColorContext: superclass typecheck marker */},
@@ -81706,7 +91635,8 @@ const classtable_elt_t VFT_GlobalAnalysis[50] = {
   {(bigint) compiling_global___ColorContext___color},
   {(bigint) compiling_global___ColorContext___has_color},
   {(bigint) compiling_global___ColorContext___color__eq},
-  {(bigint) 2 /* 44: GlobalAnalysis < GlobalAnalysis: superclass init_table position */},
+  {(bigint) compiling_global___ColorContext___init},
+  {(bigint) 2 /* 45: GlobalAnalysis < GlobalAnalysis: superclass init_table position */},
   {(bigint) compiling_global___GlobalAnalysis___compiled_classes},
   {(bigint) compiling_global___GlobalAnalysis___module},
   {(bigint) compiling_global___GlobalAnalysis___max_class_table_length},
@@ -81722,16 +91652,23 @@ val_t NEW_GlobalAnalysis(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_GlobalAnalysis;
+  ATTR_compiling_global___ColorContext____colors(obj) =  NIT_NULL /*null*/;
   ATTR_compiling_global___GlobalAnalysis____max_class_table_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___GlobalAnalysis___init(val_t p0) {
+val_t NEW_GlobalAnalysis_compiling_global___ColorContext___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_GlobalAnalysis();
+  compiling_global___ColorContext___init(self, init_table);
+  return self;
+}
+val_t NEW_GlobalAnalysis_compiling_global___GlobalAnalysis___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_GlobalAnalysis();
   compiling_global___GlobalAnalysis___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_CompiledClass[57] = {
+const classtable_elt_t VFT_CompiledClass[58] = {
   {(bigint) 2655 /* 0: Identity */},
   {(bigint) 3 /* 1: CompiledClass < Object: superclass typecheck marker */},
   {(bigint) 159 /* 2: CompiledClass < ColorContext: superclass typecheck marker */},
@@ -81776,7 +91713,8 @@ const classtable_elt_t VFT_CompiledClass[57] = {
   {(bigint) compiling_global___ColorContext___color},
   {(bigint) compiling_global___ColorContext___has_color},
   {(bigint) compiling_global___ColorContext___color__eq},
-  {(bigint) 2 /* 44: CompiledClass < CompiledClass: superclass init_table position */},
+  {(bigint) compiling_global___ColorContext___init},
+  {(bigint) 2 /* 45: CompiledClass < CompiledClass: superclass init_table position */},
   {(bigint) compiling_global___CompiledClass___local_class},
   {(bigint) compiling_global___CompiledClass___id},
   {(bigint) compiling_global___CompiledClass___id__eq},
@@ -81802,16 +91740,23 @@ val_t NEW_CompiledClass(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_CompiledClass;
+  ATTR_compiling_global___ColorContext____colors(obj) =  NIT_NULL /*null*/;
   ATTR_compiling_global___CompiledClass____id(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___CompiledClass___init(val_t p0) {
+val_t NEW_CompiledClass_compiling_global___ColorContext___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_CompiledClass();
+  compiling_global___ColorContext___init(self, init_table);
+  return self;
+}
+val_t NEW_CompiledClass_compiling_global___CompiledClass___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_CompiledClass();
   compiling_global___CompiledClass___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableElt[45] = {
+const classtable_elt_t VFT_TableElt[46] = {
   {(bigint) 19 /* 0: Identity */},
   {(bigint) 3 /* 1: TableElt < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableElt < TableElt: superclass typecheck marker */},
@@ -81857,6 +91802,7 @@ const classtable_elt_t VFT_TableElt[45] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableElt___compile_to_c},
+  {(bigint) compiling_global___TableElt___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_TableElt(void) {
@@ -81865,7 +91811,13 @@ val_t NEW_TableElt(void) {
   obj->vft = (classtable_elt_t*)VFT_TableElt;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_LocalTableElt[48] = {
+val_t NEW_TableElt_compiling_global___TableElt___init() {
+  int init_table[2] = {0, 0};
+  val_t self = NEW_TableElt();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_LocalTableElt[49] = {
   {(bigint) 2603 /* 0: Identity */},
   {(bigint) 3 /* 1: LocalTableElt < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: LocalTableElt < TableElt: superclass typecheck marker */},
@@ -81911,7 +91863,8 @@ const classtable_elt_t VFT_LocalTableElt[48] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableElt___compile_to_c},
-  {(bigint) 2 /* 45: LocalTableElt < LocalTableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: LocalTableElt < LocalTableElt: superclass init_table position */},
   {(bigint) compiling_global___LocalTableElt___symbol},
   {(bigint) compiling_global___LocalTableElt___value},
 };
@@ -81922,7 +91875,13 @@ val_t NEW_LocalTableElt(void) {
   obj->vft = (classtable_elt_t*)VFT_LocalTableElt;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_TableEltPropPos[50] = {
+val_t NEW_LocalTableElt_compiling_global___TableElt___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_LocalTableElt();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+const classtable_elt_t VFT_TableEltPropPos[51] = {
   {(bigint) 2687 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltPropPos < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltPropPos < TableElt: superclass typecheck marker */},
@@ -81968,10 +91927,11 @@ const classtable_elt_t VFT_TableEltPropPos[50] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableElt___compile_to_c},
-  {(bigint) 2 /* 45: TableEltPropPos < LocalTableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltPropPos < LocalTableElt: superclass init_table position */},
   {(bigint) compiling_global___TableEltPropPos___symbol},
   {(bigint) compiling_global___TableEltPropPos___value},
-  {(bigint) 3 /* 48: TableEltPropPos < TableEltPropPos: superclass init_table position */},
+  {(bigint) 3 /* 49: TableEltPropPos < TableEltPropPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltPropPos___init},
 };
 /* 0: Pointer to the classtable */
@@ -81982,13 +91942,19 @@ val_t NEW_TableEltPropPos(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltPropPos;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltPropPos___init(val_t p0) {
+val_t NEW_TableEltPropPos_compiling_global___TableElt___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TableEltPropPos();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltPropPos_compiling_global___TableEltPropPos___init(val_t p0) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TableEltPropPos();
   compiling_global___TableEltPropPos___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableEltMethPos[52] = {
+const classtable_elt_t VFT_TableEltMethPos[53] = {
   {(bigint) 3247 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltMethPos < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltMethPos < TableElt: superclass typecheck marker */},
@@ -82034,12 +92000,13 @@ const classtable_elt_t VFT_TableEltMethPos[52] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableEltMethPos___compile_to_c},
-  {(bigint) 2 /* 45: TableEltMethPos < LocalTableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltMethPos < LocalTableElt: superclass init_table position */},
   {(bigint) compiling_global___TableEltPropPos___symbol},
   {(bigint) compiling_global___TableEltPropPos___value},
-  {(bigint) 3 /* 48: TableEltMethPos < TableEltPropPos: superclass init_table position */},
+  {(bigint) 3 /* 49: TableEltMethPos < TableEltPropPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltPropPos___init},
-  {(bigint) 4 /* 50: TableEltMethPos < TableEltMethPos: superclass init_table position */},
+  {(bigint) 4 /* 51: TableEltMethPos < TableEltMethPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltMethPos___init},
 };
 /* 0: Pointer to the classtable */
@@ -82050,13 +92017,25 @@ val_t NEW_TableEltMethPos(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltMethPos;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltMethPos___init(val_t p0) {
+val_t NEW_TableEltMethPos_compiling_global___TableElt___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltMethPos();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltMethPos_compiling_global___TableEltPropPos___init(val_t p0) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltMethPos();
+  compiling_global___TableEltPropPos___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_TableEltMethPos_compiling_global___TableEltMethPos___init(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_TableEltMethPos();
   compiling_global___TableEltMethPos___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableEltSuperPos[52] = {
+const classtable_elt_t VFT_TableEltSuperPos[53] = {
   {(bigint) 3243 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltSuperPos < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltSuperPos < TableElt: superclass typecheck marker */},
@@ -82102,12 +92081,13 @@ const classtable_elt_t VFT_TableEltSuperPos[52] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableEltSuperPos___compile_to_c},
-  {(bigint) 2 /* 45: TableEltSuperPos < LocalTableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltSuperPos < LocalTableElt: superclass init_table position */},
   {(bigint) compiling_global___TableEltSuperPos___symbol},
   {(bigint) compiling_global___TableEltPropPos___value},
-  {(bigint) 3 /* 48: TableEltSuperPos < TableEltPropPos: superclass init_table position */},
+  {(bigint) 3 /* 49: TableEltSuperPos < TableEltPropPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltPropPos___init},
-  {(bigint) 4 /* 50: TableEltSuperPos < TableEltSuperPos: superclass init_table position */},
+  {(bigint) 4 /* 51: TableEltSuperPos < TableEltSuperPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltSuperPos___init},
 };
 /* 0: Pointer to the classtable */
@@ -82118,13 +92098,25 @@ val_t NEW_TableEltSuperPos(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltSuperPos;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltSuperPos___init(val_t p0) {
+val_t NEW_TableEltSuperPos_compiling_global___TableElt___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltSuperPos();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltSuperPos_compiling_global___TableEltPropPos___init(val_t p0) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltSuperPos();
+  compiling_global___TableEltPropPos___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_TableEltSuperPos_compiling_global___TableEltSuperPos___init(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_TableEltSuperPos();
   compiling_global___TableEltSuperPos___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableEltAttrPos[52] = {
+const classtable_elt_t VFT_TableEltAttrPos[53] = {
   {(bigint) 3263 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltAttrPos < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltAttrPos < TableElt: superclass typecheck marker */},
@@ -82170,12 +92162,13 @@ const classtable_elt_t VFT_TableEltAttrPos[52] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableEltAttrPos___compile_to_c},
-  {(bigint) 2 /* 45: TableEltAttrPos < LocalTableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltAttrPos < LocalTableElt: superclass init_table position */},
   {(bigint) compiling_global___TableEltPropPos___symbol},
   {(bigint) compiling_global___TableEltPropPos___value},
-  {(bigint) 3 /* 48: TableEltAttrPos < TableEltPropPos: superclass init_table position */},
+  {(bigint) 3 /* 49: TableEltAttrPos < TableEltPropPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltPropPos___init},
-  {(bigint) 4 /* 50: TableEltAttrPos < TableEltAttrPos: superclass init_table position */},
+  {(bigint) 4 /* 51: TableEltAttrPos < TableEltAttrPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltAttrPos___init},
 };
 /* 0: Pointer to the classtable */
@@ -82186,13 +92179,25 @@ val_t NEW_TableEltAttrPos(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltAttrPos;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltAttrPos___init(val_t p0) {
+val_t NEW_TableEltAttrPos_compiling_global___TableElt___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltAttrPos();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltAttrPos_compiling_global___TableEltPropPos___init(val_t p0) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltAttrPos();
+  compiling_global___TableEltPropPos___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_TableEltAttrPos_compiling_global___TableEltAttrPos___init(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_TableEltAttrPos();
   compiling_global___TableEltAttrPos___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableEltClassPos[50] = {
+const classtable_elt_t VFT_TableEltClassPos[51] = {
   {(bigint) 2691 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltClassPos < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltClassPos < TableElt: superclass typecheck marker */},
@@ -82238,10 +92243,11 @@ const classtable_elt_t VFT_TableEltClassPos[50] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableElt___compile_to_c},
-  {(bigint) 2 /* 45: TableEltClassPos < LocalTableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltClassPos < LocalTableElt: superclass init_table position */},
   {(bigint) compiling_global___LocalTableElt___symbol},
   {(bigint) compiling_global___LocalTableElt___value},
-  {(bigint) 3 /* 48: TableEltClassPos < TableEltClassPos: superclass init_table position */},
+  {(bigint) 3 /* 49: TableEltClassPos < TableEltClassPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltClassPos___init},
 };
 /* 0: Pointer to the classtable */
@@ -82252,13 +92258,19 @@ val_t NEW_TableEltClassPos(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltClassPos;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltClassPos___init(val_t p0) {
+val_t NEW_TableEltClassPos_compiling_global___TableElt___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TableEltClassPos();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltClassPos_compiling_global___TableEltClassPos___init(val_t p0) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TableEltClassPos();
   compiling_global___TableEltClassPos___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableEltClassIdPos[52] = {
+const classtable_elt_t VFT_TableEltClassIdPos[53] = {
   {(bigint) 3255 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltClassIdPos < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltClassIdPos < TableElt: superclass typecheck marker */},
@@ -82304,12 +92316,13 @@ const classtable_elt_t VFT_TableEltClassIdPos[52] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableElt___compile_to_c},
-  {(bigint) 2 /* 45: TableEltClassIdPos < LocalTableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltClassIdPos < LocalTableElt: superclass init_table position */},
   {(bigint) compiling_global___TableEltClassIdPos___symbol},
   {(bigint) compiling_global___TableEltClassIdPos___value},
-  {(bigint) 3 /* 48: TableEltClassIdPos < TableEltClassPos: superclass init_table position */},
+  {(bigint) 3 /* 49: TableEltClassIdPos < TableEltClassPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltClassPos___init},
-  {(bigint) 4 /* 50: TableEltClassIdPos < TableEltClassIdPos: superclass init_table position */},
+  {(bigint) 4 /* 51: TableEltClassIdPos < TableEltClassIdPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltClassIdPos___init},
 };
 /* 0: Pointer to the classtable */
@@ -82320,13 +92333,25 @@ val_t NEW_TableEltClassIdPos(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltClassIdPos;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltClassIdPos___init(val_t p0) {
+val_t NEW_TableEltClassIdPos_compiling_global___TableElt___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltClassIdPos();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltClassIdPos_compiling_global___TableEltClassPos___init(val_t p0) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltClassIdPos();
+  compiling_global___TableEltClassPos___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_TableEltClassIdPos_compiling_global___TableEltClassIdPos___init(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_TableEltClassIdPos();
   compiling_global___TableEltClassIdPos___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableEltClassInitTablePos[52] = {
+const classtable_elt_t VFT_TableEltClassInitTablePos[53] = {
   {(bigint) 3251 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltClassInitTablePos < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltClassInitTablePos < TableElt: superclass typecheck marker */},
@@ -82372,12 +92397,13 @@ const classtable_elt_t VFT_TableEltClassInitTablePos[52] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableEltClassInitTablePos___compile_to_c},
-  {(bigint) 2 /* 45: TableEltClassInitTablePos < LocalTableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltClassInitTablePos < LocalTableElt: superclass init_table position */},
   {(bigint) compiling_global___TableEltClassInitTablePos___symbol},
   {(bigint) compiling_global___TableEltClassInitTablePos___value},
-  {(bigint) 3 /* 48: TableEltClassInitTablePos < TableEltClassPos: superclass init_table position */},
+  {(bigint) 3 /* 49: TableEltClassInitTablePos < TableEltClassPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltClassPos___init},
-  {(bigint) 4 /* 50: TableEltClassInitTablePos < TableEltClassInitTablePos: superclass init_table position */},
+  {(bigint) 4 /* 51: TableEltClassInitTablePos < TableEltClassInitTablePos: superclass init_table position */},
   {(bigint) compiling_global___TableEltClassInitTablePos___init},
 };
 /* 0: Pointer to the classtable */
@@ -82388,13 +92414,25 @@ val_t NEW_TableEltClassInitTablePos(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltClassInitTablePos;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltClassInitTablePos___init(val_t p0) {
+val_t NEW_TableEltClassInitTablePos_compiling_global___TableElt___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltClassInitTablePos();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltClassInitTablePos_compiling_global___TableEltClassPos___init(val_t p0) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltClassInitTablePos();
+  compiling_global___TableEltClassPos___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_TableEltClassInitTablePos_compiling_global___TableEltClassInitTablePos___init(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_TableEltClassInitTablePos();
   compiling_global___TableEltClassInitTablePos___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableEltClassColorPos[52] = {
+const classtable_elt_t VFT_TableEltClassColorPos[53] = {
   {(bigint) 3259 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltClassColorPos < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltClassColorPos < TableElt: superclass typecheck marker */},
@@ -82440,12 +92478,13 @@ const classtable_elt_t VFT_TableEltClassColorPos[52] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableEltClassColorPos___compile_to_c},
-  {(bigint) 2 /* 45: TableEltClassColorPos < LocalTableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltClassColorPos < LocalTableElt: superclass init_table position */},
   {(bigint) compiling_global___TableEltClassColorPos___symbol},
   {(bigint) compiling_global___TableEltClassColorPos___value},
-  {(bigint) 3 /* 48: TableEltClassColorPos < TableEltClassPos: superclass init_table position */},
+  {(bigint) 3 /* 49: TableEltClassColorPos < TableEltClassPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltClassPos___init},
-  {(bigint) 4 /* 50: TableEltClassColorPos < TableEltClassColorPos: superclass init_table position */},
+  {(bigint) 4 /* 51: TableEltClassColorPos < TableEltClassColorPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltClassColorPos___init},
 };
 /* 0: Pointer to the classtable */
@@ -82456,13 +92495,25 @@ val_t NEW_TableEltClassColorPos(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltClassColorPos;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltClassColorPos___init(val_t p0) {
+val_t NEW_TableEltClassColorPos_compiling_global___TableElt___init() {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltClassColorPos();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltClassColorPos_compiling_global___TableEltClassPos___init(val_t p0) {
+  int init_table[5] = {0, 0, 0, 0, 0};
+  val_t self = NEW_TableEltClassColorPos();
+  compiling_global___TableEltClassPos___init(self, p0, init_table);
+  return self;
+}
+val_t NEW_TableEltClassColorPos_compiling_global___TableEltClassColorPos___init(val_t p0) {
   int init_table[5] = {0, 0, 0, 0, 0};
   val_t self = NEW_TableEltClassColorPos();
   compiling_global___TableEltClassColorPos___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableEltBaseAttrPos[50] = {
+const classtable_elt_t VFT_TableEltBaseAttrPos[51] = {
   {(bigint) 2695 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltBaseAttrPos < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltBaseAttrPos < TableElt: superclass typecheck marker */},
@@ -82508,10 +92559,11 @@ const classtable_elt_t VFT_TableEltBaseAttrPos[50] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableEltBaseAttrPos___compile_to_c},
-  {(bigint) 2 /* 45: TableEltBaseAttrPos < LocalTableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltBaseAttrPos < LocalTableElt: superclass init_table position */},
   {(bigint) compiling_global___TableEltBaseAttrPos___symbol},
   {(bigint) compiling_global___TableEltBaseAttrPos___value},
-  {(bigint) 3 /* 48: TableEltBaseAttrPos < TableEltBaseAttrPos: superclass init_table position */},
+  {(bigint) 3 /* 49: TableEltBaseAttrPos < TableEltBaseAttrPos: superclass init_table position */},
   {(bigint) compiling_global___TableEltBaseAttrPos___init},
 };
 /* 0: Pointer to the classtable */
@@ -82522,13 +92574,19 @@ val_t NEW_TableEltBaseAttrPos(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltBaseAttrPos;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltBaseAttrPos___init(val_t p0) {
+val_t NEW_TableEltBaseAttrPos_compiling_global___TableElt___init() {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TableEltBaseAttrPos();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltBaseAttrPos_compiling_global___TableEltBaseAttrPos___init(val_t p0) {
   int init_table[4] = {0, 0, 0, 0};
   val_t self = NEW_TableEltBaseAttrPos();
   compiling_global___TableEltBaseAttrPos___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableEltComposite[48] = {
+const classtable_elt_t VFT_TableEltComposite[49] = {
   {(bigint) 191 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltComposite < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltComposite < TableElt: superclass typecheck marker */},
@@ -82574,7 +92632,8 @@ const classtable_elt_t VFT_TableEltComposite[48] = {
   {(bigint) compiling_global___TableEltComposite___length},
   {(bigint) compiling_global___TableEltComposite___item},
   {(bigint) compiling_global___TableEltComposite___compile_to_c},
-  {(bigint) 2 /* 45: TableEltComposite < TableEltComposite: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltComposite < TableEltComposite: superclass init_table position */},
   {(bigint) compiling_global___TableEltComposite___add},
   {(bigint) compiling_global___TableEltComposite___init},
 };
@@ -82588,13 +92647,19 @@ val_t NEW_TableEltComposite(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltComposite;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltComposite___init(val_t p0) {
+val_t NEW_TableEltComposite_compiling_global___TableElt___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_TableEltComposite();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltComposite_compiling_global___TableEltComposite___init(val_t p0) {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_TableEltComposite();
   compiling_global___TableEltComposite___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableEltClassSelfId[47] = {
+const classtable_elt_t VFT_TableEltClassSelfId[48] = {
   {(bigint) 195 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltClassSelfId < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltClassSelfId < TableElt: superclass typecheck marker */},
@@ -82640,7 +92705,8 @@ const classtable_elt_t VFT_TableEltClassSelfId[47] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableEltClassSelfId___compile_to_c},
-  {(bigint) 2 /* 45: TableEltClassSelfId < TableEltClassSelfId: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltClassSelfId < TableEltClassSelfId: superclass init_table position */},
   {(bigint) compiling_global___TableEltClassSelfId___init},
 };
 /* 0: Pointer to the classtable */
@@ -82650,13 +92716,19 @@ val_t NEW_TableEltClassSelfId(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltClassSelfId;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltClassSelfId___init() {
+val_t NEW_TableEltClassSelfId_compiling_global___TableElt___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_TableEltClassSelfId();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltClassSelfId_compiling_global___TableEltClassSelfId___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_TableEltClassSelfId();
   compiling_global___TableEltClassSelfId___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_TableEltVftPointer[47] = {
+const classtable_elt_t VFT_TableEltVftPointer[48] = {
   {(bigint) 187 /* 0: Identity */},
   {(bigint) 3 /* 1: TableEltVftPointer < Object: superclass typecheck marker */},
   {(bigint) 19 /* 2: TableEltVftPointer < TableElt: superclass typecheck marker */},
@@ -82702,7 +92774,8 @@ const classtable_elt_t VFT_TableEltVftPointer[47] = {
   {(bigint) compiling_global___TableElt___length},
   {(bigint) compiling_global___TableElt___item},
   {(bigint) compiling_global___TableEltVftPointer___compile_to_c},
-  {(bigint) 2 /* 45: TableEltVftPointer < TableEltVftPointer: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___init},
+  {(bigint) 2 /* 46: TableEltVftPointer < TableEltVftPointer: superclass init_table position */},
   {(bigint) compiling_global___TableEltVftPointer___init},
 };
 /* 0: Pointer to the classtable */
@@ -82712,13 +92785,19 @@ val_t NEW_TableEltVftPointer(void) {
   obj->vft = (classtable_elt_t*)VFT_TableEltVftPointer;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___TableEltVftPointer___init() {
+val_t NEW_TableEltVftPointer_compiling_global___TableElt___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_TableEltVftPointer();
+  compiling_global___TableElt___init(self, init_table);
+  return self;
+}
+val_t NEW_TableEltVftPointer_compiling_global___TableEltVftPointer___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_TableEltVftPointer();
   compiling_global___TableEltVftPointer___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ClassSorter[48] = {
+const classtable_elt_t VFT_ClassSorter[49] = {
   {(bigint) 2663 /* 0: Identity */},
   {(bigint) 3 /* 1: ClassSorter < Object: superclass typecheck marker */},
   {(bigint) 175 /* 2: ClassSorter < AbstractSorter: superclass typecheck marker */},
@@ -82765,7 +92844,8 @@ const classtable_elt_t VFT_ClassSorter[48] = {
   {(bigint) sorter___AbstractSorter___sub_sort},
   {(bigint) sorter___AbstractSorter___quick_sort},
   {(bigint) sorter___AbstractSorter___bubble_sort},
-  {(bigint) 2 /* 46: ClassSorter < ClassSorter: superclass init_table position */},
+  {(bigint) sorter___AbstractSorter___init},
+  {(bigint) 2 /* 47: ClassSorter < ClassSorter: superclass init_table position */},
   {(bigint) compiling_global___ClassSorter___init},
 };
 /* 0: Pointer to the classtable */
@@ -82775,7 +92855,13 @@ val_t NEW_ClassSorter(void) {
   obj->vft = (classtable_elt_t*)VFT_ClassSorter;
   return OBJ2VAL(obj);
 }
-val_t NEW_compiling_global___ClassSorter___init() {
+val_t NEW_ClassSorter_sorter___AbstractSorter___init() {
+  int init_table[3] = {0, 0, 0};
+  val_t self = NEW_ClassSorter();
+  sorter___AbstractSorter___init(self, init_table);
+  return self;
+}
+val_t NEW_ClassSorter_compiling_global___ClassSorter___init() {
   int init_table[3] = {0, 0, 0};
   val_t self = NEW_ClassSorter();
   compiling_global___ClassSorter___init(self, init_table);
index c662c0a..ca1274b 100644 (file)
@@ -88,7 +88,7 @@ void opts___Option___init_opt(val_t  self, val_t  param0, val_t  param1, val_t
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Option].i]) return;
   variable3 = TAG_Bool(( variable2 /*names*/ ==  NIT_NULL /*null*/) || (( variable2 /*names*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable2 /*names*/,COLOR_kernel___Object_____eqeq))( variable2 /*names*/,  NIT_NULL /*null*/) /*AbstractArray::==*/)));
   if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_array___Array___init(); /*new Array[E]*/
+    variable3 = NEW_Array_array___Array___init(); /*new Array[String]*/
     ATTR_opts___Option____names( self) /*Option::_names*/ = variable3;
   } else { /*if*/
     variable3 = ((array___Collection___to_a_t)CALL( variable2 /*names*/,COLOR_array___Collection___to_a))( variable2 /*names*/) /*Collection::to_a*/;
@@ -135,20 +135,20 @@ val_t opts___Option___pretty(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_opts;
   variable0 =  param0;
-  variable2 = NEW_string___String___with_native(BOX_NativeString("  "), TAG_Int(2)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("  "), TAG_Int(2)); /*new String*/
   variable1 = variable2;
   variable2 = ATTR_opts___Option____names( self) /*Option::_names*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable2 = ((string___Collection___join_t)CALL(variable2,COLOR_string___Collection___join))(variable2, variable3) /*Collection::join*/;
   ((string___String___append_t)CALL( variable1 /*text*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*text*/, variable2) /*String::append*/;
-  variable2 = NEW_string___String___with_native(BOX_NativeString("  "), TAG_Int(2)); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("  "), TAG_Int(2)); /*new String*/
   ((string___String___append_t)CALL( variable1 /*text*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*text*/, variable2) /*String::append*/;
   variable3 = ((array___AbstractArray___length_t)CALL( variable1 /*text*/,COLOR_abstract_collection___Collection___length))( variable1 /*text*/) /*AbstractArray::length*/;
   variable3 = TAG_Int(UNTAG_Int( variable0 /*off*/)-UNTAG_Int(variable3));
   variable2 = variable3;
   variable3 = TAG_Bool(UNTAG_Int( variable2 /*rest*/)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
     variable3 = ((string___String_____star_t)CALL(variable3,COLOR_string___String_____star))(variable3,  variable2 /*rest*/) /*String::**/;
     ((string___String___append_t)CALL( variable1 /*text*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*text*/, variable3) /*String::append*/;
   }
@@ -174,20 +174,20 @@ val_t opts___Option___pretty_default(val_t  self) {
   variable0 = ((opts___Option___default_value_t)CALL( self,COLOR_opts___Option___default_value))( self) /*Option::default_value*/;
   variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 = NEW_string___String___init(); /*new String*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString(" ("), TAG_Int(2)); /*new String*/
+    variable0 = NEW_String_string___String___init(); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString(" ("), TAG_Int(2)); /*new String*/
     variable2 = variable1;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
     variable3 = ((opts___Option___default_value_t)CALL( self,COLOR_opts___Option___default_value))( self) /*Option::default_value*/;
     variable4 = variable3;
     variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-    variable5 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
     goto return_label4;
   }
-  variable0 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable0 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   goto return_label4;
   return_label4: while(false);
   tracehead = trace.prev;
@@ -375,20 +375,20 @@ void opts___OptionEnum___init(val_t  self, val_t  param0, val_t  param1, val_t
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionEnum___init, LOCATE_opts, 134); nit_exit(1);}
   variable4 = ((array___Collection___to_a_t)CALL( variable0 /*enum*/,COLOR_array___Collection___to_a))( variable0 /*enum*/) /*Collection::to_a*/;
   ATTR_opts___OptionEnum____enum( self) /*OptionEnum::_enum*/ = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 =  variable1 /*help*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(" <"), TAG_Int(2)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(" <"), TAG_Int(2)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
   variable10 = ((string___Collection___join_t)CALL( variable0 /*enum*/,COLOR_string___Collection___join))( variable0 /*enum*/, variable10) /*Collection::join*/;
   variable11 = variable10;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
   variable13 = variable12;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
   ((opts___OptionParameter___init_opt_t)CALL( self,COLOR_opts___OptionParameter___init_opt))( self, variable4,  variable2 /*default*/,  variable3 /*names*/, init_table /*YYY*/) /*OptionParameter::init_opt*/;
@@ -428,8 +428,8 @@ val_t opts___OptionEnum___pretty_default(val_t  self) {
   variable0 = ((opts___Option___default_value_t)CALL( self,COLOR_opts___Option___default_value))( self) /*Option::default_value*/;
   variable0 = TAG_Bool((variable0)!=( NIT_NULL /*null*/));
   if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 = NEW_string___String___init(); /*new String*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString(" ("), TAG_Int(2)); /*new String*/
+    variable0 = NEW_String_string___String___init(); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString(" ("), TAG_Int(2)); /*new String*/
     variable2 = variable1;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
     variable3 = ATTR_opts___OptionEnum____enum( self) /*OptionEnum::_enum*/;
@@ -452,12 +452,12 @@ val_t opts___OptionEnum___pretty_default(val_t  self) {
     variable3 = variable6;
     variable4 = variable3;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-    variable5 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
     goto return_label16;
   } else { /*if*/
-    variable0 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     goto return_label16;
   }
   return_label16: while(false);
@@ -507,7 +507,7 @@ void opts___OptionArray___init(val_t  self, val_t  param0, val_t  param1, int* i
   if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionInt___convert, LOCATE_opts, 168); nit_exit(1); } /*cast Array[String]*/;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionArray].i]) return;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[String]*/
   ATTR_opts___OptionArray____values( self) /*OptionArray::_values*/ = variable2;
   variable2 = ATTR_opts___OptionArray____values( self) /*OptionArray::_values*/;
   ((opts___OptionParameter___init_opt_t)CALL( self,COLOR_opts___OptionParameter___init_opt))( self,  variable0 /*help*/, variable2,  variable1 /*names*/, init_table /*YYY*/) /*OptionParameter::init_opt*/;
@@ -636,7 +636,7 @@ void opts___OptionContext___parse_intern(val_t  self, val_t  param0) {
     if (!UNTAG_Bool(variable3)) break; /* while*/
     variable4 = ((abstract_collection___Iterator___item_t)CALL( variable0 /*it*/,COLOR_abstract_collection___Iterator___item))( variable0 /*it*/) /*Iterator::item*/;
     variable3 = variable4;
-    variable4 = NEW_string___String___with_native(BOX_NativeString("--"), TAG_Int(2)); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString("--"), TAG_Int(2)); /*new String*/
     variable4 = TAG_Bool(( variable3 /*str*/ == variable4) || (( variable3 /*str*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable3 /*str*/,COLOR_kernel___Object_____eqeq))( variable3 /*str*/, variable4) /*String::==*/)));
     if (UNTAG_Bool(variable4)) { /*if*/
       ((abstract_collection___Iterator___next_t)CALL( variable0 /*it*/,COLOR_abstract_collection___Iterator___next))( variable0 /*it*/) /*Iterator::next*/;
@@ -696,11 +696,11 @@ void opts___OptionContext___init(val_t  self, int* init_table) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_opts;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionContext].i]) return;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[Option]*/
   ATTR_opts___OptionContext____options( self) /*OptionContext::_options*/ = variable0;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[String, Option]*/
   ATTR_opts___OptionContext____optmap( self) /*OptionContext::_optmap*/ = variable0;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[String]*/
   ATTR_opts___OptionContext____rest( self) /*OptionContext::_rest*/ = variable0;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionContext].i] = 1;
   tracehead = trace.prev;
index d055ce5..6be5b72 100644 (file)
@@ -54,7 +54,7 @@ void parser___Parser___init(val_t  self, val_t  param0, int* init_table) {
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Parser].i]) return;
   ATTR_parser___Parser____lexer( self) /*Parser::_lexer*/ =  variable0 /*lexer*/;
-  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___init(); /*new Array[State]*/
   ATTR_parser___Parser____stack( self) /*Parser::_stack*/ = variable1;
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/ = variable1;
@@ -238,7 +238,7 @@ void parser___Parser___push(val_t  self, val_t  param0, val_t  param1) {
     ((parser___State___nodes__eq_t)CALL( variable3 /*state*/,COLOR_parser___State___nodes__eq))( variable3 /*state*/,  variable1 /*list_node*/) /*State::nodes=*/;
   } else { /*if*/
     variable3 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
-    variable4 = NEW_parser___State___init( variable0 /*numstate*/,  variable1 /*list_node*/); /*new State*/
+    variable4 = NEW_State_parser___State___init( variable0 /*numstate*/,  variable1 /*list_node*/); /*new State*/
     ((array___AbstractArray___push_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___push))(variable3, variable4) /*AbstractArray::push*/;
   }
   tracehead = trace.prev;
@@ -354,7 +354,7 @@ val_t parser___Parser___parse(val_t  self) {
     if (UNTAG_Bool(variable5)) { /*if*/
       variable5 = TAG_Bool(( variable2 /*token*/==NIT_NULL) || VAL_ISA( variable2 /*token*/, COLOR_PError, ID_PError)) /*cast PError*/;
       if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___Parser___parse, LOCATE_parser, 110); nit_exit(1);}
-      variable5 = NEW_parser_prod___Start___init( NIT_NULL /*null*/,  variable2 /*token*/); /*new Start*/
+      variable5 = NEW_Start_parser_prod___Start___init( NIT_NULL /*null*/,  variable2 /*token*/); /*new Start*/
       variable0 = variable5;
       goto return_label15;
     }
@@ -535,9 +535,9 @@ val_t parser___Parser___parse(val_t  self) {
           variable12 = variable13;
           variable13 = TAG_Bool(( variable12 /*node1*/==NIT_NULL) || VAL_ISA( variable12 /*node1*/, COLOR_PModule, ID_PModule)) /*cast PModule*/;
           if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 145); nit_exit(1);}
-          variable14 = NEW_parser_prod___Start___init( variable12 /*node1*/,  variable11 /*node2*/); /*new Start*/
+          variable14 = NEW_Start_parser_prod___Start___init( variable12 /*node1*/,  variable11 /*node2*/); /*new Start*/
           variable13 = variable14;
-          variable14 = NEW_parser___SearchTokensVisitor___init(); /*new SearchTokensVisitor*/
+          variable14 = NEW_SearchTokensVisitor_parser___SearchTokensVisitor___init(); /*new SearchTokensVisitor*/
           ((parser___SearchTokensVisitor___visit_t)CALL(variable14,COLOR_parser_prod___Visitor___visit))(variable14,  variable13 /*node*/) /*SearchTokensVisitor::visit*/;
           variable0 =  variable13 /*node*/;
           goto return_label15;
@@ -579,10 +579,10 @@ val_t parser___Parser___parse(val_t  self) {
             goto return_label27;
             return_label27: while(false);
             variable13 = variable16;
-            variable14 = NEW_lexer___PError___init_error(variable12,  variable4 /*last_line*/,  variable3 /*last_pos*/, variable13); /*new PError*/
+            variable14 = NEW_PError_lexer___PError___init_error(variable12,  variable4 /*last_line*/,  variable3 /*last_pos*/, variable13); /*new PError*/
             variable12 = variable14;
             variable11 = variable12;
-            variable13 = NEW_parser_prod___Start___init( NIT_NULL /*null*/,  variable11 /*node2*/); /*new Start*/
+            variable13 = NEW_Start_parser_prod___Start___init( NIT_NULL /*null*/,  variable11 /*node2*/); /*new Start*/
             variable12 = variable13;
             variable0 =  variable12 /*node*/;
             goto return_label15;
@@ -1177,1154 +1177,1154 @@ void parser___Parser___build_reduce_table(val_t  self) {
   val_t variable573;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(573)); /*new Array[E]*/
-  variable1 = NEW_parser___ReduceAction0___init(); /*new ReduceAction0*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(573)); /*new Array[ReduceAction]*/
+  variable1 = NEW_ReduceAction0_parser___ReduceAction0___init(); /*new ReduceAction0*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
-  variable2 = NEW_parser___ReduceAction1___init(); /*new ReduceAction1*/
+  variable2 = NEW_ReduceAction1_parser___ReduceAction1___init(); /*new ReduceAction1*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*AbstractArray::add*/;
-  variable3 = NEW_parser___ReduceAction2___init(); /*new ReduceAction2*/
+  variable3 = NEW_ReduceAction2_parser___ReduceAction2___init(); /*new ReduceAction2*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*AbstractArray::add*/;
-  variable4 = NEW_parser___ReduceAction3___init(); /*new ReduceAction3*/
+  variable4 = NEW_ReduceAction3_parser___ReduceAction3___init(); /*new ReduceAction3*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable4) /*AbstractArray::add*/;
-  variable5 = NEW_parser___ReduceAction4___init(); /*new ReduceAction4*/
+  variable5 = NEW_ReduceAction4_parser___ReduceAction4___init(); /*new ReduceAction4*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable5) /*AbstractArray::add*/;
-  variable6 = NEW_parser___ReduceAction5___init(); /*new ReduceAction5*/
+  variable6 = NEW_ReduceAction5_parser___ReduceAction5___init(); /*new ReduceAction5*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable6) /*AbstractArray::add*/;
-  variable7 = NEW_parser___ReduceAction6___init(); /*new ReduceAction6*/
+  variable7 = NEW_ReduceAction6_parser___ReduceAction6___init(); /*new ReduceAction6*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable7) /*AbstractArray::add*/;
-  variable8 = NEW_parser___ReduceAction7___init(); /*new ReduceAction7*/
+  variable8 = NEW_ReduceAction7_parser___ReduceAction7___init(); /*new ReduceAction7*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable8) /*AbstractArray::add*/;
-  variable9 = NEW_parser___ReduceAction8___init(); /*new ReduceAction8*/
+  variable9 = NEW_ReduceAction8_parser___ReduceAction8___init(); /*new ReduceAction8*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable9) /*AbstractArray::add*/;
-  variable10 = NEW_parser___ReduceAction9___init(); /*new ReduceAction9*/
+  variable10 = NEW_ReduceAction9_parser___ReduceAction9___init(); /*new ReduceAction9*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable10) /*AbstractArray::add*/;
-  variable11 = NEW_parser___ReduceAction10___init(); /*new ReduceAction10*/
+  variable11 = NEW_ReduceAction10_parser___ReduceAction10___init(); /*new ReduceAction10*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable11) /*AbstractArray::add*/;
-  variable12 = NEW_parser___ReduceAction11___init(); /*new ReduceAction11*/
+  variable12 = NEW_ReduceAction11_parser___ReduceAction11___init(); /*new ReduceAction11*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable12) /*AbstractArray::add*/;
-  variable13 = NEW_parser___ReduceAction12___init(); /*new ReduceAction12*/
+  variable13 = NEW_ReduceAction12_parser___ReduceAction12___init(); /*new ReduceAction12*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable13) /*AbstractArray::add*/;
-  variable14 = NEW_parser___ReduceAction13___init(); /*new ReduceAction13*/
+  variable14 = NEW_ReduceAction13_parser___ReduceAction13___init(); /*new ReduceAction13*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable14) /*AbstractArray::add*/;
-  variable15 = NEW_parser___ReduceAction14___init(); /*new ReduceAction14*/
+  variable15 = NEW_ReduceAction14_parser___ReduceAction14___init(); /*new ReduceAction14*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable15) /*AbstractArray::add*/;
-  variable16 = NEW_parser___ReduceAction15___init(); /*new ReduceAction15*/
+  variable16 = NEW_ReduceAction15_parser___ReduceAction15___init(); /*new ReduceAction15*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable16) /*AbstractArray::add*/;
-  variable17 = NEW_parser___ReduceAction16___init(); /*new ReduceAction16*/
+  variable17 = NEW_ReduceAction16_parser___ReduceAction16___init(); /*new ReduceAction16*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable17) /*AbstractArray::add*/;
-  variable18 = NEW_parser___ReduceAction17___init(); /*new ReduceAction17*/
+  variable18 = NEW_ReduceAction17_parser___ReduceAction17___init(); /*new ReduceAction17*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable18) /*AbstractArray::add*/;
-  variable19 = NEW_parser___ReduceAction18___init(); /*new ReduceAction18*/
+  variable19 = NEW_ReduceAction18_parser___ReduceAction18___init(); /*new ReduceAction18*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable19) /*AbstractArray::add*/;
-  variable20 = NEW_parser___ReduceAction19___init(); /*new ReduceAction19*/
+  variable20 = NEW_ReduceAction19_parser___ReduceAction19___init(); /*new ReduceAction19*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable20) /*AbstractArray::add*/;
-  variable21 = NEW_parser___ReduceAction20___init(); /*new ReduceAction20*/
+  variable21 = NEW_ReduceAction20_parser___ReduceAction20___init(); /*new ReduceAction20*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable21) /*AbstractArray::add*/;
-  variable22 = NEW_parser___ReduceAction21___init(); /*new ReduceAction21*/
+  variable22 = NEW_ReduceAction21_parser___ReduceAction21___init(); /*new ReduceAction21*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable22) /*AbstractArray::add*/;
-  variable23 = NEW_parser___ReduceAction22___init(); /*new ReduceAction22*/
+  variable23 = NEW_ReduceAction22_parser___ReduceAction22___init(); /*new ReduceAction22*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable23) /*AbstractArray::add*/;
-  variable24 = NEW_parser___ReduceAction23___init(); /*new ReduceAction23*/
+  variable24 = NEW_ReduceAction23_parser___ReduceAction23___init(); /*new ReduceAction23*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable24) /*AbstractArray::add*/;
-  variable25 = NEW_parser___ReduceAction24___init(); /*new ReduceAction24*/
+  variable25 = NEW_ReduceAction24_parser___ReduceAction24___init(); /*new ReduceAction24*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable25) /*AbstractArray::add*/;
-  variable26 = NEW_parser___ReduceAction25___init(); /*new ReduceAction25*/
+  variable26 = NEW_ReduceAction25_parser___ReduceAction25___init(); /*new ReduceAction25*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable26) /*AbstractArray::add*/;
-  variable27 = NEW_parser___ReduceAction26___init(); /*new ReduceAction26*/
+  variable27 = NEW_ReduceAction26_parser___ReduceAction26___init(); /*new ReduceAction26*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable27) /*AbstractArray::add*/;
-  variable28 = NEW_parser___ReduceAction27___init(); /*new ReduceAction27*/
+  variable28 = NEW_ReduceAction27_parser___ReduceAction27___init(); /*new ReduceAction27*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable28) /*AbstractArray::add*/;
-  variable29 = NEW_parser___ReduceAction28___init(); /*new ReduceAction28*/
+  variable29 = NEW_ReduceAction28_parser___ReduceAction28___init(); /*new ReduceAction28*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable29) /*AbstractArray::add*/;
-  variable30 = NEW_parser___ReduceAction29___init(); /*new ReduceAction29*/
+  variable30 = NEW_ReduceAction29_parser___ReduceAction29___init(); /*new ReduceAction29*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable30) /*AbstractArray::add*/;
-  variable31 = NEW_parser___ReduceAction30___init(); /*new ReduceAction30*/
+  variable31 = NEW_ReduceAction30_parser___ReduceAction30___init(); /*new ReduceAction30*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable31) /*AbstractArray::add*/;
-  variable32 = NEW_parser___ReduceAction31___init(); /*new ReduceAction31*/
+  variable32 = NEW_ReduceAction31_parser___ReduceAction31___init(); /*new ReduceAction31*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable32) /*AbstractArray::add*/;
-  variable33 = NEW_parser___ReduceAction32___init(); /*new ReduceAction32*/
+  variable33 = NEW_ReduceAction32_parser___ReduceAction32___init(); /*new ReduceAction32*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable33) /*AbstractArray::add*/;
-  variable34 = NEW_parser___ReduceAction33___init(); /*new ReduceAction33*/
+  variable34 = NEW_ReduceAction33_parser___ReduceAction33___init(); /*new ReduceAction33*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable34) /*AbstractArray::add*/;
-  variable35 = NEW_parser___ReduceAction34___init(); /*new ReduceAction34*/
+  variable35 = NEW_ReduceAction34_parser___ReduceAction34___init(); /*new ReduceAction34*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable35) /*AbstractArray::add*/;
-  variable36 = NEW_parser___ReduceAction35___init(); /*new ReduceAction35*/
+  variable36 = NEW_ReduceAction35_parser___ReduceAction35___init(); /*new ReduceAction35*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable36) /*AbstractArray::add*/;
-  variable37 = NEW_parser___ReduceAction36___init(); /*new ReduceAction36*/
+  variable37 = NEW_ReduceAction36_parser___ReduceAction36___init(); /*new ReduceAction36*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable37) /*AbstractArray::add*/;
-  variable38 = NEW_parser___ReduceAction37___init(); /*new ReduceAction37*/
+  variable38 = NEW_ReduceAction37_parser___ReduceAction37___init(); /*new ReduceAction37*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable38) /*AbstractArray::add*/;
-  variable39 = NEW_parser___ReduceAction38___init(); /*new ReduceAction38*/
+  variable39 = NEW_ReduceAction38_parser___ReduceAction38___init(); /*new ReduceAction38*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable39) /*AbstractArray::add*/;
-  variable40 = NEW_parser___ReduceAction39___init(); /*new ReduceAction39*/
+  variable40 = NEW_ReduceAction39_parser___ReduceAction39___init(); /*new ReduceAction39*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable40) /*AbstractArray::add*/;
-  variable41 = NEW_parser___ReduceAction40___init(); /*new ReduceAction40*/
+  variable41 = NEW_ReduceAction40_parser___ReduceAction40___init(); /*new ReduceAction40*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable41) /*AbstractArray::add*/;
-  variable42 = NEW_parser___ReduceAction41___init(); /*new ReduceAction41*/
+  variable42 = NEW_ReduceAction41_parser___ReduceAction41___init(); /*new ReduceAction41*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable42) /*AbstractArray::add*/;
-  variable43 = NEW_parser___ReduceAction42___init(); /*new ReduceAction42*/
+  variable43 = NEW_ReduceAction42_parser___ReduceAction42___init(); /*new ReduceAction42*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable43) /*AbstractArray::add*/;
-  variable44 = NEW_parser___ReduceAction43___init(); /*new ReduceAction43*/
+  variable44 = NEW_ReduceAction43_parser___ReduceAction43___init(); /*new ReduceAction43*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable44) /*AbstractArray::add*/;
-  variable45 = NEW_parser___ReduceAction44___init(); /*new ReduceAction44*/
+  variable45 = NEW_ReduceAction44_parser___ReduceAction44___init(); /*new ReduceAction44*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable45) /*AbstractArray::add*/;
-  variable46 = NEW_parser___ReduceAction45___init(); /*new ReduceAction45*/
+  variable46 = NEW_ReduceAction45_parser___ReduceAction45___init(); /*new ReduceAction45*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable46) /*AbstractArray::add*/;
-  variable47 = NEW_parser___ReduceAction46___init(); /*new ReduceAction46*/
+  variable47 = NEW_ReduceAction46_parser___ReduceAction46___init(); /*new ReduceAction46*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable47) /*AbstractArray::add*/;
-  variable48 = NEW_parser___ReduceAction47___init(); /*new ReduceAction47*/
+  variable48 = NEW_ReduceAction47_parser___ReduceAction47___init(); /*new ReduceAction47*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable48) /*AbstractArray::add*/;
-  variable49 = NEW_parser___ReduceAction48___init(); /*new ReduceAction48*/
+  variable49 = NEW_ReduceAction48_parser___ReduceAction48___init(); /*new ReduceAction48*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable49) /*AbstractArray::add*/;
-  variable50 = NEW_parser___ReduceAction49___init(); /*new ReduceAction49*/
+  variable50 = NEW_ReduceAction49_parser___ReduceAction49___init(); /*new ReduceAction49*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable50) /*AbstractArray::add*/;
-  variable51 = NEW_parser___ReduceAction50___init(); /*new ReduceAction50*/
+  variable51 = NEW_ReduceAction50_parser___ReduceAction50___init(); /*new ReduceAction50*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable51) /*AbstractArray::add*/;
-  variable52 = NEW_parser___ReduceAction51___init(); /*new ReduceAction51*/
+  variable52 = NEW_ReduceAction51_parser___ReduceAction51___init(); /*new ReduceAction51*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable52) /*AbstractArray::add*/;
-  variable53 = NEW_parser___ReduceAction52___init(); /*new ReduceAction52*/
+  variable53 = NEW_ReduceAction52_parser___ReduceAction52___init(); /*new ReduceAction52*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable53) /*AbstractArray::add*/;
-  variable54 = NEW_parser___ReduceAction53___init(); /*new ReduceAction53*/
+  variable54 = NEW_ReduceAction53_parser___ReduceAction53___init(); /*new ReduceAction53*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable54) /*AbstractArray::add*/;
-  variable55 = NEW_parser___ReduceAction54___init(); /*new ReduceAction54*/
+  variable55 = NEW_ReduceAction54_parser___ReduceAction54___init(); /*new ReduceAction54*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable55) /*AbstractArray::add*/;
-  variable56 = NEW_parser___ReduceAction55___init(); /*new ReduceAction55*/
+  variable56 = NEW_ReduceAction55_parser___ReduceAction55___init(); /*new ReduceAction55*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable56) /*AbstractArray::add*/;
-  variable57 = NEW_parser___ReduceAction56___init(); /*new ReduceAction56*/
+  variable57 = NEW_ReduceAction56_parser___ReduceAction56___init(); /*new ReduceAction56*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable57) /*AbstractArray::add*/;
-  variable58 = NEW_parser___ReduceAction57___init(); /*new ReduceAction57*/
+  variable58 = NEW_ReduceAction57_parser___ReduceAction57___init(); /*new ReduceAction57*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable58) /*AbstractArray::add*/;
-  variable59 = NEW_parser___ReduceAction58___init(); /*new ReduceAction58*/
+  variable59 = NEW_ReduceAction58_parser___ReduceAction58___init(); /*new ReduceAction58*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable59) /*AbstractArray::add*/;
-  variable60 = NEW_parser___ReduceAction59___init(); /*new ReduceAction59*/
+  variable60 = NEW_ReduceAction59_parser___ReduceAction59___init(); /*new ReduceAction59*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable60) /*AbstractArray::add*/;
-  variable61 = NEW_parser___ReduceAction60___init(); /*new ReduceAction60*/
+  variable61 = NEW_ReduceAction60_parser___ReduceAction60___init(); /*new ReduceAction60*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable61) /*AbstractArray::add*/;
-  variable62 = NEW_parser___ReduceAction61___init(); /*new ReduceAction61*/
+  variable62 = NEW_ReduceAction61_parser___ReduceAction61___init(); /*new ReduceAction61*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable62) /*AbstractArray::add*/;
-  variable63 = NEW_parser___ReduceAction62___init(); /*new ReduceAction62*/
+  variable63 = NEW_ReduceAction62_parser___ReduceAction62___init(); /*new ReduceAction62*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable63) /*AbstractArray::add*/;
-  variable64 = NEW_parser___ReduceAction63___init(); /*new ReduceAction63*/
+  variable64 = NEW_ReduceAction63_parser___ReduceAction63___init(); /*new ReduceAction63*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable64) /*AbstractArray::add*/;
-  variable65 = NEW_parser___ReduceAction64___init(); /*new ReduceAction64*/
+  variable65 = NEW_ReduceAction64_parser___ReduceAction64___init(); /*new ReduceAction64*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable65) /*AbstractArray::add*/;
-  variable66 = NEW_parser___ReduceAction65___init(); /*new ReduceAction65*/
+  variable66 = NEW_ReduceAction65_parser___ReduceAction65___init(); /*new ReduceAction65*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable66) /*AbstractArray::add*/;
-  variable67 = NEW_parser___ReduceAction66___init(); /*new ReduceAction66*/
+  variable67 = NEW_ReduceAction66_parser___ReduceAction66___init(); /*new ReduceAction66*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable67) /*AbstractArray::add*/;
-  variable68 = NEW_parser___ReduceAction67___init(); /*new ReduceAction67*/
+  variable68 = NEW_ReduceAction67_parser___ReduceAction67___init(); /*new ReduceAction67*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable68) /*AbstractArray::add*/;
-  variable69 = NEW_parser___ReduceAction68___init(); /*new ReduceAction68*/
+  variable69 = NEW_ReduceAction68_parser___ReduceAction68___init(); /*new ReduceAction68*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable69) /*AbstractArray::add*/;
-  variable70 = NEW_parser___ReduceAction69___init(); /*new ReduceAction69*/
+  variable70 = NEW_ReduceAction69_parser___ReduceAction69___init(); /*new ReduceAction69*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable70) /*AbstractArray::add*/;
-  variable71 = NEW_parser___ReduceAction70___init(); /*new ReduceAction70*/
+  variable71 = NEW_ReduceAction70_parser___ReduceAction70___init(); /*new ReduceAction70*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable71) /*AbstractArray::add*/;
-  variable72 = NEW_parser___ReduceAction71___init(); /*new ReduceAction71*/
+  variable72 = NEW_ReduceAction71_parser___ReduceAction71___init(); /*new ReduceAction71*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable72) /*AbstractArray::add*/;
-  variable73 = NEW_parser___ReduceAction72___init(); /*new ReduceAction72*/
+  variable73 = NEW_ReduceAction72_parser___ReduceAction72___init(); /*new ReduceAction72*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable73) /*AbstractArray::add*/;
-  variable74 = NEW_parser___ReduceAction73___init(); /*new ReduceAction73*/
+  variable74 = NEW_ReduceAction73_parser___ReduceAction73___init(); /*new ReduceAction73*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable74) /*AbstractArray::add*/;
-  variable75 = NEW_parser___ReduceAction74___init(); /*new ReduceAction74*/
+  variable75 = NEW_ReduceAction74_parser___ReduceAction74___init(); /*new ReduceAction74*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable75) /*AbstractArray::add*/;
-  variable76 = NEW_parser___ReduceAction75___init(); /*new ReduceAction75*/
+  variable76 = NEW_ReduceAction75_parser___ReduceAction75___init(); /*new ReduceAction75*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable76) /*AbstractArray::add*/;
-  variable77 = NEW_parser___ReduceAction76___init(); /*new ReduceAction76*/
+  variable77 = NEW_ReduceAction76_parser___ReduceAction76___init(); /*new ReduceAction76*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable77) /*AbstractArray::add*/;
-  variable78 = NEW_parser___ReduceAction77___init(); /*new ReduceAction77*/
+  variable78 = NEW_ReduceAction77_parser___ReduceAction77___init(); /*new ReduceAction77*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable78) /*AbstractArray::add*/;
-  variable79 = NEW_parser___ReduceAction78___init(); /*new ReduceAction78*/
+  variable79 = NEW_ReduceAction78_parser___ReduceAction78___init(); /*new ReduceAction78*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable79) /*AbstractArray::add*/;
-  variable80 = NEW_parser___ReduceAction79___init(); /*new ReduceAction79*/
+  variable80 = NEW_ReduceAction79_parser___ReduceAction79___init(); /*new ReduceAction79*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable80) /*AbstractArray::add*/;
-  variable81 = NEW_parser___ReduceAction80___init(); /*new ReduceAction80*/
+  variable81 = NEW_ReduceAction80_parser___ReduceAction80___init(); /*new ReduceAction80*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable81) /*AbstractArray::add*/;
-  variable82 = NEW_parser___ReduceAction81___init(); /*new ReduceAction81*/
+  variable82 = NEW_ReduceAction81_parser___ReduceAction81___init(); /*new ReduceAction81*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable82) /*AbstractArray::add*/;
-  variable83 = NEW_parser___ReduceAction82___init(); /*new ReduceAction82*/
+  variable83 = NEW_ReduceAction82_parser___ReduceAction82___init(); /*new ReduceAction82*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable83) /*AbstractArray::add*/;
-  variable84 = NEW_parser___ReduceAction83___init(); /*new ReduceAction83*/
+  variable84 = NEW_ReduceAction83_parser___ReduceAction83___init(); /*new ReduceAction83*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable84) /*AbstractArray::add*/;
-  variable85 = NEW_parser___ReduceAction84___init(); /*new ReduceAction84*/
+  variable85 = NEW_ReduceAction84_parser___ReduceAction84___init(); /*new ReduceAction84*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable85) /*AbstractArray::add*/;
-  variable86 = NEW_parser___ReduceAction85___init(); /*new ReduceAction85*/
+  variable86 = NEW_ReduceAction85_parser___ReduceAction85___init(); /*new ReduceAction85*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable86) /*AbstractArray::add*/;
-  variable87 = NEW_parser___ReduceAction86___init(); /*new ReduceAction86*/
+  variable87 = NEW_ReduceAction86_parser___ReduceAction86___init(); /*new ReduceAction86*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable87) /*AbstractArray::add*/;
-  variable88 = NEW_parser___ReduceAction87___init(); /*new ReduceAction87*/
+  variable88 = NEW_ReduceAction87_parser___ReduceAction87___init(); /*new ReduceAction87*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable88) /*AbstractArray::add*/;
-  variable89 = NEW_parser___ReduceAction88___init(); /*new ReduceAction88*/
+  variable89 = NEW_ReduceAction88_parser___ReduceAction88___init(); /*new ReduceAction88*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable89) /*AbstractArray::add*/;
-  variable90 = NEW_parser___ReduceAction89___init(); /*new ReduceAction89*/
+  variable90 = NEW_ReduceAction89_parser___ReduceAction89___init(); /*new ReduceAction89*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable90) /*AbstractArray::add*/;
-  variable91 = NEW_parser___ReduceAction90___init(); /*new ReduceAction90*/
+  variable91 = NEW_ReduceAction90_parser___ReduceAction90___init(); /*new ReduceAction90*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable91) /*AbstractArray::add*/;
-  variable92 = NEW_parser___ReduceAction91___init(); /*new ReduceAction91*/
+  variable92 = NEW_ReduceAction91_parser___ReduceAction91___init(); /*new ReduceAction91*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable92) /*AbstractArray::add*/;
-  variable93 = NEW_parser___ReduceAction92___init(); /*new ReduceAction92*/
+  variable93 = NEW_ReduceAction92_parser___ReduceAction92___init(); /*new ReduceAction92*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable93) /*AbstractArray::add*/;
-  variable94 = NEW_parser___ReduceAction93___init(); /*new ReduceAction93*/
+  variable94 = NEW_ReduceAction93_parser___ReduceAction93___init(); /*new ReduceAction93*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable94) /*AbstractArray::add*/;
-  variable95 = NEW_parser___ReduceAction94___init(); /*new ReduceAction94*/
+  variable95 = NEW_ReduceAction94_parser___ReduceAction94___init(); /*new ReduceAction94*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable95) /*AbstractArray::add*/;
-  variable96 = NEW_parser___ReduceAction95___init(); /*new ReduceAction95*/
+  variable96 = NEW_ReduceAction95_parser___ReduceAction95___init(); /*new ReduceAction95*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable96) /*AbstractArray::add*/;
-  variable97 = NEW_parser___ReduceAction96___init(); /*new ReduceAction96*/
+  variable97 = NEW_ReduceAction96_parser___ReduceAction96___init(); /*new ReduceAction96*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable97) /*AbstractArray::add*/;
-  variable98 = NEW_parser___ReduceAction97___init(); /*new ReduceAction97*/
+  variable98 = NEW_ReduceAction97_parser___ReduceAction97___init(); /*new ReduceAction97*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable98) /*AbstractArray::add*/;
-  variable99 = NEW_parser___ReduceAction98___init(); /*new ReduceAction98*/
+  variable99 = NEW_ReduceAction98_parser___ReduceAction98___init(); /*new ReduceAction98*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable99) /*AbstractArray::add*/;
-  variable100 = NEW_parser___ReduceAction99___init(); /*new ReduceAction99*/
+  variable100 = NEW_ReduceAction99_parser___ReduceAction99___init(); /*new ReduceAction99*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable100) /*AbstractArray::add*/;
-  variable101 = NEW_parser___ReduceAction100___init(); /*new ReduceAction100*/
+  variable101 = NEW_ReduceAction100_parser___ReduceAction100___init(); /*new ReduceAction100*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable101) /*AbstractArray::add*/;
-  variable102 = NEW_parser___ReduceAction101___init(); /*new ReduceAction101*/
+  variable102 = NEW_ReduceAction101_parser___ReduceAction101___init(); /*new ReduceAction101*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable102) /*AbstractArray::add*/;
-  variable103 = NEW_parser___ReduceAction102___init(); /*new ReduceAction102*/
+  variable103 = NEW_ReduceAction102_parser___ReduceAction102___init(); /*new ReduceAction102*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable103) /*AbstractArray::add*/;
-  variable104 = NEW_parser___ReduceAction103___init(); /*new ReduceAction103*/
+  variable104 = NEW_ReduceAction103_parser___ReduceAction103___init(); /*new ReduceAction103*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable104) /*AbstractArray::add*/;
-  variable105 = NEW_parser___ReduceAction104___init(); /*new ReduceAction104*/
+  variable105 = NEW_ReduceAction104_parser___ReduceAction104___init(); /*new ReduceAction104*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable105) /*AbstractArray::add*/;
-  variable106 = NEW_parser___ReduceAction105___init(); /*new ReduceAction105*/
+  variable106 = NEW_ReduceAction105_parser___ReduceAction105___init(); /*new ReduceAction105*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable106) /*AbstractArray::add*/;
-  variable107 = NEW_parser___ReduceAction106___init(); /*new ReduceAction106*/
+  variable107 = NEW_ReduceAction106_parser___ReduceAction106___init(); /*new ReduceAction106*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable107) /*AbstractArray::add*/;
-  variable108 = NEW_parser___ReduceAction107___init(); /*new ReduceAction107*/
+  variable108 = NEW_ReduceAction107_parser___ReduceAction107___init(); /*new ReduceAction107*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable108) /*AbstractArray::add*/;
-  variable109 = NEW_parser___ReduceAction108___init(); /*new ReduceAction108*/
+  variable109 = NEW_ReduceAction108_parser___ReduceAction108___init(); /*new ReduceAction108*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable109) /*AbstractArray::add*/;
-  variable110 = NEW_parser___ReduceAction109___init(); /*new ReduceAction109*/
+  variable110 = NEW_ReduceAction109_parser___ReduceAction109___init(); /*new ReduceAction109*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable110) /*AbstractArray::add*/;
-  variable111 = NEW_parser___ReduceAction110___init(); /*new ReduceAction110*/
+  variable111 = NEW_ReduceAction110_parser___ReduceAction110___init(); /*new ReduceAction110*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable111) /*AbstractArray::add*/;
-  variable112 = NEW_parser___ReduceAction111___init(); /*new ReduceAction111*/
+  variable112 = NEW_ReduceAction111_parser___ReduceAction111___init(); /*new ReduceAction111*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable112) /*AbstractArray::add*/;
-  variable113 = NEW_parser___ReduceAction112___init(); /*new ReduceAction112*/
+  variable113 = NEW_ReduceAction112_parser___ReduceAction112___init(); /*new ReduceAction112*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable113) /*AbstractArray::add*/;
-  variable114 = NEW_parser___ReduceAction113___init(); /*new ReduceAction113*/
+  variable114 = NEW_ReduceAction113_parser___ReduceAction113___init(); /*new ReduceAction113*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable114) /*AbstractArray::add*/;
-  variable115 = NEW_parser___ReduceAction114___init(); /*new ReduceAction114*/
+  variable115 = NEW_ReduceAction114_parser___ReduceAction114___init(); /*new ReduceAction114*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable115) /*AbstractArray::add*/;
-  variable116 = NEW_parser___ReduceAction115___init(); /*new ReduceAction115*/
+  variable116 = NEW_ReduceAction115_parser___ReduceAction115___init(); /*new ReduceAction115*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable116) /*AbstractArray::add*/;
-  variable117 = NEW_parser___ReduceAction116___init(); /*new ReduceAction116*/
+  variable117 = NEW_ReduceAction116_parser___ReduceAction116___init(); /*new ReduceAction116*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable117) /*AbstractArray::add*/;
-  variable118 = NEW_parser___ReduceAction117___init(); /*new ReduceAction117*/
+  variable118 = NEW_ReduceAction117_parser___ReduceAction117___init(); /*new ReduceAction117*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable118) /*AbstractArray::add*/;
-  variable119 = NEW_parser___ReduceAction118___init(); /*new ReduceAction118*/
+  variable119 = NEW_ReduceAction118_parser___ReduceAction118___init(); /*new ReduceAction118*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable119) /*AbstractArray::add*/;
-  variable120 = NEW_parser___ReduceAction119___init(); /*new ReduceAction119*/
+  variable120 = NEW_ReduceAction119_parser___ReduceAction119___init(); /*new ReduceAction119*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable120) /*AbstractArray::add*/;
-  variable121 = NEW_parser___ReduceAction120___init(); /*new ReduceAction120*/
+  variable121 = NEW_ReduceAction120_parser___ReduceAction120___init(); /*new ReduceAction120*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable121) /*AbstractArray::add*/;
-  variable122 = NEW_parser___ReduceAction121___init(); /*new ReduceAction121*/
+  variable122 = NEW_ReduceAction121_parser___ReduceAction121___init(); /*new ReduceAction121*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable122) /*AbstractArray::add*/;
-  variable123 = NEW_parser___ReduceAction122___init(); /*new ReduceAction122*/
+  variable123 = NEW_ReduceAction122_parser___ReduceAction122___init(); /*new ReduceAction122*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable123) /*AbstractArray::add*/;
-  variable124 = NEW_parser___ReduceAction123___init(); /*new ReduceAction123*/
+  variable124 = NEW_ReduceAction123_parser___ReduceAction123___init(); /*new ReduceAction123*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable124) /*AbstractArray::add*/;
-  variable125 = NEW_parser___ReduceAction124___init(); /*new ReduceAction124*/
+  variable125 = NEW_ReduceAction124_parser___ReduceAction124___init(); /*new ReduceAction124*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable125) /*AbstractArray::add*/;
-  variable126 = NEW_parser___ReduceAction125___init(); /*new ReduceAction125*/
+  variable126 = NEW_ReduceAction125_parser___ReduceAction125___init(); /*new ReduceAction125*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable126) /*AbstractArray::add*/;
-  variable127 = NEW_parser___ReduceAction126___init(); /*new ReduceAction126*/
+  variable127 = NEW_ReduceAction126_parser___ReduceAction126___init(); /*new ReduceAction126*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable127) /*AbstractArray::add*/;
-  variable128 = NEW_parser___ReduceAction127___init(); /*new ReduceAction127*/
+  variable128 = NEW_ReduceAction127_parser___ReduceAction127___init(); /*new ReduceAction127*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable128) /*AbstractArray::add*/;
-  variable129 = NEW_parser___ReduceAction128___init(); /*new ReduceAction128*/
+  variable129 = NEW_ReduceAction128_parser___ReduceAction128___init(); /*new ReduceAction128*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable129) /*AbstractArray::add*/;
-  variable130 = NEW_parser___ReduceAction129___init(); /*new ReduceAction129*/
+  variable130 = NEW_ReduceAction129_parser___ReduceAction129___init(); /*new ReduceAction129*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable130) /*AbstractArray::add*/;
-  variable131 = NEW_parser___ReduceAction130___init(); /*new ReduceAction130*/
+  variable131 = NEW_ReduceAction130_parser___ReduceAction130___init(); /*new ReduceAction130*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable131) /*AbstractArray::add*/;
-  variable132 = NEW_parser___ReduceAction131___init(); /*new ReduceAction131*/
+  variable132 = NEW_ReduceAction131_parser___ReduceAction131___init(); /*new ReduceAction131*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable132) /*AbstractArray::add*/;
-  variable133 = NEW_parser___ReduceAction132___init(); /*new ReduceAction132*/
+  variable133 = NEW_ReduceAction132_parser___ReduceAction132___init(); /*new ReduceAction132*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable133) /*AbstractArray::add*/;
-  variable134 = NEW_parser___ReduceAction133___init(); /*new ReduceAction133*/
+  variable134 = NEW_ReduceAction133_parser___ReduceAction133___init(); /*new ReduceAction133*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable134) /*AbstractArray::add*/;
-  variable135 = NEW_parser___ReduceAction134___init(); /*new ReduceAction134*/
+  variable135 = NEW_ReduceAction134_parser___ReduceAction134___init(); /*new ReduceAction134*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable135) /*AbstractArray::add*/;
-  variable136 = NEW_parser___ReduceAction135___init(); /*new ReduceAction135*/
+  variable136 = NEW_ReduceAction135_parser___ReduceAction135___init(); /*new ReduceAction135*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable136) /*AbstractArray::add*/;
-  variable137 = NEW_parser___ReduceAction136___init(); /*new ReduceAction136*/
+  variable137 = NEW_ReduceAction136_parser___ReduceAction136___init(); /*new ReduceAction136*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable137) /*AbstractArray::add*/;
-  variable138 = NEW_parser___ReduceAction137___init(); /*new ReduceAction137*/
+  variable138 = NEW_ReduceAction137_parser___ReduceAction137___init(); /*new ReduceAction137*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable138) /*AbstractArray::add*/;
-  variable139 = NEW_parser___ReduceAction138___init(); /*new ReduceAction138*/
+  variable139 = NEW_ReduceAction138_parser___ReduceAction138___init(); /*new ReduceAction138*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable139) /*AbstractArray::add*/;
-  variable140 = NEW_parser___ReduceAction139___init(); /*new ReduceAction139*/
+  variable140 = NEW_ReduceAction139_parser___ReduceAction139___init(); /*new ReduceAction139*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable140) /*AbstractArray::add*/;
-  variable141 = NEW_parser___ReduceAction140___init(); /*new ReduceAction140*/
+  variable141 = NEW_ReduceAction140_parser___ReduceAction140___init(); /*new ReduceAction140*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable141) /*AbstractArray::add*/;
-  variable142 = NEW_parser___ReduceAction141___init(); /*new ReduceAction141*/
+  variable142 = NEW_ReduceAction141_parser___ReduceAction141___init(); /*new ReduceAction141*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable142) /*AbstractArray::add*/;
-  variable143 = NEW_parser___ReduceAction142___init(); /*new ReduceAction142*/
+  variable143 = NEW_ReduceAction142_parser___ReduceAction142___init(); /*new ReduceAction142*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable143) /*AbstractArray::add*/;
-  variable144 = NEW_parser___ReduceAction143___init(); /*new ReduceAction143*/
+  variable144 = NEW_ReduceAction143_parser___ReduceAction143___init(); /*new ReduceAction143*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable144) /*AbstractArray::add*/;
-  variable145 = NEW_parser___ReduceAction144___init(); /*new ReduceAction144*/
+  variable145 = NEW_ReduceAction144_parser___ReduceAction144___init(); /*new ReduceAction144*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable145) /*AbstractArray::add*/;
-  variable146 = NEW_parser___ReduceAction145___init(); /*new ReduceAction145*/
+  variable146 = NEW_ReduceAction145_parser___ReduceAction145___init(); /*new ReduceAction145*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable146) /*AbstractArray::add*/;
-  variable147 = NEW_parser___ReduceAction146___init(); /*new ReduceAction146*/
+  variable147 = NEW_ReduceAction146_parser___ReduceAction146___init(); /*new ReduceAction146*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable147) /*AbstractArray::add*/;
-  variable148 = NEW_parser___ReduceAction147___init(); /*new ReduceAction147*/
+  variable148 = NEW_ReduceAction147_parser___ReduceAction147___init(); /*new ReduceAction147*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable148) /*AbstractArray::add*/;
-  variable149 = NEW_parser___ReduceAction148___init(); /*new ReduceAction148*/
+  variable149 = NEW_ReduceAction148_parser___ReduceAction148___init(); /*new ReduceAction148*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable149) /*AbstractArray::add*/;
-  variable150 = NEW_parser___ReduceAction149___init(); /*new ReduceAction149*/
+  variable150 = NEW_ReduceAction149_parser___ReduceAction149___init(); /*new ReduceAction149*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable150) /*AbstractArray::add*/;
-  variable151 = NEW_parser___ReduceAction150___init(); /*new ReduceAction150*/
+  variable151 = NEW_ReduceAction150_parser___ReduceAction150___init(); /*new ReduceAction150*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable151) /*AbstractArray::add*/;
-  variable152 = NEW_parser___ReduceAction151___init(); /*new ReduceAction151*/
+  variable152 = NEW_ReduceAction151_parser___ReduceAction151___init(); /*new ReduceAction151*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable152) /*AbstractArray::add*/;
-  variable153 = NEW_parser___ReduceAction152___init(); /*new ReduceAction152*/
+  variable153 = NEW_ReduceAction152_parser___ReduceAction152___init(); /*new ReduceAction152*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable153) /*AbstractArray::add*/;
-  variable154 = NEW_parser___ReduceAction153___init(); /*new ReduceAction153*/
+  variable154 = NEW_ReduceAction153_parser___ReduceAction153___init(); /*new ReduceAction153*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable154) /*AbstractArray::add*/;
-  variable155 = NEW_parser___ReduceAction154___init(); /*new ReduceAction154*/
+  variable155 = NEW_ReduceAction154_parser___ReduceAction154___init(); /*new ReduceAction154*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable155) /*AbstractArray::add*/;
-  variable156 = NEW_parser___ReduceAction155___init(); /*new ReduceAction155*/
+  variable156 = NEW_ReduceAction155_parser___ReduceAction155___init(); /*new ReduceAction155*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable156) /*AbstractArray::add*/;
-  variable157 = NEW_parser___ReduceAction156___init(); /*new ReduceAction156*/
+  variable157 = NEW_ReduceAction156_parser___ReduceAction156___init(); /*new ReduceAction156*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable157) /*AbstractArray::add*/;
-  variable158 = NEW_parser___ReduceAction157___init(); /*new ReduceAction157*/
+  variable158 = NEW_ReduceAction157_parser___ReduceAction157___init(); /*new ReduceAction157*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable158) /*AbstractArray::add*/;
-  variable159 = NEW_parser___ReduceAction158___init(); /*new ReduceAction158*/
+  variable159 = NEW_ReduceAction158_parser___ReduceAction158___init(); /*new ReduceAction158*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable159) /*AbstractArray::add*/;
-  variable160 = NEW_parser___ReduceAction159___init(); /*new ReduceAction159*/
+  variable160 = NEW_ReduceAction159_parser___ReduceAction159___init(); /*new ReduceAction159*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable160) /*AbstractArray::add*/;
-  variable161 = NEW_parser___ReduceAction160___init(); /*new ReduceAction160*/
+  variable161 = NEW_ReduceAction160_parser___ReduceAction160___init(); /*new ReduceAction160*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable161) /*AbstractArray::add*/;
-  variable162 = NEW_parser___ReduceAction161___init(); /*new ReduceAction161*/
+  variable162 = NEW_ReduceAction161_parser___ReduceAction161___init(); /*new ReduceAction161*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable162) /*AbstractArray::add*/;
-  variable163 = NEW_parser___ReduceAction162___init(); /*new ReduceAction162*/
+  variable163 = NEW_ReduceAction162_parser___ReduceAction162___init(); /*new ReduceAction162*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable163) /*AbstractArray::add*/;
-  variable164 = NEW_parser___ReduceAction163___init(); /*new ReduceAction163*/
+  variable164 = NEW_ReduceAction163_parser___ReduceAction163___init(); /*new ReduceAction163*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable164) /*AbstractArray::add*/;
-  variable165 = NEW_parser___ReduceAction164___init(); /*new ReduceAction164*/
+  variable165 = NEW_ReduceAction164_parser___ReduceAction164___init(); /*new ReduceAction164*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable165) /*AbstractArray::add*/;
-  variable166 = NEW_parser___ReduceAction165___init(); /*new ReduceAction165*/
+  variable166 = NEW_ReduceAction165_parser___ReduceAction165___init(); /*new ReduceAction165*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable166) /*AbstractArray::add*/;
-  variable167 = NEW_parser___ReduceAction166___init(); /*new ReduceAction166*/
+  variable167 = NEW_ReduceAction166_parser___ReduceAction166___init(); /*new ReduceAction166*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable167) /*AbstractArray::add*/;
-  variable168 = NEW_parser___ReduceAction167___init(); /*new ReduceAction167*/
+  variable168 = NEW_ReduceAction167_parser___ReduceAction167___init(); /*new ReduceAction167*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable168) /*AbstractArray::add*/;
-  variable169 = NEW_parser___ReduceAction168___init(); /*new ReduceAction168*/
+  variable169 = NEW_ReduceAction168_parser___ReduceAction168___init(); /*new ReduceAction168*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable169) /*AbstractArray::add*/;
-  variable170 = NEW_parser___ReduceAction169___init(); /*new ReduceAction169*/
+  variable170 = NEW_ReduceAction169_parser___ReduceAction169___init(); /*new ReduceAction169*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable170) /*AbstractArray::add*/;
-  variable171 = NEW_parser___ReduceAction170___init(); /*new ReduceAction170*/
+  variable171 = NEW_ReduceAction170_parser___ReduceAction170___init(); /*new ReduceAction170*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable171) /*AbstractArray::add*/;
-  variable172 = NEW_parser___ReduceAction171___init(); /*new ReduceAction171*/
+  variable172 = NEW_ReduceAction171_parser___ReduceAction171___init(); /*new ReduceAction171*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable172) /*AbstractArray::add*/;
-  variable173 = NEW_parser___ReduceAction172___init(); /*new ReduceAction172*/
+  variable173 = NEW_ReduceAction172_parser___ReduceAction172___init(); /*new ReduceAction172*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable173) /*AbstractArray::add*/;
-  variable174 = NEW_parser___ReduceAction173___init(); /*new ReduceAction173*/
+  variable174 = NEW_ReduceAction173_parser___ReduceAction173___init(); /*new ReduceAction173*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable174) /*AbstractArray::add*/;
-  variable175 = NEW_parser___ReduceAction174___init(); /*new ReduceAction174*/
+  variable175 = NEW_ReduceAction174_parser___ReduceAction174___init(); /*new ReduceAction174*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable175) /*AbstractArray::add*/;
-  variable176 = NEW_parser___ReduceAction175___init(); /*new ReduceAction175*/
+  variable176 = NEW_ReduceAction175_parser___ReduceAction175___init(); /*new ReduceAction175*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable176) /*AbstractArray::add*/;
-  variable177 = NEW_parser___ReduceAction176___init(); /*new ReduceAction176*/
+  variable177 = NEW_ReduceAction176_parser___ReduceAction176___init(); /*new ReduceAction176*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable177) /*AbstractArray::add*/;
-  variable178 = NEW_parser___ReduceAction177___init(); /*new ReduceAction177*/
+  variable178 = NEW_ReduceAction177_parser___ReduceAction177___init(); /*new ReduceAction177*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable178) /*AbstractArray::add*/;
-  variable179 = NEW_parser___ReduceAction178___init(); /*new ReduceAction178*/
+  variable179 = NEW_ReduceAction178_parser___ReduceAction178___init(); /*new ReduceAction178*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable179) /*AbstractArray::add*/;
-  variable180 = NEW_parser___ReduceAction179___init(); /*new ReduceAction179*/
+  variable180 = NEW_ReduceAction179_parser___ReduceAction179___init(); /*new ReduceAction179*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable180) /*AbstractArray::add*/;
-  variable181 = NEW_parser___ReduceAction180___init(); /*new ReduceAction180*/
+  variable181 = NEW_ReduceAction180_parser___ReduceAction180___init(); /*new ReduceAction180*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable181) /*AbstractArray::add*/;
-  variable182 = NEW_parser___ReduceAction181___init(); /*new ReduceAction181*/
+  variable182 = NEW_ReduceAction181_parser___ReduceAction181___init(); /*new ReduceAction181*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable182) /*AbstractArray::add*/;
-  variable183 = NEW_parser___ReduceAction182___init(); /*new ReduceAction182*/
+  variable183 = NEW_ReduceAction182_parser___ReduceAction182___init(); /*new ReduceAction182*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable183) /*AbstractArray::add*/;
-  variable184 = NEW_parser___ReduceAction183___init(); /*new ReduceAction183*/
+  variable184 = NEW_ReduceAction183_parser___ReduceAction183___init(); /*new ReduceAction183*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable184) /*AbstractArray::add*/;
-  variable185 = NEW_parser___ReduceAction184___init(); /*new ReduceAction184*/
+  variable185 = NEW_ReduceAction184_parser___ReduceAction184___init(); /*new ReduceAction184*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable185) /*AbstractArray::add*/;
-  variable186 = NEW_parser___ReduceAction185___init(); /*new ReduceAction185*/
+  variable186 = NEW_ReduceAction185_parser___ReduceAction185___init(); /*new ReduceAction185*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable186) /*AbstractArray::add*/;
-  variable187 = NEW_parser___ReduceAction186___init(); /*new ReduceAction186*/
+  variable187 = NEW_ReduceAction186_parser___ReduceAction186___init(); /*new ReduceAction186*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable187) /*AbstractArray::add*/;
-  variable188 = NEW_parser___ReduceAction187___init(); /*new ReduceAction187*/
+  variable188 = NEW_ReduceAction187_parser___ReduceAction187___init(); /*new ReduceAction187*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable188) /*AbstractArray::add*/;
-  variable189 = NEW_parser___ReduceAction188___init(); /*new ReduceAction188*/
+  variable189 = NEW_ReduceAction188_parser___ReduceAction188___init(); /*new ReduceAction188*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable189) /*AbstractArray::add*/;
-  variable190 = NEW_parser___ReduceAction189___init(); /*new ReduceAction189*/
+  variable190 = NEW_ReduceAction189_parser___ReduceAction189___init(); /*new ReduceAction189*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable190) /*AbstractArray::add*/;
-  variable191 = NEW_parser___ReduceAction190___init(); /*new ReduceAction190*/
+  variable191 = NEW_ReduceAction190_parser___ReduceAction190___init(); /*new ReduceAction190*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable191) /*AbstractArray::add*/;
-  variable192 = NEW_parser___ReduceAction191___init(); /*new ReduceAction191*/
+  variable192 = NEW_ReduceAction191_parser___ReduceAction191___init(); /*new ReduceAction191*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable192) /*AbstractArray::add*/;
-  variable193 = NEW_parser___ReduceAction192___init(); /*new ReduceAction192*/
+  variable193 = NEW_ReduceAction192_parser___ReduceAction192___init(); /*new ReduceAction192*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable193) /*AbstractArray::add*/;
-  variable194 = NEW_parser___ReduceAction193___init(); /*new ReduceAction193*/
+  variable194 = NEW_ReduceAction193_parser___ReduceAction193___init(); /*new ReduceAction193*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable194) /*AbstractArray::add*/;
-  variable195 = NEW_parser___ReduceAction194___init(); /*new ReduceAction194*/
+  variable195 = NEW_ReduceAction194_parser___ReduceAction194___init(); /*new ReduceAction194*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable195) /*AbstractArray::add*/;
-  variable196 = NEW_parser___ReduceAction195___init(); /*new ReduceAction195*/
+  variable196 = NEW_ReduceAction195_parser___ReduceAction195___init(); /*new ReduceAction195*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable196) /*AbstractArray::add*/;
-  variable197 = NEW_parser___ReduceAction196___init(); /*new ReduceAction196*/
+  variable197 = NEW_ReduceAction196_parser___ReduceAction196___init(); /*new ReduceAction196*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable197) /*AbstractArray::add*/;
-  variable198 = NEW_parser___ReduceAction197___init(); /*new ReduceAction197*/
+  variable198 = NEW_ReduceAction197_parser___ReduceAction197___init(); /*new ReduceAction197*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable198) /*AbstractArray::add*/;
-  variable199 = NEW_parser___ReduceAction198___init(); /*new ReduceAction198*/
+  variable199 = NEW_ReduceAction198_parser___ReduceAction198___init(); /*new ReduceAction198*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable199) /*AbstractArray::add*/;
-  variable200 = NEW_parser___ReduceAction199___init(); /*new ReduceAction199*/
+  variable200 = NEW_ReduceAction199_parser___ReduceAction199___init(); /*new ReduceAction199*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable200) /*AbstractArray::add*/;
-  variable201 = NEW_parser___ReduceAction200___init(); /*new ReduceAction200*/
+  variable201 = NEW_ReduceAction200_parser___ReduceAction200___init(); /*new ReduceAction200*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable201) /*AbstractArray::add*/;
-  variable202 = NEW_parser___ReduceAction201___init(); /*new ReduceAction201*/
+  variable202 = NEW_ReduceAction201_parser___ReduceAction201___init(); /*new ReduceAction201*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable202) /*AbstractArray::add*/;
-  variable203 = NEW_parser___ReduceAction202___init(); /*new ReduceAction202*/
+  variable203 = NEW_ReduceAction202_parser___ReduceAction202___init(); /*new ReduceAction202*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable203) /*AbstractArray::add*/;
-  variable204 = NEW_parser___ReduceAction203___init(); /*new ReduceAction203*/
+  variable204 = NEW_ReduceAction203_parser___ReduceAction203___init(); /*new ReduceAction203*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable204) /*AbstractArray::add*/;
-  variable205 = NEW_parser___ReduceAction204___init(); /*new ReduceAction204*/
+  variable205 = NEW_ReduceAction204_parser___ReduceAction204___init(); /*new ReduceAction204*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable205) /*AbstractArray::add*/;
-  variable206 = NEW_parser___ReduceAction205___init(); /*new ReduceAction205*/
+  variable206 = NEW_ReduceAction205_parser___ReduceAction205___init(); /*new ReduceAction205*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable206) /*AbstractArray::add*/;
-  variable207 = NEW_parser___ReduceAction206___init(); /*new ReduceAction206*/
+  variable207 = NEW_ReduceAction206_parser___ReduceAction206___init(); /*new ReduceAction206*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable207) /*AbstractArray::add*/;
-  variable208 = NEW_parser___ReduceAction207___init(); /*new ReduceAction207*/
+  variable208 = NEW_ReduceAction207_parser___ReduceAction207___init(); /*new ReduceAction207*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable208) /*AbstractArray::add*/;
-  variable209 = NEW_parser___ReduceAction208___init(); /*new ReduceAction208*/
+  variable209 = NEW_ReduceAction208_parser___ReduceAction208___init(); /*new ReduceAction208*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable209) /*AbstractArray::add*/;
-  variable210 = NEW_parser___ReduceAction209___init(); /*new ReduceAction209*/
+  variable210 = NEW_ReduceAction209_parser___ReduceAction209___init(); /*new ReduceAction209*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable210) /*AbstractArray::add*/;
-  variable211 = NEW_parser___ReduceAction210___init(); /*new ReduceAction210*/
+  variable211 = NEW_ReduceAction210_parser___ReduceAction210___init(); /*new ReduceAction210*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable211) /*AbstractArray::add*/;
-  variable212 = NEW_parser___ReduceAction211___init(); /*new ReduceAction211*/
+  variable212 = NEW_ReduceAction211_parser___ReduceAction211___init(); /*new ReduceAction211*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable212) /*AbstractArray::add*/;
-  variable213 = NEW_parser___ReduceAction212___init(); /*new ReduceAction212*/
+  variable213 = NEW_ReduceAction212_parser___ReduceAction212___init(); /*new ReduceAction212*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable213) /*AbstractArray::add*/;
-  variable214 = NEW_parser___ReduceAction213___init(); /*new ReduceAction213*/
+  variable214 = NEW_ReduceAction213_parser___ReduceAction213___init(); /*new ReduceAction213*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable214) /*AbstractArray::add*/;
-  variable215 = NEW_parser___ReduceAction214___init(); /*new ReduceAction214*/
+  variable215 = NEW_ReduceAction214_parser___ReduceAction214___init(); /*new ReduceAction214*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable215) /*AbstractArray::add*/;
-  variable216 = NEW_parser___ReduceAction215___init(); /*new ReduceAction215*/
+  variable216 = NEW_ReduceAction215_parser___ReduceAction215___init(); /*new ReduceAction215*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable216) /*AbstractArray::add*/;
-  variable217 = NEW_parser___ReduceAction216___init(); /*new ReduceAction216*/
+  variable217 = NEW_ReduceAction216_parser___ReduceAction216___init(); /*new ReduceAction216*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable217) /*AbstractArray::add*/;
-  variable218 = NEW_parser___ReduceAction217___init(); /*new ReduceAction217*/
+  variable218 = NEW_ReduceAction217_parser___ReduceAction217___init(); /*new ReduceAction217*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable218) /*AbstractArray::add*/;
-  variable219 = NEW_parser___ReduceAction218___init(); /*new ReduceAction218*/
+  variable219 = NEW_ReduceAction218_parser___ReduceAction218___init(); /*new ReduceAction218*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable219) /*AbstractArray::add*/;
-  variable220 = NEW_parser___ReduceAction219___init(); /*new ReduceAction219*/
+  variable220 = NEW_ReduceAction219_parser___ReduceAction219___init(); /*new ReduceAction219*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable220) /*AbstractArray::add*/;
-  variable221 = NEW_parser___ReduceAction220___init(); /*new ReduceAction220*/
+  variable221 = NEW_ReduceAction220_parser___ReduceAction220___init(); /*new ReduceAction220*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable221) /*AbstractArray::add*/;
-  variable222 = NEW_parser___ReduceAction221___init(); /*new ReduceAction221*/
+  variable222 = NEW_ReduceAction221_parser___ReduceAction221___init(); /*new ReduceAction221*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable222) /*AbstractArray::add*/;
-  variable223 = NEW_parser___ReduceAction222___init(); /*new ReduceAction222*/
+  variable223 = NEW_ReduceAction222_parser___ReduceAction222___init(); /*new ReduceAction222*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable223) /*AbstractArray::add*/;
-  variable224 = NEW_parser___ReduceAction223___init(); /*new ReduceAction223*/
+  variable224 = NEW_ReduceAction223_parser___ReduceAction223___init(); /*new ReduceAction223*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable224) /*AbstractArray::add*/;
-  variable225 = NEW_parser___ReduceAction224___init(); /*new ReduceAction224*/
+  variable225 = NEW_ReduceAction224_parser___ReduceAction224___init(); /*new ReduceAction224*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable225) /*AbstractArray::add*/;
-  variable226 = NEW_parser___ReduceAction225___init(); /*new ReduceAction225*/
+  variable226 = NEW_ReduceAction225_parser___ReduceAction225___init(); /*new ReduceAction225*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable226) /*AbstractArray::add*/;
-  variable227 = NEW_parser___ReduceAction226___init(); /*new ReduceAction226*/
+  variable227 = NEW_ReduceAction226_parser___ReduceAction226___init(); /*new ReduceAction226*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable227) /*AbstractArray::add*/;
-  variable228 = NEW_parser___ReduceAction227___init(); /*new ReduceAction227*/
+  variable228 = NEW_ReduceAction227_parser___ReduceAction227___init(); /*new ReduceAction227*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable228) /*AbstractArray::add*/;
-  variable229 = NEW_parser___ReduceAction228___init(); /*new ReduceAction228*/
+  variable229 = NEW_ReduceAction228_parser___ReduceAction228___init(); /*new ReduceAction228*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable229) /*AbstractArray::add*/;
-  variable230 = NEW_parser___ReduceAction229___init(); /*new ReduceAction229*/
+  variable230 = NEW_ReduceAction229_parser___ReduceAction229___init(); /*new ReduceAction229*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable230) /*AbstractArray::add*/;
-  variable231 = NEW_parser___ReduceAction230___init(); /*new ReduceAction230*/
+  variable231 = NEW_ReduceAction230_parser___ReduceAction230___init(); /*new ReduceAction230*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable231) /*AbstractArray::add*/;
-  variable232 = NEW_parser___ReduceAction231___init(); /*new ReduceAction231*/
+  variable232 = NEW_ReduceAction231_parser___ReduceAction231___init(); /*new ReduceAction231*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable232) /*AbstractArray::add*/;
-  variable233 = NEW_parser___ReduceAction232___init(); /*new ReduceAction232*/
+  variable233 = NEW_ReduceAction232_parser___ReduceAction232___init(); /*new ReduceAction232*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable233) /*AbstractArray::add*/;
-  variable234 = NEW_parser___ReduceAction233___init(); /*new ReduceAction233*/
+  variable234 = NEW_ReduceAction233_parser___ReduceAction233___init(); /*new ReduceAction233*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable234) /*AbstractArray::add*/;
-  variable235 = NEW_parser___ReduceAction234___init(); /*new ReduceAction234*/
+  variable235 = NEW_ReduceAction234_parser___ReduceAction234___init(); /*new ReduceAction234*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable235) /*AbstractArray::add*/;
-  variable236 = NEW_parser___ReduceAction235___init(); /*new ReduceAction235*/
+  variable236 = NEW_ReduceAction235_parser___ReduceAction235___init(); /*new ReduceAction235*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable236) /*AbstractArray::add*/;
-  variable237 = NEW_parser___ReduceAction236___init(); /*new ReduceAction236*/
+  variable237 = NEW_ReduceAction236_parser___ReduceAction236___init(); /*new ReduceAction236*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable237) /*AbstractArray::add*/;
-  variable238 = NEW_parser___ReduceAction237___init(); /*new ReduceAction237*/
+  variable238 = NEW_ReduceAction237_parser___ReduceAction237___init(); /*new ReduceAction237*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable238) /*AbstractArray::add*/;
-  variable239 = NEW_parser___ReduceAction238___init(); /*new ReduceAction238*/
+  variable239 = NEW_ReduceAction238_parser___ReduceAction238___init(); /*new ReduceAction238*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable239) /*AbstractArray::add*/;
-  variable240 = NEW_parser___ReduceAction239___init(); /*new ReduceAction239*/
+  variable240 = NEW_ReduceAction239_parser___ReduceAction239___init(); /*new ReduceAction239*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable240) /*AbstractArray::add*/;
-  variable241 = NEW_parser___ReduceAction240___init(); /*new ReduceAction240*/
+  variable241 = NEW_ReduceAction240_parser___ReduceAction240___init(); /*new ReduceAction240*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable241) /*AbstractArray::add*/;
-  variable242 = NEW_parser___ReduceAction241___init(); /*new ReduceAction241*/
+  variable242 = NEW_ReduceAction241_parser___ReduceAction241___init(); /*new ReduceAction241*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable242) /*AbstractArray::add*/;
-  variable243 = NEW_parser___ReduceAction242___init(); /*new ReduceAction242*/
+  variable243 = NEW_ReduceAction242_parser___ReduceAction242___init(); /*new ReduceAction242*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable243) /*AbstractArray::add*/;
-  variable244 = NEW_parser___ReduceAction243___init(); /*new ReduceAction243*/
+  variable244 = NEW_ReduceAction243_parser___ReduceAction243___init(); /*new ReduceAction243*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable244) /*AbstractArray::add*/;
-  variable245 = NEW_parser___ReduceAction244___init(); /*new ReduceAction244*/
+  variable245 = NEW_ReduceAction244_parser___ReduceAction244___init(); /*new ReduceAction244*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable245) /*AbstractArray::add*/;
-  variable246 = NEW_parser___ReduceAction245___init(); /*new ReduceAction245*/
+  variable246 = NEW_ReduceAction245_parser___ReduceAction245___init(); /*new ReduceAction245*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable246) /*AbstractArray::add*/;
-  variable247 = NEW_parser___ReduceAction246___init(); /*new ReduceAction246*/
+  variable247 = NEW_ReduceAction246_parser___ReduceAction246___init(); /*new ReduceAction246*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable247) /*AbstractArray::add*/;
-  variable248 = NEW_parser___ReduceAction247___init(); /*new ReduceAction247*/
+  variable248 = NEW_ReduceAction247_parser___ReduceAction247___init(); /*new ReduceAction247*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable248) /*AbstractArray::add*/;
-  variable249 = NEW_parser___ReduceAction248___init(); /*new ReduceAction248*/
+  variable249 = NEW_ReduceAction248_parser___ReduceAction248___init(); /*new ReduceAction248*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable249) /*AbstractArray::add*/;
-  variable250 = NEW_parser___ReduceAction249___init(); /*new ReduceAction249*/
+  variable250 = NEW_ReduceAction249_parser___ReduceAction249___init(); /*new ReduceAction249*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable250) /*AbstractArray::add*/;
-  variable251 = NEW_parser___ReduceAction250___init(); /*new ReduceAction250*/
+  variable251 = NEW_ReduceAction250_parser___ReduceAction250___init(); /*new ReduceAction250*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable251) /*AbstractArray::add*/;
-  variable252 = NEW_parser___ReduceAction251___init(); /*new ReduceAction251*/
+  variable252 = NEW_ReduceAction251_parser___ReduceAction251___init(); /*new ReduceAction251*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable252) /*AbstractArray::add*/;
-  variable253 = NEW_parser___ReduceAction252___init(); /*new ReduceAction252*/
+  variable253 = NEW_ReduceAction252_parser___ReduceAction252___init(); /*new ReduceAction252*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable253) /*AbstractArray::add*/;
-  variable254 = NEW_parser___ReduceAction253___init(); /*new ReduceAction253*/
+  variable254 = NEW_ReduceAction253_parser___ReduceAction253___init(); /*new ReduceAction253*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable254) /*AbstractArray::add*/;
-  variable255 = NEW_parser___ReduceAction254___init(); /*new ReduceAction254*/
+  variable255 = NEW_ReduceAction254_parser___ReduceAction254___init(); /*new ReduceAction254*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable255) /*AbstractArray::add*/;
-  variable256 = NEW_parser___ReduceAction255___init(); /*new ReduceAction255*/
+  variable256 = NEW_ReduceAction255_parser___ReduceAction255___init(); /*new ReduceAction255*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable256) /*AbstractArray::add*/;
-  variable257 = NEW_parser___ReduceAction256___init(); /*new ReduceAction256*/
+  variable257 = NEW_ReduceAction256_parser___ReduceAction256___init(); /*new ReduceAction256*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable257) /*AbstractArray::add*/;
-  variable258 = NEW_parser___ReduceAction257___init(); /*new ReduceAction257*/
+  variable258 = NEW_ReduceAction257_parser___ReduceAction257___init(); /*new ReduceAction257*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable258) /*AbstractArray::add*/;
-  variable259 = NEW_parser___ReduceAction258___init(); /*new ReduceAction258*/
+  variable259 = NEW_ReduceAction258_parser___ReduceAction258___init(); /*new ReduceAction258*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable259) /*AbstractArray::add*/;
-  variable260 = NEW_parser___ReduceAction259___init(); /*new ReduceAction259*/
+  variable260 = NEW_ReduceAction259_parser___ReduceAction259___init(); /*new ReduceAction259*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable260) /*AbstractArray::add*/;
-  variable261 = NEW_parser___ReduceAction260___init(); /*new ReduceAction260*/
+  variable261 = NEW_ReduceAction260_parser___ReduceAction260___init(); /*new ReduceAction260*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable261) /*AbstractArray::add*/;
-  variable262 = NEW_parser___ReduceAction261___init(); /*new ReduceAction261*/
+  variable262 = NEW_ReduceAction261_parser___ReduceAction261___init(); /*new ReduceAction261*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable262) /*AbstractArray::add*/;
-  variable263 = NEW_parser___ReduceAction262___init(); /*new ReduceAction262*/
+  variable263 = NEW_ReduceAction262_parser___ReduceAction262___init(); /*new ReduceAction262*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable263) /*AbstractArray::add*/;
-  variable264 = NEW_parser___ReduceAction263___init(); /*new ReduceAction263*/
+  variable264 = NEW_ReduceAction263_parser___ReduceAction263___init(); /*new ReduceAction263*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable264) /*AbstractArray::add*/;
-  variable265 = NEW_parser___ReduceAction264___init(); /*new ReduceAction264*/
+  variable265 = NEW_ReduceAction264_parser___ReduceAction264___init(); /*new ReduceAction264*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable265) /*AbstractArray::add*/;
-  variable266 = NEW_parser___ReduceAction265___init(); /*new ReduceAction265*/
+  variable266 = NEW_ReduceAction265_parser___ReduceAction265___init(); /*new ReduceAction265*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable266) /*AbstractArray::add*/;
-  variable267 = NEW_parser___ReduceAction266___init(); /*new ReduceAction266*/
+  variable267 = NEW_ReduceAction266_parser___ReduceAction266___init(); /*new ReduceAction266*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable267) /*AbstractArray::add*/;
-  variable268 = NEW_parser___ReduceAction267___init(); /*new ReduceAction267*/
+  variable268 = NEW_ReduceAction267_parser___ReduceAction267___init(); /*new ReduceAction267*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable268) /*AbstractArray::add*/;
-  variable269 = NEW_parser___ReduceAction268___init(); /*new ReduceAction268*/
+  variable269 = NEW_ReduceAction268_parser___ReduceAction268___init(); /*new ReduceAction268*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable269) /*AbstractArray::add*/;
-  variable270 = NEW_parser___ReduceAction269___init(); /*new ReduceAction269*/
+  variable270 = NEW_ReduceAction269_parser___ReduceAction269___init(); /*new ReduceAction269*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable270) /*AbstractArray::add*/;
-  variable271 = NEW_parser___ReduceAction270___init(); /*new ReduceAction270*/
+  variable271 = NEW_ReduceAction270_parser___ReduceAction270___init(); /*new ReduceAction270*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable271) /*AbstractArray::add*/;
-  variable272 = NEW_parser___ReduceAction271___init(); /*new ReduceAction271*/
+  variable272 = NEW_ReduceAction271_parser___ReduceAction271___init(); /*new ReduceAction271*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable272) /*AbstractArray::add*/;
-  variable273 = NEW_parser___ReduceAction272___init(); /*new ReduceAction272*/
+  variable273 = NEW_ReduceAction272_parser___ReduceAction272___init(); /*new ReduceAction272*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable273) /*AbstractArray::add*/;
-  variable274 = NEW_parser___ReduceAction273___init(); /*new ReduceAction273*/
+  variable274 = NEW_ReduceAction273_parser___ReduceAction273___init(); /*new ReduceAction273*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable274) /*AbstractArray::add*/;
-  variable275 = NEW_parser___ReduceAction274___init(); /*new ReduceAction274*/
+  variable275 = NEW_ReduceAction274_parser___ReduceAction274___init(); /*new ReduceAction274*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable275) /*AbstractArray::add*/;
-  variable276 = NEW_parser___ReduceAction275___init(); /*new ReduceAction275*/
+  variable276 = NEW_ReduceAction275_parser___ReduceAction275___init(); /*new ReduceAction275*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable276) /*AbstractArray::add*/;
-  variable277 = NEW_parser___ReduceAction276___init(); /*new ReduceAction276*/
+  variable277 = NEW_ReduceAction276_parser___ReduceAction276___init(); /*new ReduceAction276*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable277) /*AbstractArray::add*/;
-  variable278 = NEW_parser___ReduceAction277___init(); /*new ReduceAction277*/
+  variable278 = NEW_ReduceAction277_parser___ReduceAction277___init(); /*new ReduceAction277*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable278) /*AbstractArray::add*/;
-  variable279 = NEW_parser___ReduceAction278___init(); /*new ReduceAction278*/
+  variable279 = NEW_ReduceAction278_parser___ReduceAction278___init(); /*new ReduceAction278*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable279) /*AbstractArray::add*/;
-  variable280 = NEW_parser___ReduceAction279___init(); /*new ReduceAction279*/
+  variable280 = NEW_ReduceAction279_parser___ReduceAction279___init(); /*new ReduceAction279*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable280) /*AbstractArray::add*/;
-  variable281 = NEW_parser___ReduceAction280___init(); /*new ReduceAction280*/
+  variable281 = NEW_ReduceAction280_parser___ReduceAction280___init(); /*new ReduceAction280*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable281) /*AbstractArray::add*/;
-  variable282 = NEW_parser___ReduceAction281___init(); /*new ReduceAction281*/
+  variable282 = NEW_ReduceAction281_parser___ReduceAction281___init(); /*new ReduceAction281*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable282) /*AbstractArray::add*/;
-  variable283 = NEW_parser___ReduceAction282___init(); /*new ReduceAction282*/
+  variable283 = NEW_ReduceAction282_parser___ReduceAction282___init(); /*new ReduceAction282*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable283) /*AbstractArray::add*/;
-  variable284 = NEW_parser___ReduceAction283___init(); /*new ReduceAction283*/
+  variable284 = NEW_ReduceAction283_parser___ReduceAction283___init(); /*new ReduceAction283*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable284) /*AbstractArray::add*/;
-  variable285 = NEW_parser___ReduceAction284___init(); /*new ReduceAction284*/
+  variable285 = NEW_ReduceAction284_parser___ReduceAction284___init(); /*new ReduceAction284*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable285) /*AbstractArray::add*/;
-  variable286 = NEW_parser___ReduceAction285___init(); /*new ReduceAction285*/
+  variable286 = NEW_ReduceAction285_parser___ReduceAction285___init(); /*new ReduceAction285*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable286) /*AbstractArray::add*/;
-  variable287 = NEW_parser___ReduceAction286___init(); /*new ReduceAction286*/
+  variable287 = NEW_ReduceAction286_parser___ReduceAction286___init(); /*new ReduceAction286*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable287) /*AbstractArray::add*/;
-  variable288 = NEW_parser___ReduceAction287___init(); /*new ReduceAction287*/
+  variable288 = NEW_ReduceAction287_parser___ReduceAction287___init(); /*new ReduceAction287*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable288) /*AbstractArray::add*/;
-  variable289 = NEW_parser___ReduceAction288___init(); /*new ReduceAction288*/
+  variable289 = NEW_ReduceAction288_parser___ReduceAction288___init(); /*new ReduceAction288*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable289) /*AbstractArray::add*/;
-  variable290 = NEW_parser___ReduceAction289___init(); /*new ReduceAction289*/
+  variable290 = NEW_ReduceAction289_parser___ReduceAction289___init(); /*new ReduceAction289*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable290) /*AbstractArray::add*/;
-  variable291 = NEW_parser___ReduceAction290___init(); /*new ReduceAction290*/
+  variable291 = NEW_ReduceAction290_parser___ReduceAction290___init(); /*new ReduceAction290*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable291) /*AbstractArray::add*/;
-  variable292 = NEW_parser___ReduceAction291___init(); /*new ReduceAction291*/
+  variable292 = NEW_ReduceAction291_parser___ReduceAction291___init(); /*new ReduceAction291*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable292) /*AbstractArray::add*/;
-  variable293 = NEW_parser___ReduceAction292___init(); /*new ReduceAction292*/
+  variable293 = NEW_ReduceAction292_parser___ReduceAction292___init(); /*new ReduceAction292*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable293) /*AbstractArray::add*/;
-  variable294 = NEW_parser___ReduceAction293___init(); /*new ReduceAction293*/
+  variable294 = NEW_ReduceAction293_parser___ReduceAction293___init(); /*new ReduceAction293*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable294) /*AbstractArray::add*/;
-  variable295 = NEW_parser___ReduceAction294___init(); /*new ReduceAction294*/
+  variable295 = NEW_ReduceAction294_parser___ReduceAction294___init(); /*new ReduceAction294*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable295) /*AbstractArray::add*/;
-  variable296 = NEW_parser___ReduceAction295___init(); /*new ReduceAction295*/
+  variable296 = NEW_ReduceAction295_parser___ReduceAction295___init(); /*new ReduceAction295*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable296) /*AbstractArray::add*/;
-  variable297 = NEW_parser___ReduceAction296___init(); /*new ReduceAction296*/
+  variable297 = NEW_ReduceAction296_parser___ReduceAction296___init(); /*new ReduceAction296*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable297) /*AbstractArray::add*/;
-  variable298 = NEW_parser___ReduceAction297___init(); /*new ReduceAction297*/
+  variable298 = NEW_ReduceAction297_parser___ReduceAction297___init(); /*new ReduceAction297*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable298) /*AbstractArray::add*/;
-  variable299 = NEW_parser___ReduceAction298___init(); /*new ReduceAction298*/
+  variable299 = NEW_ReduceAction298_parser___ReduceAction298___init(); /*new ReduceAction298*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable299) /*AbstractArray::add*/;
-  variable300 = NEW_parser___ReduceAction299___init(); /*new ReduceAction299*/
+  variable300 = NEW_ReduceAction299_parser___ReduceAction299___init(); /*new ReduceAction299*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable300) /*AbstractArray::add*/;
-  variable301 = NEW_parser___ReduceAction300___init(); /*new ReduceAction300*/
+  variable301 = NEW_ReduceAction300_parser___ReduceAction300___init(); /*new ReduceAction300*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable301) /*AbstractArray::add*/;
-  variable302 = NEW_parser___ReduceAction301___init(); /*new ReduceAction301*/
+  variable302 = NEW_ReduceAction301_parser___ReduceAction301___init(); /*new ReduceAction301*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable302) /*AbstractArray::add*/;
-  variable303 = NEW_parser___ReduceAction302___init(); /*new ReduceAction302*/
+  variable303 = NEW_ReduceAction302_parser___ReduceAction302___init(); /*new ReduceAction302*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable303) /*AbstractArray::add*/;
-  variable304 = NEW_parser___ReduceAction303___init(); /*new ReduceAction303*/
+  variable304 = NEW_ReduceAction303_parser___ReduceAction303___init(); /*new ReduceAction303*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable304) /*AbstractArray::add*/;
-  variable305 = NEW_parser___ReduceAction304___init(); /*new ReduceAction304*/
+  variable305 = NEW_ReduceAction304_parser___ReduceAction304___init(); /*new ReduceAction304*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable305) /*AbstractArray::add*/;
-  variable306 = NEW_parser___ReduceAction305___init(); /*new ReduceAction305*/
+  variable306 = NEW_ReduceAction305_parser___ReduceAction305___init(); /*new ReduceAction305*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable306) /*AbstractArray::add*/;
-  variable307 = NEW_parser___ReduceAction306___init(); /*new ReduceAction306*/
+  variable307 = NEW_ReduceAction306_parser___ReduceAction306___init(); /*new ReduceAction306*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable307) /*AbstractArray::add*/;
-  variable308 = NEW_parser___ReduceAction307___init(); /*new ReduceAction307*/
+  variable308 = NEW_ReduceAction307_parser___ReduceAction307___init(); /*new ReduceAction307*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable308) /*AbstractArray::add*/;
-  variable309 = NEW_parser___ReduceAction308___init(); /*new ReduceAction308*/
+  variable309 = NEW_ReduceAction308_parser___ReduceAction308___init(); /*new ReduceAction308*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable309) /*AbstractArray::add*/;
-  variable310 = NEW_parser___ReduceAction309___init(); /*new ReduceAction309*/
+  variable310 = NEW_ReduceAction309_parser___ReduceAction309___init(); /*new ReduceAction309*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable310) /*AbstractArray::add*/;
-  variable311 = NEW_parser___ReduceAction310___init(); /*new ReduceAction310*/
+  variable311 = NEW_ReduceAction310_parser___ReduceAction310___init(); /*new ReduceAction310*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable311) /*AbstractArray::add*/;
-  variable312 = NEW_parser___ReduceAction311___init(); /*new ReduceAction311*/
+  variable312 = NEW_ReduceAction311_parser___ReduceAction311___init(); /*new ReduceAction311*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable312) /*AbstractArray::add*/;
-  variable313 = NEW_parser___ReduceAction312___init(); /*new ReduceAction312*/
+  variable313 = NEW_ReduceAction312_parser___ReduceAction312___init(); /*new ReduceAction312*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable313) /*AbstractArray::add*/;
-  variable314 = NEW_parser___ReduceAction313___init(); /*new ReduceAction313*/
+  variable314 = NEW_ReduceAction313_parser___ReduceAction313___init(); /*new ReduceAction313*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable314) /*AbstractArray::add*/;
-  variable315 = NEW_parser___ReduceAction314___init(); /*new ReduceAction314*/
+  variable315 = NEW_ReduceAction314_parser___ReduceAction314___init(); /*new ReduceAction314*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable315) /*AbstractArray::add*/;
-  variable316 = NEW_parser___ReduceAction315___init(); /*new ReduceAction315*/
+  variable316 = NEW_ReduceAction315_parser___ReduceAction315___init(); /*new ReduceAction315*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable316) /*AbstractArray::add*/;
-  variable317 = NEW_parser___ReduceAction316___init(); /*new ReduceAction316*/
+  variable317 = NEW_ReduceAction316_parser___ReduceAction316___init(); /*new ReduceAction316*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable317) /*AbstractArray::add*/;
-  variable318 = NEW_parser___ReduceAction317___init(); /*new ReduceAction317*/
+  variable318 = NEW_ReduceAction317_parser___ReduceAction317___init(); /*new ReduceAction317*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable318) /*AbstractArray::add*/;
-  variable319 = NEW_parser___ReduceAction318___init(); /*new ReduceAction318*/
+  variable319 = NEW_ReduceAction318_parser___ReduceAction318___init(); /*new ReduceAction318*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable319) /*AbstractArray::add*/;
-  variable320 = NEW_parser___ReduceAction319___init(); /*new ReduceAction319*/
+  variable320 = NEW_ReduceAction319_parser___ReduceAction319___init(); /*new ReduceAction319*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable320) /*AbstractArray::add*/;
-  variable321 = NEW_parser___ReduceAction320___init(); /*new ReduceAction320*/
+  variable321 = NEW_ReduceAction320_parser___ReduceAction320___init(); /*new ReduceAction320*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable321) /*AbstractArray::add*/;
-  variable322 = NEW_parser___ReduceAction321___init(); /*new ReduceAction321*/
+  variable322 = NEW_ReduceAction321_parser___ReduceAction321___init(); /*new ReduceAction321*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable322) /*AbstractArray::add*/;
-  variable323 = NEW_parser___ReduceAction322___init(); /*new ReduceAction322*/
+  variable323 = NEW_ReduceAction322_parser___ReduceAction322___init(); /*new ReduceAction322*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable323) /*AbstractArray::add*/;
-  variable324 = NEW_parser___ReduceAction323___init(); /*new ReduceAction323*/
+  variable324 = NEW_ReduceAction323_parser___ReduceAction323___init(); /*new ReduceAction323*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable324) /*AbstractArray::add*/;
-  variable325 = NEW_parser___ReduceAction324___init(); /*new ReduceAction324*/
+  variable325 = NEW_ReduceAction324_parser___ReduceAction324___init(); /*new ReduceAction324*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable325) /*AbstractArray::add*/;
-  variable326 = NEW_parser___ReduceAction325___init(); /*new ReduceAction325*/
+  variable326 = NEW_ReduceAction325_parser___ReduceAction325___init(); /*new ReduceAction325*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable326) /*AbstractArray::add*/;
-  variable327 = NEW_parser___ReduceAction326___init(); /*new ReduceAction326*/
+  variable327 = NEW_ReduceAction326_parser___ReduceAction326___init(); /*new ReduceAction326*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable327) /*AbstractArray::add*/;
-  variable328 = NEW_parser___ReduceAction327___init(); /*new ReduceAction327*/
+  variable328 = NEW_ReduceAction327_parser___ReduceAction327___init(); /*new ReduceAction327*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable328) /*AbstractArray::add*/;
-  variable329 = NEW_parser___ReduceAction328___init(); /*new ReduceAction328*/
+  variable329 = NEW_ReduceAction328_parser___ReduceAction328___init(); /*new ReduceAction328*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable329) /*AbstractArray::add*/;
-  variable330 = NEW_parser___ReduceAction329___init(); /*new ReduceAction329*/
+  variable330 = NEW_ReduceAction329_parser___ReduceAction329___init(); /*new ReduceAction329*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable330) /*AbstractArray::add*/;
-  variable331 = NEW_parser___ReduceAction330___init(); /*new ReduceAction330*/
+  variable331 = NEW_ReduceAction330_parser___ReduceAction330___init(); /*new ReduceAction330*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable331) /*AbstractArray::add*/;
-  variable332 = NEW_parser___ReduceAction331___init(); /*new ReduceAction331*/
+  variable332 = NEW_ReduceAction331_parser___ReduceAction331___init(); /*new ReduceAction331*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable332) /*AbstractArray::add*/;
-  variable333 = NEW_parser___ReduceAction332___init(); /*new ReduceAction332*/
+  variable333 = NEW_ReduceAction332_parser___ReduceAction332___init(); /*new ReduceAction332*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable333) /*AbstractArray::add*/;
-  variable334 = NEW_parser___ReduceAction333___init(); /*new ReduceAction333*/
+  variable334 = NEW_ReduceAction333_parser___ReduceAction333___init(); /*new ReduceAction333*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable334) /*AbstractArray::add*/;
-  variable335 = NEW_parser___ReduceAction334___init(); /*new ReduceAction334*/
+  variable335 = NEW_ReduceAction334_parser___ReduceAction334___init(); /*new ReduceAction334*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable335) /*AbstractArray::add*/;
-  variable336 = NEW_parser___ReduceAction335___init(); /*new ReduceAction335*/
+  variable336 = NEW_ReduceAction335_parser___ReduceAction335___init(); /*new ReduceAction335*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable336) /*AbstractArray::add*/;
-  variable337 = NEW_parser___ReduceAction336___init(); /*new ReduceAction336*/
+  variable337 = NEW_ReduceAction336_parser___ReduceAction336___init(); /*new ReduceAction336*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable337) /*AbstractArray::add*/;
-  variable338 = NEW_parser___ReduceAction337___init(); /*new ReduceAction337*/
+  variable338 = NEW_ReduceAction337_parser___ReduceAction337___init(); /*new ReduceAction337*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable338) /*AbstractArray::add*/;
-  variable339 = NEW_parser___ReduceAction338___init(); /*new ReduceAction338*/
+  variable339 = NEW_ReduceAction338_parser___ReduceAction338___init(); /*new ReduceAction338*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable339) /*AbstractArray::add*/;
-  variable340 = NEW_parser___ReduceAction339___init(); /*new ReduceAction339*/
+  variable340 = NEW_ReduceAction339_parser___ReduceAction339___init(); /*new ReduceAction339*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable340) /*AbstractArray::add*/;
-  variable341 = NEW_parser___ReduceAction340___init(); /*new ReduceAction340*/
+  variable341 = NEW_ReduceAction340_parser___ReduceAction340___init(); /*new ReduceAction340*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable341) /*AbstractArray::add*/;
-  variable342 = NEW_parser___ReduceAction341___init(); /*new ReduceAction341*/
+  variable342 = NEW_ReduceAction341_parser___ReduceAction341___init(); /*new ReduceAction341*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable342) /*AbstractArray::add*/;
-  variable343 = NEW_parser___ReduceAction342___init(); /*new ReduceAction342*/
+  variable343 = NEW_ReduceAction342_parser___ReduceAction342___init(); /*new ReduceAction342*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable343) /*AbstractArray::add*/;
-  variable344 = NEW_parser___ReduceAction343___init(); /*new ReduceAction343*/
+  variable344 = NEW_ReduceAction343_parser___ReduceAction343___init(); /*new ReduceAction343*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable344) /*AbstractArray::add*/;
-  variable345 = NEW_parser___ReduceAction344___init(); /*new ReduceAction344*/
+  variable345 = NEW_ReduceAction344_parser___ReduceAction344___init(); /*new ReduceAction344*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable345) /*AbstractArray::add*/;
-  variable346 = NEW_parser___ReduceAction345___init(); /*new ReduceAction345*/
+  variable346 = NEW_ReduceAction345_parser___ReduceAction345___init(); /*new ReduceAction345*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable346) /*AbstractArray::add*/;
-  variable347 = NEW_parser___ReduceAction346___init(); /*new ReduceAction346*/
+  variable347 = NEW_ReduceAction346_parser___ReduceAction346___init(); /*new ReduceAction346*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable347) /*AbstractArray::add*/;
-  variable348 = NEW_parser___ReduceAction347___init(); /*new ReduceAction347*/
+  variable348 = NEW_ReduceAction347_parser___ReduceAction347___init(); /*new ReduceAction347*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable348) /*AbstractArray::add*/;
-  variable349 = NEW_parser___ReduceAction348___init(); /*new ReduceAction348*/
+  variable349 = NEW_ReduceAction348_parser___ReduceAction348___init(); /*new ReduceAction348*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable349) /*AbstractArray::add*/;
-  variable350 = NEW_parser___ReduceAction349___init(); /*new ReduceAction349*/
+  variable350 = NEW_ReduceAction349_parser___ReduceAction349___init(); /*new ReduceAction349*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable350) /*AbstractArray::add*/;
-  variable351 = NEW_parser___ReduceAction350___init(); /*new ReduceAction350*/
+  variable351 = NEW_ReduceAction350_parser___ReduceAction350___init(); /*new ReduceAction350*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable351) /*AbstractArray::add*/;
-  variable352 = NEW_parser___ReduceAction351___init(); /*new ReduceAction351*/
+  variable352 = NEW_ReduceAction351_parser___ReduceAction351___init(); /*new ReduceAction351*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable352) /*AbstractArray::add*/;
-  variable353 = NEW_parser___ReduceAction352___init(); /*new ReduceAction352*/
+  variable353 = NEW_ReduceAction352_parser___ReduceAction352___init(); /*new ReduceAction352*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable353) /*AbstractArray::add*/;
-  variable354 = NEW_parser___ReduceAction353___init(); /*new ReduceAction353*/
+  variable354 = NEW_ReduceAction353_parser___ReduceAction353___init(); /*new ReduceAction353*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable354) /*AbstractArray::add*/;
-  variable355 = NEW_parser___ReduceAction354___init(); /*new ReduceAction354*/
+  variable355 = NEW_ReduceAction354_parser___ReduceAction354___init(); /*new ReduceAction354*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable355) /*AbstractArray::add*/;
-  variable356 = NEW_parser___ReduceAction355___init(); /*new ReduceAction355*/
+  variable356 = NEW_ReduceAction355_parser___ReduceAction355___init(); /*new ReduceAction355*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable356) /*AbstractArray::add*/;
-  variable357 = NEW_parser___ReduceAction356___init(); /*new ReduceAction356*/
+  variable357 = NEW_ReduceAction356_parser___ReduceAction356___init(); /*new ReduceAction356*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable357) /*AbstractArray::add*/;
-  variable358 = NEW_parser___ReduceAction357___init(); /*new ReduceAction357*/
+  variable358 = NEW_ReduceAction357_parser___ReduceAction357___init(); /*new ReduceAction357*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable358) /*AbstractArray::add*/;
-  variable359 = NEW_parser___ReduceAction358___init(); /*new ReduceAction358*/
+  variable359 = NEW_ReduceAction358_parser___ReduceAction358___init(); /*new ReduceAction358*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable359) /*AbstractArray::add*/;
-  variable360 = NEW_parser___ReduceAction359___init(); /*new ReduceAction359*/
+  variable360 = NEW_ReduceAction359_parser___ReduceAction359___init(); /*new ReduceAction359*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable360) /*AbstractArray::add*/;
-  variable361 = NEW_parser___ReduceAction360___init(); /*new ReduceAction360*/
+  variable361 = NEW_ReduceAction360_parser___ReduceAction360___init(); /*new ReduceAction360*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable361) /*AbstractArray::add*/;
-  variable362 = NEW_parser___ReduceAction361___init(); /*new ReduceAction361*/
+  variable362 = NEW_ReduceAction361_parser___ReduceAction361___init(); /*new ReduceAction361*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable362) /*AbstractArray::add*/;
-  variable363 = NEW_parser___ReduceAction362___init(); /*new ReduceAction362*/
+  variable363 = NEW_ReduceAction362_parser___ReduceAction362___init(); /*new ReduceAction362*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable363) /*AbstractArray::add*/;
-  variable364 = NEW_parser___ReduceAction363___init(); /*new ReduceAction363*/
+  variable364 = NEW_ReduceAction363_parser___ReduceAction363___init(); /*new ReduceAction363*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable364) /*AbstractArray::add*/;
-  variable365 = NEW_parser___ReduceAction364___init(); /*new ReduceAction364*/
+  variable365 = NEW_ReduceAction364_parser___ReduceAction364___init(); /*new ReduceAction364*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable365) /*AbstractArray::add*/;
-  variable366 = NEW_parser___ReduceAction365___init(); /*new ReduceAction365*/
+  variable366 = NEW_ReduceAction365_parser___ReduceAction365___init(); /*new ReduceAction365*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable366) /*AbstractArray::add*/;
-  variable367 = NEW_parser___ReduceAction366___init(); /*new ReduceAction366*/
+  variable367 = NEW_ReduceAction366_parser___ReduceAction366___init(); /*new ReduceAction366*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable367) /*AbstractArray::add*/;
-  variable368 = NEW_parser___ReduceAction367___init(); /*new ReduceAction367*/
+  variable368 = NEW_ReduceAction367_parser___ReduceAction367___init(); /*new ReduceAction367*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable368) /*AbstractArray::add*/;
-  variable369 = NEW_parser___ReduceAction368___init(); /*new ReduceAction368*/
+  variable369 = NEW_ReduceAction368_parser___ReduceAction368___init(); /*new ReduceAction368*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable369) /*AbstractArray::add*/;
-  variable370 = NEW_parser___ReduceAction369___init(); /*new ReduceAction369*/
+  variable370 = NEW_ReduceAction369_parser___ReduceAction369___init(); /*new ReduceAction369*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable370) /*AbstractArray::add*/;
-  variable371 = NEW_parser___ReduceAction370___init(); /*new ReduceAction370*/
+  variable371 = NEW_ReduceAction370_parser___ReduceAction370___init(); /*new ReduceAction370*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable371) /*AbstractArray::add*/;
-  variable372 = NEW_parser___ReduceAction371___init(); /*new ReduceAction371*/
+  variable372 = NEW_ReduceAction371_parser___ReduceAction371___init(); /*new ReduceAction371*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable372) /*AbstractArray::add*/;
-  variable373 = NEW_parser___ReduceAction372___init(); /*new ReduceAction372*/
+  variable373 = NEW_ReduceAction372_parser___ReduceAction372___init(); /*new ReduceAction372*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable373) /*AbstractArray::add*/;
-  variable374 = NEW_parser___ReduceAction373___init(); /*new ReduceAction373*/
+  variable374 = NEW_ReduceAction373_parser___ReduceAction373___init(); /*new ReduceAction373*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable374) /*AbstractArray::add*/;
-  variable375 = NEW_parser___ReduceAction374___init(); /*new ReduceAction374*/
+  variable375 = NEW_ReduceAction374_parser___ReduceAction374___init(); /*new ReduceAction374*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable375) /*AbstractArray::add*/;
-  variable376 = NEW_parser___ReduceAction375___init(); /*new ReduceAction375*/
+  variable376 = NEW_ReduceAction375_parser___ReduceAction375___init(); /*new ReduceAction375*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable376) /*AbstractArray::add*/;
-  variable377 = NEW_parser___ReduceAction376___init(); /*new ReduceAction376*/
+  variable377 = NEW_ReduceAction376_parser___ReduceAction376___init(); /*new ReduceAction376*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable377) /*AbstractArray::add*/;
-  variable378 = NEW_parser___ReduceAction377___init(); /*new ReduceAction377*/
+  variable378 = NEW_ReduceAction377_parser___ReduceAction377___init(); /*new ReduceAction377*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable378) /*AbstractArray::add*/;
-  variable379 = NEW_parser___ReduceAction378___init(); /*new ReduceAction378*/
+  variable379 = NEW_ReduceAction378_parser___ReduceAction378___init(); /*new ReduceAction378*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable379) /*AbstractArray::add*/;
-  variable380 = NEW_parser___ReduceAction379___init(); /*new ReduceAction379*/
+  variable380 = NEW_ReduceAction379_parser___ReduceAction379___init(); /*new ReduceAction379*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable380) /*AbstractArray::add*/;
-  variable381 = NEW_parser___ReduceAction380___init(); /*new ReduceAction380*/
+  variable381 = NEW_ReduceAction380_parser___ReduceAction380___init(); /*new ReduceAction380*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable381) /*AbstractArray::add*/;
-  variable382 = NEW_parser___ReduceAction381___init(); /*new ReduceAction381*/
+  variable382 = NEW_ReduceAction381_parser___ReduceAction381___init(); /*new ReduceAction381*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable382) /*AbstractArray::add*/;
-  variable383 = NEW_parser___ReduceAction382___init(); /*new ReduceAction382*/
+  variable383 = NEW_ReduceAction382_parser___ReduceAction382___init(); /*new ReduceAction382*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable383) /*AbstractArray::add*/;
-  variable384 = NEW_parser___ReduceAction383___init(); /*new ReduceAction383*/
+  variable384 = NEW_ReduceAction383_parser___ReduceAction383___init(); /*new ReduceAction383*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable384) /*AbstractArray::add*/;
-  variable385 = NEW_parser___ReduceAction384___init(); /*new ReduceAction384*/
+  variable385 = NEW_ReduceAction384_parser___ReduceAction384___init(); /*new ReduceAction384*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable385) /*AbstractArray::add*/;
-  variable386 = NEW_parser___ReduceAction385___init(); /*new ReduceAction385*/
+  variable386 = NEW_ReduceAction385_parser___ReduceAction385___init(); /*new ReduceAction385*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable386) /*AbstractArray::add*/;
-  variable387 = NEW_parser___ReduceAction386___init(); /*new ReduceAction386*/
+  variable387 = NEW_ReduceAction386_parser___ReduceAction386___init(); /*new ReduceAction386*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable387) /*AbstractArray::add*/;
-  variable388 = NEW_parser___ReduceAction387___init(); /*new ReduceAction387*/
+  variable388 = NEW_ReduceAction387_parser___ReduceAction387___init(); /*new ReduceAction387*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable388) /*AbstractArray::add*/;
-  variable389 = NEW_parser___ReduceAction388___init(); /*new ReduceAction388*/
+  variable389 = NEW_ReduceAction388_parser___ReduceAction388___init(); /*new ReduceAction388*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable389) /*AbstractArray::add*/;
-  variable390 = NEW_parser___ReduceAction389___init(); /*new ReduceAction389*/
+  variable390 = NEW_ReduceAction389_parser___ReduceAction389___init(); /*new ReduceAction389*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable390) /*AbstractArray::add*/;
-  variable391 = NEW_parser___ReduceAction390___init(); /*new ReduceAction390*/
+  variable391 = NEW_ReduceAction390_parser___ReduceAction390___init(); /*new ReduceAction390*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable391) /*AbstractArray::add*/;
-  variable392 = NEW_parser___ReduceAction391___init(); /*new ReduceAction391*/
+  variable392 = NEW_ReduceAction391_parser___ReduceAction391___init(); /*new ReduceAction391*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable392) /*AbstractArray::add*/;
-  variable393 = NEW_parser___ReduceAction392___init(); /*new ReduceAction392*/
+  variable393 = NEW_ReduceAction392_parser___ReduceAction392___init(); /*new ReduceAction392*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable393) /*AbstractArray::add*/;
-  variable394 = NEW_parser___ReduceAction393___init(); /*new ReduceAction393*/
+  variable394 = NEW_ReduceAction393_parser___ReduceAction393___init(); /*new ReduceAction393*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable394) /*AbstractArray::add*/;
-  variable395 = NEW_parser___ReduceAction394___init(); /*new ReduceAction394*/
+  variable395 = NEW_ReduceAction394_parser___ReduceAction394___init(); /*new ReduceAction394*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable395) /*AbstractArray::add*/;
-  variable396 = NEW_parser___ReduceAction395___init(); /*new ReduceAction395*/
+  variable396 = NEW_ReduceAction395_parser___ReduceAction395___init(); /*new ReduceAction395*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable396) /*AbstractArray::add*/;
-  variable397 = NEW_parser___ReduceAction396___init(); /*new ReduceAction396*/
+  variable397 = NEW_ReduceAction396_parser___ReduceAction396___init(); /*new ReduceAction396*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable397) /*AbstractArray::add*/;
-  variable398 = NEW_parser___ReduceAction397___init(); /*new ReduceAction397*/
+  variable398 = NEW_ReduceAction397_parser___ReduceAction397___init(); /*new ReduceAction397*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable398) /*AbstractArray::add*/;
-  variable399 = NEW_parser___ReduceAction398___init(); /*new ReduceAction398*/
+  variable399 = NEW_ReduceAction398_parser___ReduceAction398___init(); /*new ReduceAction398*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable399) /*AbstractArray::add*/;
-  variable400 = NEW_parser___ReduceAction399___init(); /*new ReduceAction399*/
+  variable400 = NEW_ReduceAction399_parser___ReduceAction399___init(); /*new ReduceAction399*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable400) /*AbstractArray::add*/;
-  variable401 = NEW_parser___ReduceAction400___init(); /*new ReduceAction400*/
+  variable401 = NEW_ReduceAction400_parser___ReduceAction400___init(); /*new ReduceAction400*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable401) /*AbstractArray::add*/;
-  variable402 = NEW_parser___ReduceAction401___init(); /*new ReduceAction401*/
+  variable402 = NEW_ReduceAction401_parser___ReduceAction401___init(); /*new ReduceAction401*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable402) /*AbstractArray::add*/;
-  variable403 = NEW_parser___ReduceAction402___init(); /*new ReduceAction402*/
+  variable403 = NEW_ReduceAction402_parser___ReduceAction402___init(); /*new ReduceAction402*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable403) /*AbstractArray::add*/;
-  variable404 = NEW_parser___ReduceAction403___init(); /*new ReduceAction403*/
+  variable404 = NEW_ReduceAction403_parser___ReduceAction403___init(); /*new ReduceAction403*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable404) /*AbstractArray::add*/;
-  variable405 = NEW_parser___ReduceAction404___init(); /*new ReduceAction404*/
+  variable405 = NEW_ReduceAction404_parser___ReduceAction404___init(); /*new ReduceAction404*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable405) /*AbstractArray::add*/;
-  variable406 = NEW_parser___ReduceAction405___init(); /*new ReduceAction405*/
+  variable406 = NEW_ReduceAction405_parser___ReduceAction405___init(); /*new ReduceAction405*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable406) /*AbstractArray::add*/;
-  variable407 = NEW_parser___ReduceAction406___init(); /*new ReduceAction406*/
+  variable407 = NEW_ReduceAction406_parser___ReduceAction406___init(); /*new ReduceAction406*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable407) /*AbstractArray::add*/;
-  variable408 = NEW_parser___ReduceAction407___init(); /*new ReduceAction407*/
+  variable408 = NEW_ReduceAction407_parser___ReduceAction407___init(); /*new ReduceAction407*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable408) /*AbstractArray::add*/;
-  variable409 = NEW_parser___ReduceAction408___init(); /*new ReduceAction408*/
+  variable409 = NEW_ReduceAction408_parser___ReduceAction408___init(); /*new ReduceAction408*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable409) /*AbstractArray::add*/;
-  variable410 = NEW_parser___ReduceAction409___init(); /*new ReduceAction409*/
+  variable410 = NEW_ReduceAction409_parser___ReduceAction409___init(); /*new ReduceAction409*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable410) /*AbstractArray::add*/;
-  variable411 = NEW_parser___ReduceAction410___init(); /*new ReduceAction410*/
+  variable411 = NEW_ReduceAction410_parser___ReduceAction410___init(); /*new ReduceAction410*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable411) /*AbstractArray::add*/;
-  variable412 = NEW_parser___ReduceAction411___init(); /*new ReduceAction411*/
+  variable412 = NEW_ReduceAction411_parser___ReduceAction411___init(); /*new ReduceAction411*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable412) /*AbstractArray::add*/;
-  variable413 = NEW_parser___ReduceAction412___init(); /*new ReduceAction412*/
+  variable413 = NEW_ReduceAction412_parser___ReduceAction412___init(); /*new ReduceAction412*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable413) /*AbstractArray::add*/;
-  variable414 = NEW_parser___ReduceAction413___init(); /*new ReduceAction413*/
+  variable414 = NEW_ReduceAction413_parser___ReduceAction413___init(); /*new ReduceAction413*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable414) /*AbstractArray::add*/;
-  variable415 = NEW_parser___ReduceAction414___init(); /*new ReduceAction414*/
+  variable415 = NEW_ReduceAction414_parser___ReduceAction414___init(); /*new ReduceAction414*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable415) /*AbstractArray::add*/;
-  variable416 = NEW_parser___ReduceAction415___init(); /*new ReduceAction415*/
+  variable416 = NEW_ReduceAction415_parser___ReduceAction415___init(); /*new ReduceAction415*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable416) /*AbstractArray::add*/;
-  variable417 = NEW_parser___ReduceAction416___init(); /*new ReduceAction416*/
+  variable417 = NEW_ReduceAction416_parser___ReduceAction416___init(); /*new ReduceAction416*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable417) /*AbstractArray::add*/;
-  variable418 = NEW_parser___ReduceAction417___init(); /*new ReduceAction417*/
+  variable418 = NEW_ReduceAction417_parser___ReduceAction417___init(); /*new ReduceAction417*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable418) /*AbstractArray::add*/;
-  variable419 = NEW_parser___ReduceAction418___init(); /*new ReduceAction418*/
+  variable419 = NEW_ReduceAction418_parser___ReduceAction418___init(); /*new ReduceAction418*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable419) /*AbstractArray::add*/;
-  variable420 = NEW_parser___ReduceAction419___init(); /*new ReduceAction419*/
+  variable420 = NEW_ReduceAction419_parser___ReduceAction419___init(); /*new ReduceAction419*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable420) /*AbstractArray::add*/;
-  variable421 = NEW_parser___ReduceAction420___init(); /*new ReduceAction420*/
+  variable421 = NEW_ReduceAction420_parser___ReduceAction420___init(); /*new ReduceAction420*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable421) /*AbstractArray::add*/;
-  variable422 = NEW_parser___ReduceAction421___init(); /*new ReduceAction421*/
+  variable422 = NEW_ReduceAction421_parser___ReduceAction421___init(); /*new ReduceAction421*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable422) /*AbstractArray::add*/;
-  variable423 = NEW_parser___ReduceAction422___init(); /*new ReduceAction422*/
+  variable423 = NEW_ReduceAction422_parser___ReduceAction422___init(); /*new ReduceAction422*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable423) /*AbstractArray::add*/;
-  variable424 = NEW_parser___ReduceAction423___init(); /*new ReduceAction423*/
+  variable424 = NEW_ReduceAction423_parser___ReduceAction423___init(); /*new ReduceAction423*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable424) /*AbstractArray::add*/;
-  variable425 = NEW_parser___ReduceAction424___init(); /*new ReduceAction424*/
+  variable425 = NEW_ReduceAction424_parser___ReduceAction424___init(); /*new ReduceAction424*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable425) /*AbstractArray::add*/;
-  variable426 = NEW_parser___ReduceAction425___init(); /*new ReduceAction425*/
+  variable426 = NEW_ReduceAction425_parser___ReduceAction425___init(); /*new ReduceAction425*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable426) /*AbstractArray::add*/;
-  variable427 = NEW_parser___ReduceAction426___init(); /*new ReduceAction426*/
+  variable427 = NEW_ReduceAction426_parser___ReduceAction426___init(); /*new ReduceAction426*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable427) /*AbstractArray::add*/;
-  variable428 = NEW_parser___ReduceAction427___init(); /*new ReduceAction427*/
+  variable428 = NEW_ReduceAction427_parser___ReduceAction427___init(); /*new ReduceAction427*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable428) /*AbstractArray::add*/;
-  variable429 = NEW_parser___ReduceAction428___init(); /*new ReduceAction428*/
+  variable429 = NEW_ReduceAction428_parser___ReduceAction428___init(); /*new ReduceAction428*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable429) /*AbstractArray::add*/;
-  variable430 = NEW_parser___ReduceAction429___init(); /*new ReduceAction429*/
+  variable430 = NEW_ReduceAction429_parser___ReduceAction429___init(); /*new ReduceAction429*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable430) /*AbstractArray::add*/;
-  variable431 = NEW_parser___ReduceAction430___init(); /*new ReduceAction430*/
+  variable431 = NEW_ReduceAction430_parser___ReduceAction430___init(); /*new ReduceAction430*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable431) /*AbstractArray::add*/;
-  variable432 = NEW_parser___ReduceAction431___init(); /*new ReduceAction431*/
+  variable432 = NEW_ReduceAction431_parser___ReduceAction431___init(); /*new ReduceAction431*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable432) /*AbstractArray::add*/;
-  variable433 = NEW_parser___ReduceAction432___init(); /*new ReduceAction432*/
+  variable433 = NEW_ReduceAction432_parser___ReduceAction432___init(); /*new ReduceAction432*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable433) /*AbstractArray::add*/;
-  variable434 = NEW_parser___ReduceAction433___init(); /*new ReduceAction433*/
+  variable434 = NEW_ReduceAction433_parser___ReduceAction433___init(); /*new ReduceAction433*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable434) /*AbstractArray::add*/;
-  variable435 = NEW_parser___ReduceAction434___init(); /*new ReduceAction434*/
+  variable435 = NEW_ReduceAction434_parser___ReduceAction434___init(); /*new ReduceAction434*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable435) /*AbstractArray::add*/;
-  variable436 = NEW_parser___ReduceAction435___init(); /*new ReduceAction435*/
+  variable436 = NEW_ReduceAction435_parser___ReduceAction435___init(); /*new ReduceAction435*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable436) /*AbstractArray::add*/;
-  variable437 = NEW_parser___ReduceAction436___init(); /*new ReduceAction436*/
+  variable437 = NEW_ReduceAction436_parser___ReduceAction436___init(); /*new ReduceAction436*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable437) /*AbstractArray::add*/;
-  variable438 = NEW_parser___ReduceAction437___init(); /*new ReduceAction437*/
+  variable438 = NEW_ReduceAction437_parser___ReduceAction437___init(); /*new ReduceAction437*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable438) /*AbstractArray::add*/;
-  variable439 = NEW_parser___ReduceAction438___init(); /*new ReduceAction438*/
+  variable439 = NEW_ReduceAction438_parser___ReduceAction438___init(); /*new ReduceAction438*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable439) /*AbstractArray::add*/;
-  variable440 = NEW_parser___ReduceAction439___init(); /*new ReduceAction439*/
+  variable440 = NEW_ReduceAction439_parser___ReduceAction439___init(); /*new ReduceAction439*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable440) /*AbstractArray::add*/;
-  variable441 = NEW_parser___ReduceAction440___init(); /*new ReduceAction440*/
+  variable441 = NEW_ReduceAction440_parser___ReduceAction440___init(); /*new ReduceAction440*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable441) /*AbstractArray::add*/;
-  variable442 = NEW_parser___ReduceAction441___init(); /*new ReduceAction441*/
+  variable442 = NEW_ReduceAction441_parser___ReduceAction441___init(); /*new ReduceAction441*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable442) /*AbstractArray::add*/;
-  variable443 = NEW_parser___ReduceAction442___init(); /*new ReduceAction442*/
+  variable443 = NEW_ReduceAction442_parser___ReduceAction442___init(); /*new ReduceAction442*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable443) /*AbstractArray::add*/;
-  variable444 = NEW_parser___ReduceAction443___init(); /*new ReduceAction443*/
+  variable444 = NEW_ReduceAction443_parser___ReduceAction443___init(); /*new ReduceAction443*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable444) /*AbstractArray::add*/;
-  variable445 = NEW_parser___ReduceAction444___init(); /*new ReduceAction444*/
+  variable445 = NEW_ReduceAction444_parser___ReduceAction444___init(); /*new ReduceAction444*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable445) /*AbstractArray::add*/;
-  variable446 = NEW_parser___ReduceAction445___init(); /*new ReduceAction445*/
+  variable446 = NEW_ReduceAction445_parser___ReduceAction445___init(); /*new ReduceAction445*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable446) /*AbstractArray::add*/;
-  variable447 = NEW_parser___ReduceAction446___init(); /*new ReduceAction446*/
+  variable447 = NEW_ReduceAction446_parser___ReduceAction446___init(); /*new ReduceAction446*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable447) /*AbstractArray::add*/;
-  variable448 = NEW_parser___ReduceAction447___init(); /*new ReduceAction447*/
+  variable448 = NEW_ReduceAction447_parser___ReduceAction447___init(); /*new ReduceAction447*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable448) /*AbstractArray::add*/;
-  variable449 = NEW_parser___ReduceAction448___init(); /*new ReduceAction448*/
+  variable449 = NEW_ReduceAction448_parser___ReduceAction448___init(); /*new ReduceAction448*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable449) /*AbstractArray::add*/;
-  variable450 = NEW_parser___ReduceAction449___init(); /*new ReduceAction449*/
+  variable450 = NEW_ReduceAction449_parser___ReduceAction449___init(); /*new ReduceAction449*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable450) /*AbstractArray::add*/;
-  variable451 = NEW_parser___ReduceAction450___init(); /*new ReduceAction450*/
+  variable451 = NEW_ReduceAction450_parser___ReduceAction450___init(); /*new ReduceAction450*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable451) /*AbstractArray::add*/;
-  variable452 = NEW_parser___ReduceAction451___init(); /*new ReduceAction451*/
+  variable452 = NEW_ReduceAction451_parser___ReduceAction451___init(); /*new ReduceAction451*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable452) /*AbstractArray::add*/;
-  variable453 = NEW_parser___ReduceAction452___init(); /*new ReduceAction452*/
+  variable453 = NEW_ReduceAction452_parser___ReduceAction452___init(); /*new ReduceAction452*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable453) /*AbstractArray::add*/;
-  variable454 = NEW_parser___ReduceAction453___init(); /*new ReduceAction453*/
+  variable454 = NEW_ReduceAction453_parser___ReduceAction453___init(); /*new ReduceAction453*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable454) /*AbstractArray::add*/;
-  variable455 = NEW_parser___ReduceAction454___init(); /*new ReduceAction454*/
+  variable455 = NEW_ReduceAction454_parser___ReduceAction454___init(); /*new ReduceAction454*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable455) /*AbstractArray::add*/;
-  variable456 = NEW_parser___ReduceAction455___init(); /*new ReduceAction455*/
+  variable456 = NEW_ReduceAction455_parser___ReduceAction455___init(); /*new ReduceAction455*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable456) /*AbstractArray::add*/;
-  variable457 = NEW_parser___ReduceAction456___init(); /*new ReduceAction456*/
+  variable457 = NEW_ReduceAction456_parser___ReduceAction456___init(); /*new ReduceAction456*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable457) /*AbstractArray::add*/;
-  variable458 = NEW_parser___ReduceAction457___init(); /*new ReduceAction457*/
+  variable458 = NEW_ReduceAction457_parser___ReduceAction457___init(); /*new ReduceAction457*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable458) /*AbstractArray::add*/;
-  variable459 = NEW_parser___ReduceAction458___init(); /*new ReduceAction458*/
+  variable459 = NEW_ReduceAction458_parser___ReduceAction458___init(); /*new ReduceAction458*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable459) /*AbstractArray::add*/;
-  variable460 = NEW_parser___ReduceAction459___init(); /*new ReduceAction459*/
+  variable460 = NEW_ReduceAction459_parser___ReduceAction459___init(); /*new ReduceAction459*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable460) /*AbstractArray::add*/;
-  variable461 = NEW_parser___ReduceAction460___init(); /*new ReduceAction460*/
+  variable461 = NEW_ReduceAction460_parser___ReduceAction460___init(); /*new ReduceAction460*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable461) /*AbstractArray::add*/;
-  variable462 = NEW_parser___ReduceAction461___init(); /*new ReduceAction461*/
+  variable462 = NEW_ReduceAction461_parser___ReduceAction461___init(); /*new ReduceAction461*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable462) /*AbstractArray::add*/;
-  variable463 = NEW_parser___ReduceAction462___init(); /*new ReduceAction462*/
+  variable463 = NEW_ReduceAction462_parser___ReduceAction462___init(); /*new ReduceAction462*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable463) /*AbstractArray::add*/;
-  variable464 = NEW_parser___ReduceAction463___init(); /*new ReduceAction463*/
+  variable464 = NEW_ReduceAction463_parser___ReduceAction463___init(); /*new ReduceAction463*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable464) /*AbstractArray::add*/;
-  variable465 = NEW_parser___ReduceAction464___init(); /*new ReduceAction464*/
+  variable465 = NEW_ReduceAction464_parser___ReduceAction464___init(); /*new ReduceAction464*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable465) /*AbstractArray::add*/;
-  variable466 = NEW_parser___ReduceAction465___init(); /*new ReduceAction465*/
+  variable466 = NEW_ReduceAction465_parser___ReduceAction465___init(); /*new ReduceAction465*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable466) /*AbstractArray::add*/;
-  variable467 = NEW_parser___ReduceAction466___init(); /*new ReduceAction466*/
+  variable467 = NEW_ReduceAction466_parser___ReduceAction466___init(); /*new ReduceAction466*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable467) /*AbstractArray::add*/;
-  variable468 = NEW_parser___ReduceAction467___init(); /*new ReduceAction467*/
+  variable468 = NEW_ReduceAction467_parser___ReduceAction467___init(); /*new ReduceAction467*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable468) /*AbstractArray::add*/;
-  variable469 = NEW_parser___ReduceAction468___init(); /*new ReduceAction468*/
+  variable469 = NEW_ReduceAction468_parser___ReduceAction468___init(); /*new ReduceAction468*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable469) /*AbstractArray::add*/;
-  variable470 = NEW_parser___ReduceAction469___init(); /*new ReduceAction469*/
+  variable470 = NEW_ReduceAction469_parser___ReduceAction469___init(); /*new ReduceAction469*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable470) /*AbstractArray::add*/;
-  variable471 = NEW_parser___ReduceAction470___init(); /*new ReduceAction470*/
+  variable471 = NEW_ReduceAction470_parser___ReduceAction470___init(); /*new ReduceAction470*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable471) /*AbstractArray::add*/;
-  variable472 = NEW_parser___ReduceAction471___init(); /*new ReduceAction471*/
+  variable472 = NEW_ReduceAction471_parser___ReduceAction471___init(); /*new ReduceAction471*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable472) /*AbstractArray::add*/;
-  variable473 = NEW_parser___ReduceAction472___init(); /*new ReduceAction472*/
+  variable473 = NEW_ReduceAction472_parser___ReduceAction472___init(); /*new ReduceAction472*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable473) /*AbstractArray::add*/;
-  variable474 = NEW_parser___ReduceAction473___init(); /*new ReduceAction473*/
+  variable474 = NEW_ReduceAction473_parser___ReduceAction473___init(); /*new ReduceAction473*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable474) /*AbstractArray::add*/;
-  variable475 = NEW_parser___ReduceAction474___init(); /*new ReduceAction474*/
+  variable475 = NEW_ReduceAction474_parser___ReduceAction474___init(); /*new ReduceAction474*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable475) /*AbstractArray::add*/;
-  variable476 = NEW_parser___ReduceAction475___init(); /*new ReduceAction475*/
+  variable476 = NEW_ReduceAction475_parser___ReduceAction475___init(); /*new ReduceAction475*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable476) /*AbstractArray::add*/;
-  variable477 = NEW_parser___ReduceAction476___init(); /*new ReduceAction476*/
+  variable477 = NEW_ReduceAction476_parser___ReduceAction476___init(); /*new ReduceAction476*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable477) /*AbstractArray::add*/;
-  variable478 = NEW_parser___ReduceAction477___init(); /*new ReduceAction477*/
+  variable478 = NEW_ReduceAction477_parser___ReduceAction477___init(); /*new ReduceAction477*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable478) /*AbstractArray::add*/;
-  variable479 = NEW_parser___ReduceAction478___init(); /*new ReduceAction478*/
+  variable479 = NEW_ReduceAction478_parser___ReduceAction478___init(); /*new ReduceAction478*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable479) /*AbstractArray::add*/;
-  variable480 = NEW_parser___ReduceAction479___init(); /*new ReduceAction479*/
+  variable480 = NEW_ReduceAction479_parser___ReduceAction479___init(); /*new ReduceAction479*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable480) /*AbstractArray::add*/;
-  variable481 = NEW_parser___ReduceAction480___init(); /*new ReduceAction480*/
+  variable481 = NEW_ReduceAction480_parser___ReduceAction480___init(); /*new ReduceAction480*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable481) /*AbstractArray::add*/;
-  variable482 = NEW_parser___ReduceAction481___init(); /*new ReduceAction481*/
+  variable482 = NEW_ReduceAction481_parser___ReduceAction481___init(); /*new ReduceAction481*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable482) /*AbstractArray::add*/;
-  variable483 = NEW_parser___ReduceAction482___init(); /*new ReduceAction482*/
+  variable483 = NEW_ReduceAction482_parser___ReduceAction482___init(); /*new ReduceAction482*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable483) /*AbstractArray::add*/;
-  variable484 = NEW_parser___ReduceAction483___init(); /*new ReduceAction483*/
+  variable484 = NEW_ReduceAction483_parser___ReduceAction483___init(); /*new ReduceAction483*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable484) /*AbstractArray::add*/;
-  variable485 = NEW_parser___ReduceAction484___init(); /*new ReduceAction484*/
+  variable485 = NEW_ReduceAction484_parser___ReduceAction484___init(); /*new ReduceAction484*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable485) /*AbstractArray::add*/;
-  variable486 = NEW_parser___ReduceAction485___init(); /*new ReduceAction485*/
+  variable486 = NEW_ReduceAction485_parser___ReduceAction485___init(); /*new ReduceAction485*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable486) /*AbstractArray::add*/;
-  variable487 = NEW_parser___ReduceAction486___init(); /*new ReduceAction486*/
+  variable487 = NEW_ReduceAction486_parser___ReduceAction486___init(); /*new ReduceAction486*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable487) /*AbstractArray::add*/;
-  variable488 = NEW_parser___ReduceAction487___init(); /*new ReduceAction487*/
+  variable488 = NEW_ReduceAction487_parser___ReduceAction487___init(); /*new ReduceAction487*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable488) /*AbstractArray::add*/;
-  variable489 = NEW_parser___ReduceAction488___init(); /*new ReduceAction488*/
+  variable489 = NEW_ReduceAction488_parser___ReduceAction488___init(); /*new ReduceAction488*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable489) /*AbstractArray::add*/;
-  variable490 = NEW_parser___ReduceAction489___init(); /*new ReduceAction489*/
+  variable490 = NEW_ReduceAction489_parser___ReduceAction489___init(); /*new ReduceAction489*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable490) /*AbstractArray::add*/;
-  variable491 = NEW_parser___ReduceAction490___init(); /*new ReduceAction490*/
+  variable491 = NEW_ReduceAction490_parser___ReduceAction490___init(); /*new ReduceAction490*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable491) /*AbstractArray::add*/;
-  variable492 = NEW_parser___ReduceAction491___init(); /*new ReduceAction491*/
+  variable492 = NEW_ReduceAction491_parser___ReduceAction491___init(); /*new ReduceAction491*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable492) /*AbstractArray::add*/;
-  variable493 = NEW_parser___ReduceAction492___init(); /*new ReduceAction492*/
+  variable493 = NEW_ReduceAction492_parser___ReduceAction492___init(); /*new ReduceAction492*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable493) /*AbstractArray::add*/;
-  variable494 = NEW_parser___ReduceAction493___init(); /*new ReduceAction493*/
+  variable494 = NEW_ReduceAction493_parser___ReduceAction493___init(); /*new ReduceAction493*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable494) /*AbstractArray::add*/;
-  variable495 = NEW_parser___ReduceAction494___init(); /*new ReduceAction494*/
+  variable495 = NEW_ReduceAction494_parser___ReduceAction494___init(); /*new ReduceAction494*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable495) /*AbstractArray::add*/;
-  variable496 = NEW_parser___ReduceAction495___init(); /*new ReduceAction495*/
+  variable496 = NEW_ReduceAction495_parser___ReduceAction495___init(); /*new ReduceAction495*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable496) /*AbstractArray::add*/;
-  variable497 = NEW_parser___ReduceAction496___init(); /*new ReduceAction496*/
+  variable497 = NEW_ReduceAction496_parser___ReduceAction496___init(); /*new ReduceAction496*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable497) /*AbstractArray::add*/;
-  variable498 = NEW_parser___ReduceAction497___init(); /*new ReduceAction497*/
+  variable498 = NEW_ReduceAction497_parser___ReduceAction497___init(); /*new ReduceAction497*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable498) /*AbstractArray::add*/;
-  variable499 = NEW_parser___ReduceAction498___init(); /*new ReduceAction498*/
+  variable499 = NEW_ReduceAction498_parser___ReduceAction498___init(); /*new ReduceAction498*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable499) /*AbstractArray::add*/;
-  variable500 = NEW_parser___ReduceAction499___init(); /*new ReduceAction499*/
+  variable500 = NEW_ReduceAction499_parser___ReduceAction499___init(); /*new ReduceAction499*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable500) /*AbstractArray::add*/;
-  variable501 = NEW_parser___ReduceAction500___init(); /*new ReduceAction500*/
+  variable501 = NEW_ReduceAction500_parser___ReduceAction500___init(); /*new ReduceAction500*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable501) /*AbstractArray::add*/;
-  variable502 = NEW_parser___ReduceAction501___init(); /*new ReduceAction501*/
+  variable502 = NEW_ReduceAction501_parser___ReduceAction501___init(); /*new ReduceAction501*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable502) /*AbstractArray::add*/;
-  variable503 = NEW_parser___ReduceAction502___init(); /*new ReduceAction502*/
+  variable503 = NEW_ReduceAction502_parser___ReduceAction502___init(); /*new ReduceAction502*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable503) /*AbstractArray::add*/;
-  variable504 = NEW_parser___ReduceAction503___init(); /*new ReduceAction503*/
+  variable504 = NEW_ReduceAction503_parser___ReduceAction503___init(); /*new ReduceAction503*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable504) /*AbstractArray::add*/;
-  variable505 = NEW_parser___ReduceAction504___init(); /*new ReduceAction504*/
+  variable505 = NEW_ReduceAction504_parser___ReduceAction504___init(); /*new ReduceAction504*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable505) /*AbstractArray::add*/;
-  variable506 = NEW_parser___ReduceAction505___init(); /*new ReduceAction505*/
+  variable506 = NEW_ReduceAction505_parser___ReduceAction505___init(); /*new ReduceAction505*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable506) /*AbstractArray::add*/;
-  variable507 = NEW_parser___ReduceAction506___init(); /*new ReduceAction506*/
+  variable507 = NEW_ReduceAction506_parser___ReduceAction506___init(); /*new ReduceAction506*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable507) /*AbstractArray::add*/;
-  variable508 = NEW_parser___ReduceAction507___init(); /*new ReduceAction507*/
+  variable508 = NEW_ReduceAction507_parser___ReduceAction507___init(); /*new ReduceAction507*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable508) /*AbstractArray::add*/;
-  variable509 = NEW_parser___ReduceAction508___init(); /*new ReduceAction508*/
+  variable509 = NEW_ReduceAction508_parser___ReduceAction508___init(); /*new ReduceAction508*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable509) /*AbstractArray::add*/;
-  variable510 = NEW_parser___ReduceAction509___init(); /*new ReduceAction509*/
+  variable510 = NEW_ReduceAction509_parser___ReduceAction509___init(); /*new ReduceAction509*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable510) /*AbstractArray::add*/;
-  variable511 = NEW_parser___ReduceAction510___init(); /*new ReduceAction510*/
+  variable511 = NEW_ReduceAction510_parser___ReduceAction510___init(); /*new ReduceAction510*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable511) /*AbstractArray::add*/;
-  variable512 = NEW_parser___ReduceAction511___init(); /*new ReduceAction511*/
+  variable512 = NEW_ReduceAction511_parser___ReduceAction511___init(); /*new ReduceAction511*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable512) /*AbstractArray::add*/;
-  variable513 = NEW_parser___ReduceAction512___init(); /*new ReduceAction512*/
+  variable513 = NEW_ReduceAction512_parser___ReduceAction512___init(); /*new ReduceAction512*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable513) /*AbstractArray::add*/;
-  variable514 = NEW_parser___ReduceAction513___init(); /*new ReduceAction513*/
+  variable514 = NEW_ReduceAction513_parser___ReduceAction513___init(); /*new ReduceAction513*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable514) /*AbstractArray::add*/;
-  variable515 = NEW_parser___ReduceAction514___init(); /*new ReduceAction514*/
+  variable515 = NEW_ReduceAction514_parser___ReduceAction514___init(); /*new ReduceAction514*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable515) /*AbstractArray::add*/;
-  variable516 = NEW_parser___ReduceAction515___init(); /*new ReduceAction515*/
+  variable516 = NEW_ReduceAction515_parser___ReduceAction515___init(); /*new ReduceAction515*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable516) /*AbstractArray::add*/;
-  variable517 = NEW_parser___ReduceAction516___init(); /*new ReduceAction516*/
+  variable517 = NEW_ReduceAction516_parser___ReduceAction516___init(); /*new ReduceAction516*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable517) /*AbstractArray::add*/;
-  variable518 = NEW_parser___ReduceAction517___init(); /*new ReduceAction517*/
+  variable518 = NEW_ReduceAction517_parser___ReduceAction517___init(); /*new ReduceAction517*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable518) /*AbstractArray::add*/;
-  variable519 = NEW_parser___ReduceAction518___init(); /*new ReduceAction518*/
+  variable519 = NEW_ReduceAction518_parser___ReduceAction518___init(); /*new ReduceAction518*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable519) /*AbstractArray::add*/;
-  variable520 = NEW_parser___ReduceAction519___init(); /*new ReduceAction519*/
+  variable520 = NEW_ReduceAction519_parser___ReduceAction519___init(); /*new ReduceAction519*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable520) /*AbstractArray::add*/;
-  variable521 = NEW_parser___ReduceAction520___init(); /*new ReduceAction520*/
+  variable521 = NEW_ReduceAction520_parser___ReduceAction520___init(); /*new ReduceAction520*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable521) /*AbstractArray::add*/;
-  variable522 = NEW_parser___ReduceAction521___init(); /*new ReduceAction521*/
+  variable522 = NEW_ReduceAction521_parser___ReduceAction521___init(); /*new ReduceAction521*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable522) /*AbstractArray::add*/;
-  variable523 = NEW_parser___ReduceAction522___init(); /*new ReduceAction522*/
+  variable523 = NEW_ReduceAction522_parser___ReduceAction522___init(); /*new ReduceAction522*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable523) /*AbstractArray::add*/;
-  variable524 = NEW_parser___ReduceAction523___init(); /*new ReduceAction523*/
+  variable524 = NEW_ReduceAction523_parser___ReduceAction523___init(); /*new ReduceAction523*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable524) /*AbstractArray::add*/;
-  variable525 = NEW_parser___ReduceAction524___init(); /*new ReduceAction524*/
+  variable525 = NEW_ReduceAction524_parser___ReduceAction524___init(); /*new ReduceAction524*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable525) /*AbstractArray::add*/;
-  variable526 = NEW_parser___ReduceAction525___init(); /*new ReduceAction525*/
+  variable526 = NEW_ReduceAction525_parser___ReduceAction525___init(); /*new ReduceAction525*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable526) /*AbstractArray::add*/;
-  variable527 = NEW_parser___ReduceAction526___init(); /*new ReduceAction526*/
+  variable527 = NEW_ReduceAction526_parser___ReduceAction526___init(); /*new ReduceAction526*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable527) /*AbstractArray::add*/;
-  variable528 = NEW_parser___ReduceAction527___init(); /*new ReduceAction527*/
+  variable528 = NEW_ReduceAction527_parser___ReduceAction527___init(); /*new ReduceAction527*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable528) /*AbstractArray::add*/;
-  variable529 = NEW_parser___ReduceAction528___init(); /*new ReduceAction528*/
+  variable529 = NEW_ReduceAction528_parser___ReduceAction528___init(); /*new ReduceAction528*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable529) /*AbstractArray::add*/;
-  variable530 = NEW_parser___ReduceAction529___init(); /*new ReduceAction529*/
+  variable530 = NEW_ReduceAction529_parser___ReduceAction529___init(); /*new ReduceAction529*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable530) /*AbstractArray::add*/;
-  variable531 = NEW_parser___ReduceAction530___init(); /*new ReduceAction530*/
+  variable531 = NEW_ReduceAction530_parser___ReduceAction530___init(); /*new ReduceAction530*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable531) /*AbstractArray::add*/;
-  variable532 = NEW_parser___ReduceAction531___init(); /*new ReduceAction531*/
+  variable532 = NEW_ReduceAction531_parser___ReduceAction531___init(); /*new ReduceAction531*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable532) /*AbstractArray::add*/;
-  variable533 = NEW_parser___ReduceAction532___init(); /*new ReduceAction532*/
+  variable533 = NEW_ReduceAction532_parser___ReduceAction532___init(); /*new ReduceAction532*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable533) /*AbstractArray::add*/;
-  variable534 = NEW_parser___ReduceAction533___init(); /*new ReduceAction533*/
+  variable534 = NEW_ReduceAction533_parser___ReduceAction533___init(); /*new ReduceAction533*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable534) /*AbstractArray::add*/;
-  variable535 = NEW_parser___ReduceAction534___init(); /*new ReduceAction534*/
+  variable535 = NEW_ReduceAction534_parser___ReduceAction534___init(); /*new ReduceAction534*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable535) /*AbstractArray::add*/;
-  variable536 = NEW_parser___ReduceAction535___init(); /*new ReduceAction535*/
+  variable536 = NEW_ReduceAction535_parser___ReduceAction535___init(); /*new ReduceAction535*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable536) /*AbstractArray::add*/;
-  variable537 = NEW_parser___ReduceAction536___init(); /*new ReduceAction536*/
+  variable537 = NEW_ReduceAction536_parser___ReduceAction536___init(); /*new ReduceAction536*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable537) /*AbstractArray::add*/;
-  variable538 = NEW_parser___ReduceAction537___init(); /*new ReduceAction537*/
+  variable538 = NEW_ReduceAction537_parser___ReduceAction537___init(); /*new ReduceAction537*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable538) /*AbstractArray::add*/;
-  variable539 = NEW_parser___ReduceAction538___init(); /*new ReduceAction538*/
+  variable539 = NEW_ReduceAction538_parser___ReduceAction538___init(); /*new ReduceAction538*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable539) /*AbstractArray::add*/;
-  variable540 = NEW_parser___ReduceAction539___init(); /*new ReduceAction539*/
+  variable540 = NEW_ReduceAction539_parser___ReduceAction539___init(); /*new ReduceAction539*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable540) /*AbstractArray::add*/;
-  variable541 = NEW_parser___ReduceAction540___init(); /*new ReduceAction540*/
+  variable541 = NEW_ReduceAction540_parser___ReduceAction540___init(); /*new ReduceAction540*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable541) /*AbstractArray::add*/;
-  variable542 = NEW_parser___ReduceAction541___init(); /*new ReduceAction541*/
+  variable542 = NEW_ReduceAction541_parser___ReduceAction541___init(); /*new ReduceAction541*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable542) /*AbstractArray::add*/;
-  variable543 = NEW_parser___ReduceAction542___init(); /*new ReduceAction542*/
+  variable543 = NEW_ReduceAction542_parser___ReduceAction542___init(); /*new ReduceAction542*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable543) /*AbstractArray::add*/;
-  variable544 = NEW_parser___ReduceAction543___init(); /*new ReduceAction543*/
+  variable544 = NEW_ReduceAction543_parser___ReduceAction543___init(); /*new ReduceAction543*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable544) /*AbstractArray::add*/;
-  variable545 = NEW_parser___ReduceAction544___init(); /*new ReduceAction544*/
+  variable545 = NEW_ReduceAction544_parser___ReduceAction544___init(); /*new ReduceAction544*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable545) /*AbstractArray::add*/;
-  variable546 = NEW_parser___ReduceAction545___init(); /*new ReduceAction545*/
+  variable546 = NEW_ReduceAction545_parser___ReduceAction545___init(); /*new ReduceAction545*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable546) /*AbstractArray::add*/;
-  variable547 = NEW_parser___ReduceAction546___init(); /*new ReduceAction546*/
+  variable547 = NEW_ReduceAction546_parser___ReduceAction546___init(); /*new ReduceAction546*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable547) /*AbstractArray::add*/;
-  variable548 = NEW_parser___ReduceAction547___init(); /*new ReduceAction547*/
+  variable548 = NEW_ReduceAction547_parser___ReduceAction547___init(); /*new ReduceAction547*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable548) /*AbstractArray::add*/;
-  variable549 = NEW_parser___ReduceAction548___init(); /*new ReduceAction548*/
+  variable549 = NEW_ReduceAction548_parser___ReduceAction548___init(); /*new ReduceAction548*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable549) /*AbstractArray::add*/;
-  variable550 = NEW_parser___ReduceAction549___init(); /*new ReduceAction549*/
+  variable550 = NEW_ReduceAction549_parser___ReduceAction549___init(); /*new ReduceAction549*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable550) /*AbstractArray::add*/;
-  variable551 = NEW_parser___ReduceAction550___init(); /*new ReduceAction550*/
+  variable551 = NEW_ReduceAction550_parser___ReduceAction550___init(); /*new ReduceAction550*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable551) /*AbstractArray::add*/;
-  variable552 = NEW_parser___ReduceAction551___init(); /*new ReduceAction551*/
+  variable552 = NEW_ReduceAction551_parser___ReduceAction551___init(); /*new ReduceAction551*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable552) /*AbstractArray::add*/;
-  variable553 = NEW_parser___ReduceAction552___init(); /*new ReduceAction552*/
+  variable553 = NEW_ReduceAction552_parser___ReduceAction552___init(); /*new ReduceAction552*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable553) /*AbstractArray::add*/;
-  variable554 = NEW_parser___ReduceAction553___init(); /*new ReduceAction553*/
+  variable554 = NEW_ReduceAction553_parser___ReduceAction553___init(); /*new ReduceAction553*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable554) /*AbstractArray::add*/;
-  variable555 = NEW_parser___ReduceAction554___init(); /*new ReduceAction554*/
+  variable555 = NEW_ReduceAction554_parser___ReduceAction554___init(); /*new ReduceAction554*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable555) /*AbstractArray::add*/;
-  variable556 = NEW_parser___ReduceAction555___init(); /*new ReduceAction555*/
+  variable556 = NEW_ReduceAction555_parser___ReduceAction555___init(); /*new ReduceAction555*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable556) /*AbstractArray::add*/;
-  variable557 = NEW_parser___ReduceAction556___init(); /*new ReduceAction556*/
+  variable557 = NEW_ReduceAction556_parser___ReduceAction556___init(); /*new ReduceAction556*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable557) /*AbstractArray::add*/;
-  variable558 = NEW_parser___ReduceAction557___init(); /*new ReduceAction557*/
+  variable558 = NEW_ReduceAction557_parser___ReduceAction557___init(); /*new ReduceAction557*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable558) /*AbstractArray::add*/;
-  variable559 = NEW_parser___ReduceAction558___init(); /*new ReduceAction558*/
+  variable559 = NEW_ReduceAction558_parser___ReduceAction558___init(); /*new ReduceAction558*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable559) /*AbstractArray::add*/;
-  variable560 = NEW_parser___ReduceAction559___init(); /*new ReduceAction559*/
+  variable560 = NEW_ReduceAction559_parser___ReduceAction559___init(); /*new ReduceAction559*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable560) /*AbstractArray::add*/;
-  variable561 = NEW_parser___ReduceAction560___init(); /*new ReduceAction560*/
+  variable561 = NEW_ReduceAction560_parser___ReduceAction560___init(); /*new ReduceAction560*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable561) /*AbstractArray::add*/;
-  variable562 = NEW_parser___ReduceAction561___init(); /*new ReduceAction561*/
+  variable562 = NEW_ReduceAction561_parser___ReduceAction561___init(); /*new ReduceAction561*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable562) /*AbstractArray::add*/;
-  variable563 = NEW_parser___ReduceAction562___init(); /*new ReduceAction562*/
+  variable563 = NEW_ReduceAction562_parser___ReduceAction562___init(); /*new ReduceAction562*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable563) /*AbstractArray::add*/;
-  variable564 = NEW_parser___ReduceAction563___init(); /*new ReduceAction563*/
+  variable564 = NEW_ReduceAction563_parser___ReduceAction563___init(); /*new ReduceAction563*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable564) /*AbstractArray::add*/;
-  variable565 = NEW_parser___ReduceAction564___init(); /*new ReduceAction564*/
+  variable565 = NEW_ReduceAction564_parser___ReduceAction564___init(); /*new ReduceAction564*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable565) /*AbstractArray::add*/;
-  variable566 = NEW_parser___ReduceAction565___init(); /*new ReduceAction565*/
+  variable566 = NEW_ReduceAction565_parser___ReduceAction565___init(); /*new ReduceAction565*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable566) /*AbstractArray::add*/;
-  variable567 = NEW_parser___ReduceAction566___init(); /*new ReduceAction566*/
+  variable567 = NEW_ReduceAction566_parser___ReduceAction566___init(); /*new ReduceAction566*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable567) /*AbstractArray::add*/;
-  variable568 = NEW_parser___ReduceAction567___init(); /*new ReduceAction567*/
+  variable568 = NEW_ReduceAction567_parser___ReduceAction567___init(); /*new ReduceAction567*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable568) /*AbstractArray::add*/;
-  variable569 = NEW_parser___ReduceAction568___init(); /*new ReduceAction568*/
+  variable569 = NEW_ReduceAction568_parser___ReduceAction568___init(); /*new ReduceAction568*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable569) /*AbstractArray::add*/;
-  variable570 = NEW_parser___ReduceAction569___init(); /*new ReduceAction569*/
+  variable570 = NEW_ReduceAction569_parser___ReduceAction569___init(); /*new ReduceAction569*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable570) /*AbstractArray::add*/;
-  variable571 = NEW_parser___ReduceAction570___init(); /*new ReduceAction570*/
+  variable571 = NEW_ReduceAction570_parser___ReduceAction570___init(); /*new ReduceAction570*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable571) /*AbstractArray::add*/;
-  variable572 = NEW_parser___ReduceAction571___init(); /*new ReduceAction571*/
+  variable572 = NEW_ReduceAction571_parser___ReduceAction571___init(); /*new ReduceAction571*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable572) /*AbstractArray::add*/;
-  variable573 = NEW_parser___ReduceAction572___init(); /*new ReduceAction572*/
+  variable573 = NEW_ReduceAction572_parser___ReduceAction572___init(); /*new ReduceAction572*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable573) /*AbstractArray::add*/;
-  variable1 = NEW_array___Array___with(variable0); /*new Array[E]*/
+  variable1 = NEW_Array_array___Array___with(variable0); /*new Array[ReduceAction]*/
   variable0 = variable1;
   ATTR_parser___Parser____reduce_table( self) /*Parser::_reduce_table*/ = variable0;
   tracehead = trace.prev;
@@ -2374,7 +2374,7 @@ void parser___SearchTokensVisitor___init(val_t  self, int* init_table) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SearchTokensVisitor].i]) return;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[Prod]*/
   ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/ = variable0;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SearchTokensVisitor].i] = 1;
   tracehead = trace.prev;
@@ -2390,6 +2390,13 @@ void parser___ReduceAction___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
+void parser___ReduceAction___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_parser___ReduceAction___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
+  tracehead = trace.prev;
+  return;
+}
 void parser___ReduceAction0___action(val_t  self, val_t  param0) {
   struct trace_t trace = {NULL, NULL, 773, LOCATE_parser___ReduceAction0___action};
   val_t variable0;
@@ -2402,11 +2409,11 @@ void parser___ReduceAction0___action(val_t  self, val_t  param0) {
   trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
-  variable5 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable2 /*listnode3*/,  variable3 /*listnode4*/); /*new AModule*/
+  variable5 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable2 /*listnode3*/,  variable3 /*listnode4*/); /*new AModule*/
   variable4 = variable5;
   variable1 =  variable4 /*pmodulenode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -2439,14 +2446,14 @@ void parser___ReduceAction1___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable5 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction1___action, LOCATE_parser, 797); nit_exit(1);}
-  variable7 = NEW_parser_prod___AModule___init_amodule( variable5 /*ppackagedeclnode2*/,  variable3 /*listnode3*/,  variable4 /*listnode4*/); /*new AModule*/
+  variable7 = NEW_AModule_parser_prod___AModule___init_amodule( variable5 /*ppackagedeclnode2*/,  variable3 /*listnode3*/,  variable4 /*listnode4*/); /*new AModule*/
   variable6 = variable7;
   variable1 =  variable6 /*pmodulenode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -2479,9 +2486,9 @@ void parser___ReduceAction2___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode3*/==NIT_NULL) || VAL_ISA( variable5 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -2495,7 +2502,7 @@ void parser___ReduceAction2___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode4*/,  variable5 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable3 /*listnode4*/,  variable4 /*listnode5*/); /*new AModule*/
+  variable7 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable3 /*listnode4*/,  variable4 /*listnode5*/); /*new AModule*/
   variable6 = variable7;
   variable1 =  variable6 /*pmodulenode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -2532,9 +2539,9 @@ void parser___ReduceAction3___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -2551,7 +2558,7 @@ void parser___ReduceAction3___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/,  variable7 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/,  variable4 /*listnode4*/,  variable5 /*listnode5*/); /*new AModule*/
+  variable9 = NEW_AModule_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/,  variable4 /*listnode4*/,  variable5 /*listnode5*/); /*new AModule*/
   variable8 = variable9;
   variable1 =  variable8 /*pmodulenode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -2584,9 +2591,9 @@ void parser___ReduceAction4___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode4*/==NIT_NULL) || VAL_ISA( variable5 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -2600,7 +2607,7 @@ void parser___ReduceAction4___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable5 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable3 /*listnode3*/,  variable4 /*listnode5*/); /*new AModule*/
+  variable7 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable3 /*listnode3*/,  variable4 /*listnode5*/); /*new AModule*/
   variable6 = variable7;
   variable1 =  variable6 /*pmodulenode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -2637,9 +2644,9 @@ void parser___ReduceAction5___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -2656,7 +2663,7 @@ void parser___ReduceAction5___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/,  variable4 /*listnode3*/,  variable5 /*listnode5*/); /*new AModule*/
+  variable9 = NEW_AModule_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/,  variable4 /*listnode3*/,  variable5 /*listnode5*/); /*new AModule*/
   variable8 = variable9;
   variable1 =  variable8 /*pmodulenode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -2693,9 +2700,9 @@ void parser___ReduceAction6___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*listnode3*/==NIT_NULL) || VAL_ISA( variable6 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -2721,7 +2728,7 @@ void parser___ReduceAction6___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode6*/,  variable7 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable4 /*listnode4*/,  variable5 /*listnode6*/); /*new AModule*/
+  variable9 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable4 /*listnode4*/,  variable5 /*listnode6*/); /*new AModule*/
   variable8 = variable9;
   variable1 =  variable8 /*pmodulenode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -2762,9 +2769,9 @@ void parser___ReduceAction7___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -2793,7 +2800,7 @@ void parser___ReduceAction7___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable9 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable11 = NEW_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/,  variable5 /*listnode4*/,  variable6 /*listnode6*/); /*new AModule*/
+  variable11 = NEW_AModule_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/,  variable5 /*listnode4*/,  variable6 /*listnode6*/); /*new AModule*/
   variable10 = variable11;
   variable1 =  variable10 /*pmodulenode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -2831,11 +2838,11 @@ void parser___ReduceAction8___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable3 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable7 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -2844,13 +2851,13 @@ void parser___ReduceAction8___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable8)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/,  variable7 /*ppropdefnode5*/) /*AbstractArray::add*/;
   }
-  variable9 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable6 /*listnode6*/); /*new ATopClassdef*/
+  variable9 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable6 /*listnode6*/); /*new ATopClassdef*/
   variable8 = variable9;
   variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable5 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode7*/,  variable8 /*pclassdefnode4*/) /*AbstractArray::add*/;
   }
-  variable10 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable4 /*listnode3*/,  variable5 /*listnode7*/); /*new AModule*/
+  variable10 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable4 /*listnode3*/,  variable5 /*listnode7*/); /*new AModule*/
   variable9 = variable10;
   variable1 =  variable9 /*pmodulenode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -2892,11 +2899,11 @@ void parser___ReduceAction9___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable8 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -2917,13 +2924,13 @@ void parser___ReduceAction9___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode7*/,  variable9 /*listnode6*/) /*IndexedCollection::append*/;
     }
   }
-  variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable7 /*listnode7*/); /*new ATopClassdef*/
+  variable11 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable7 /*listnode7*/); /*new ATopClassdef*/
   variable10 = variable11;
   variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/,  variable10 /*pclassdefnode4*/) /*AbstractArray::add*/;
   }
-  variable12 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable5 /*listnode3*/,  variable6 /*listnode8*/); /*new AModule*/
+  variable12 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable5 /*listnode3*/,  variable6 /*listnode8*/); /*new AModule*/
   variable11 = variable12;
   variable1 =  variable11 /*pmodulenode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -2965,14 +2972,14 @@ void parser___ReduceAction10___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction10___action, LOCATE_parser, 1082); nit_exit(1);}
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable3 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -2981,13 +2988,13 @@ void parser___ReduceAction10___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable10)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode6*/,  variable9 /*ppropdefnode5*/) /*AbstractArray::add*/;
   }
-  variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode6*/); /*new ATopClassdef*/
+  variable11 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode6*/); /*new ATopClassdef*/
   variable10 = variable11;
   variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode7*/,  variable10 /*pclassdefnode4*/) /*AbstractArray::add*/;
   }
-  variable12 = NEW_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/,  variable5 /*listnode3*/,  variable6 /*listnode7*/); /*new AModule*/
+  variable12 = NEW_AModule_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/,  variable5 /*listnode3*/,  variable6 /*listnode7*/); /*new AModule*/
   variable11 = variable12;
   variable1 =  variable11 /*pmodulenode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3033,14 +3040,14 @@ void parser___ReduceAction11___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
   if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1117); nit_exit(1);}
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -3061,13 +3068,13 @@ void parser___ReduceAction11___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode7*/,  variable11 /*listnode6*/) /*IndexedCollection::append*/;
     }
   }
-  variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/
+  variable13 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/
   variable12 = variable13;
   variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/,  variable12 /*pclassdefnode4*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/,  variable6 /*listnode3*/,  variable7 /*listnode8*/); /*new AModule*/
+  variable14 = NEW_AModule_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/,  variable6 /*listnode3*/,  variable7 /*listnode8*/); /*new AModule*/
   variable13 = variable14;
   variable1 =  variable13 /*pmodulenode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3109,9 +3116,9 @@ void parser___ReduceAction12___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -3125,7 +3132,7 @@ void parser___ReduceAction12___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/,  variable7 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable3 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -3134,13 +3141,13 @@ void parser___ReduceAction12___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable10)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/,  variable9 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/
+  variable11 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/
   variable10 = variable11;
   variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable10 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/,  variable10 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable12 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable5 /*listnode4*/,  variable6 /*listnode8*/); /*new AModule*/
+  variable12 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable5 /*listnode4*/,  variable6 /*listnode8*/); /*new AModule*/
   variable11 = variable12;
   variable1 =  variable11 /*pmodulenode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3186,9 +3193,9 @@ void parser___ReduceAction13___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -3202,7 +3209,7 @@ void parser___ReduceAction13___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable8 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -3223,13 +3230,13 @@ void parser___ReduceAction13___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode8*/,  variable11 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
-  variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode8*/); /*new ATopClassdef*/
+  variable13 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode8*/); /*new ATopClassdef*/
   variable12 = variable13;
   variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable12 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode4*/,  variable7 /*listnode9*/); /*new AModule*/
+  variable14 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode4*/,  variable7 /*listnode9*/); /*new AModule*/
   variable13 = variable14;
   variable1 =  variable13 /*pmodulenode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3275,9 +3282,9 @@ void parser___ReduceAction14___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -3294,7 +3301,7 @@ void parser___ReduceAction14___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable9 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable10 = variable11;
   variable11 =  variable3 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -3303,13 +3310,13 @@ void parser___ReduceAction14___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable12)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/,  variable11 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/
+  variable13 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/
   variable12 = variable13;
   variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/,  variable12 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/,  variable6 /*listnode4*/,  variable7 /*listnode8*/); /*new AModule*/
+  variable14 = NEW_AModule_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/,  variable6 /*listnode4*/,  variable7 /*listnode8*/); /*new AModule*/
   variable13 = variable14;
   variable1 =  variable13 /*pmodulenode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3359,9 +3366,9 @@ void parser___ReduceAction15___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -3378,7 +3385,7 @@ void parser___ReduceAction15___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable10 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -3399,13 +3406,13 @@ void parser___ReduceAction15___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/,  variable13 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/
+  variable15 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/
   variable14 = variable15;
   variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable14 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode4*/,  variable8 /*listnode9*/); /*new AModule*/
+  variable16 = NEW_AModule_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode4*/,  variable8 /*listnode9*/); /*new AModule*/
   variable15 = variable16;
   variable1 =  variable15 /*pmodulenode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3447,14 +3454,14 @@ void parser___ReduceAction16___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction16___action, LOCATE_parser, 1350); nit_exit(1);}
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable3 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -3463,7 +3470,7 @@ void parser___ReduceAction16___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable10)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/,  variable9 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/
+  variable11 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/
   variable10 = variable11;
   variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
@@ -3478,7 +3485,7 @@ void parser___ReduceAction16___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable11)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/,  variable10 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable12 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable5 /*listnode3*/,  variable6 /*listnode8*/); /*new AModule*/
+  variable12 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable5 /*listnode3*/,  variable6 /*listnode8*/); /*new AModule*/
   variable11 = variable12;
   variable1 =  variable11 /*pmodulenode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3524,14 +3531,14 @@ void parser___ReduceAction17___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1392); nit_exit(1);}
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -3552,7 +3559,7 @@ void parser___ReduceAction17___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode8*/,  variable11 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
-  variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode8*/); /*new ATopClassdef*/
+  variable13 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode8*/); /*new ATopClassdef*/
   variable12 = variable13;
   variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
@@ -3567,7 +3574,7 @@ void parser___ReduceAction17___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable12 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode3*/,  variable7 /*listnode9*/); /*new AModule*/
+  variable14 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode3*/,  variable7 /*listnode9*/); /*new AModule*/
   variable13 = variable14;
   variable1 =  variable13 /*pmodulenode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3613,9 +3620,9 @@ void parser___ReduceAction18___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -3623,7 +3630,7 @@ void parser___ReduceAction18___action(val_t  self, val_t  param0) {
   variable9 =  variable4 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*listnode4*/==NIT_NULL) || VAL_ISA( variable9 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1445); nit_exit(1);}
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable10 = variable11;
   variable11 =  variable3 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -3632,7 +3639,7 @@ void parser___ReduceAction18___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable12)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/,  variable11 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/
+  variable13 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/
   variable12 = variable13;
   variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
@@ -3647,7 +3654,7 @@ void parser___ReduceAction18___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/,  variable12 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/,  variable6 /*listnode3*/,  variable7 /*listnode8*/); /*new AModule*/
+  variable14 = NEW_AModule_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/,  variable6 /*listnode3*/,  variable7 /*listnode8*/); /*new AModule*/
   variable13 = variable14;
   variable1 =  variable13 /*pmodulenode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3697,9 +3704,9 @@ void parser___ReduceAction19___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -3707,7 +3714,7 @@ void parser___ReduceAction19___action(val_t  self, val_t  param0) {
   variable10 =  variable5 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1490); nit_exit(1);}
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -3728,7 +3735,7 @@ void parser___ReduceAction19___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/,  variable13 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/
+  variable15 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/
   variable14 = variable15;
   variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
@@ -3743,7 +3750,7 @@ void parser___ReduceAction19___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable14 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode3*/,  variable8 /*listnode9*/); /*new AModule*/
+  variable16 = NEW_AModule_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode3*/,  variable8 /*listnode9*/); /*new AModule*/
   variable15 = variable16;
   variable1 =  variable15 /*pmodulenode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3789,9 +3796,9 @@ void parser___ReduceAction20___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -3808,7 +3815,7 @@ void parser___ReduceAction20___action(val_t  self, val_t  param0) {
   variable9 =  variable4 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1550); nit_exit(1);}
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable10 = variable11;
   variable11 =  variable3 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -3817,7 +3824,7 @@ void parser___ReduceAction20___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable12)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/,  variable11 /*ppropdefnode7*/) /*AbstractArray::add*/;
   }
-  variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/
+  variable13 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/
   variable12 = variable13;
   variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
@@ -3832,7 +3839,7 @@ void parser___ReduceAction20___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable12 /*pclassdefnode6*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode4*/,  variable7 /*listnode9*/); /*new AModule*/
+  variable14 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode4*/,  variable7 /*listnode9*/); /*new AModule*/
   variable13 = variable14;
   variable1 =  variable13 /*pmodulenode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3882,9 +3889,9 @@ void parser___ReduceAction21___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -3901,7 +3908,7 @@ void parser___ReduceAction21___action(val_t  self, val_t  param0) {
   variable10 =  variable5 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*listnode5*/==NIT_NULL) || VAL_ISA( variable10 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1602); nit_exit(1);}
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -3922,7 +3929,7 @@ void parser___ReduceAction21___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode9*/,  variable13 /*listnode8*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode9*/); /*new ATopClassdef*/
+  variable15 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode9*/); /*new ATopClassdef*/
   variable14 = variable15;
   variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
@@ -3937,7 +3944,7 @@ void parser___ReduceAction21___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable14 /*pclassdefnode6*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable7 /*listnode4*/,  variable8 /*listnode10*/); /*new AModule*/
+  variable16 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable7 /*listnode4*/,  variable8 /*listnode10*/); /*new AModule*/
   variable15 = variable16;
   variable1 =  variable15 /*pmodulenode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -3987,9 +3994,9 @@ void parser___ReduceAction22___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -4009,7 +4016,7 @@ void parser___ReduceAction22___action(val_t  self, val_t  param0) {
   variable11 =  variable4 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*listnode5*/==NIT_NULL) || VAL_ISA( variable11 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1665); nit_exit(1);}
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
   variable13 =  variable3 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -4018,7 +4025,7 @@ void parser___ReduceAction22___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable14)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/,  variable13 /*ppropdefnode7*/) /*AbstractArray::add*/;
   }
-  variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/
+  variable15 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/
   variable14 = variable15;
   variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
@@ -4033,7 +4040,7 @@ void parser___ReduceAction22___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable14 /*pclassdefnode6*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode4*/,  variable8 /*listnode9*/); /*new AModule*/
+  variable16 = NEW_AModule_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode4*/,  variable8 /*listnode9*/); /*new AModule*/
   variable15 = variable16;
   variable1 =  variable15 /*pmodulenode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4087,9 +4094,9 @@ void parser___ReduceAction23___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable7 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -4109,7 +4116,7 @@ void parser___ReduceAction23___action(val_t  self, val_t  param0) {
   variable12 =  variable5 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*listnode5*/==NIT_NULL) || VAL_ISA( variable12 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1720); nit_exit(1);}
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
   variable14 =  variable4 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -4130,7 +4137,7 @@ void parser___ReduceAction23___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode9*/,  variable15 /*listnode8*/) /*IndexedCollection::append*/;
     }
   }
-  variable17 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable13 /*listnode9*/); /*new ATopClassdef*/
+  variable17 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable13 /*listnode9*/); /*new ATopClassdef*/
   variable16 = variable17;
   variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
@@ -4145,7 +4152,7 @@ void parser___ReduceAction23___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable17)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable16 /*pclassdefnode6*/) /*AbstractArray::add*/;
   }
-  variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/,  variable8 /*listnode4*/,  variable9 /*listnode10*/); /*new AModule*/
+  variable18 = NEW_AModule_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/,  variable8 /*listnode4*/,  variable9 /*listnode10*/); /*new AModule*/
   variable17 = variable18;
   variable1 =  variable17 /*pmodulenode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4178,9 +4185,9 @@ void parser___ReduceAction24___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable5 /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -4189,7 +4196,7 @@ void parser___ReduceAction24___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable6)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode5*/,  variable5 /*pclassdefnode4*/) /*AbstractArray::add*/;
   }
-  variable7 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable3 /*listnode3*/,  variable4 /*listnode5*/); /*new AModule*/
+  variable7 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable3 /*listnode3*/,  variable4 /*listnode5*/); /*new AModule*/
   variable6 = variable7;
   variable1 =  variable6 /*pmodulenode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4226,9 +4233,9 @@ void parser___ReduceAction25___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -4240,7 +4247,7 @@ void parser___ReduceAction25___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable8)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/,  variable7 /*pclassdefnode4*/) /*AbstractArray::add*/;
   }
-  variable9 = NEW_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/,  variable4 /*listnode3*/,  variable5 /*listnode5*/); /*new AModule*/
+  variable9 = NEW_AModule_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/,  variable4 /*listnode3*/,  variable5 /*listnode5*/); /*new AModule*/
   variable8 = variable9;
   variable1 =  variable8 /*pmodulenode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4277,9 +4284,9 @@ void parser___ReduceAction26___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*listnode3*/==NIT_NULL) || VAL_ISA( variable6 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -4300,7 +4307,7 @@ void parser___ReduceAction26___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable8)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode6*/,  variable7 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable9 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable4 /*listnode4*/,  variable5 /*listnode6*/); /*new AModule*/
+  variable9 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable4 /*listnode4*/,  variable5 /*listnode6*/); /*new AModule*/
   variable8 = variable9;
   variable1 =  variable8 /*pmodulenode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4341,9 +4348,9 @@ void parser___ReduceAction27___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -4367,7 +4374,7 @@ void parser___ReduceAction27___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable10)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/,  variable9 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable11 = NEW_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/,  variable5 /*listnode4*/,  variable6 /*listnode6*/); /*new AModule*/
+  variable11 = NEW_AModule_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/,  variable5 /*listnode4*/,  variable6 /*listnode6*/); /*new AModule*/
   variable10 = variable11;
   variable1 =  variable10 /*pmodulenode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4404,9 +4411,9 @@ void parser___ReduceAction28___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -4427,7 +4434,7 @@ void parser___ReduceAction28___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable8)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode6*/,  variable7 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable9 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable4 /*listnode3*/,  variable5 /*listnode6*/); /*new AModule*/
+  variable9 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable4 /*listnode3*/,  variable5 /*listnode6*/); /*new AModule*/
   variable8 = variable9;
   variable1 =  variable8 /*pmodulenode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4468,9 +4475,9 @@ void parser___ReduceAction29___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -4494,7 +4501,7 @@ void parser___ReduceAction29___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable10)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/,  variable9 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable11 = NEW_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/,  variable5 /*listnode3*/,  variable6 /*listnode6*/); /*new AModule*/
+  variable11 = NEW_AModule_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/,  variable5 /*listnode3*/,  variable6 /*listnode6*/); /*new AModule*/
   variable10 = variable11;
   variable1 =  variable10 /*pmodulenode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4535,9 +4542,9 @@ void parser___ReduceAction30___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -4570,7 +4577,7 @@ void parser___ReduceAction30___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable10)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode7*/,  variable9 /*pclassdefnode6*/) /*AbstractArray::add*/;
   }
-  variable11 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable5 /*listnode4*/,  variable6 /*listnode7*/); /*new AModule*/
+  variable11 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable5 /*listnode4*/,  variable6 /*listnode7*/); /*new AModule*/
   variable10 = variable11;
   variable1 =  variable10 /*pmodulenode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4615,9 +4622,9 @@ void parser___ReduceAction31___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -4653,7 +4660,7 @@ void parser___ReduceAction31___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable12)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode7*/,  variable11 /*pclassdefnode6*/) /*AbstractArray::add*/;
   }
-  variable13 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/,  variable6 /*listnode4*/,  variable7 /*listnode7*/); /*new AModule*/
+  variable13 = NEW_AModule_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/,  variable6 /*listnode4*/,  variable7 /*listnode7*/); /*new AModule*/
   variable12 = variable13;
   variable1 =  variable12 /*pmodulenode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4695,11 +4702,11 @@ void parser___ReduceAction32___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable8 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -4708,7 +4715,7 @@ void parser___ReduceAction32___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable9)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode6*/,  variable8 /*ppropdefnode5*/) /*AbstractArray::add*/;
   }
-  variable10 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable7 /*listnode6*/); /*new ATopClassdef*/
+  variable10 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable7 /*listnode6*/); /*new ATopClassdef*/
   variable9 = variable10;
   variable10 =  variable2 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable10 /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -4721,7 +4728,7 @@ void parser___ReduceAction32___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable11)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/,  variable10 /*pclassdefnode7*/) /*AbstractArray::add*/;
   }
-  variable12 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable5 /*listnode3*/,  variable6 /*listnode8*/); /*new AModule*/
+  variable12 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable5 /*listnode3*/,  variable6 /*listnode8*/); /*new AModule*/
   variable11 = variable12;
   variable1 =  variable11 /*pmodulenode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4767,11 +4774,11 @@ void parser___ReduceAction33___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -4792,7 +4799,7 @@ void parser___ReduceAction33___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode7*/,  variable10 /*listnode6*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/
+  variable12 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/
   variable11 = variable12;
   variable12 =  variable2 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -4805,7 +4812,7 @@ void parser___ReduceAction33___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable12 /*pclassdefnode8*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode3*/,  variable7 /*listnode9*/); /*new AModule*/
+  variable14 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode3*/,  variable7 /*listnode9*/); /*new AModule*/
   variable13 = variable14;
   variable1 =  variable13 /*pmodulenode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4851,14 +4858,14 @@ void parser___ReduceAction34___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
   if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2131); nit_exit(1);}
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -4867,7 +4874,7 @@ void parser___ReduceAction34___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable11)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode6*/,  variable10 /*ppropdefnode5*/) /*AbstractArray::add*/;
   }
-  variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode6*/); /*new ATopClassdef*/
+  variable12 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode6*/); /*new ATopClassdef*/
   variable11 = variable12;
   variable12 =  variable2 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -4880,7 +4887,7 @@ void parser___ReduceAction34___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/,  variable12 /*pclassdefnode7*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/,  variable6 /*listnode3*/,  variable7 /*listnode8*/); /*new AModule*/
+  variable14 = NEW_AModule_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/,  variable6 /*listnode3*/,  variable7 /*listnode8*/); /*new AModule*/
   variable13 = variable14;
   variable1 =  variable13 /*pmodulenode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -4930,14 +4937,14 @@ void parser___ReduceAction35___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
   if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2172); nit_exit(1);}
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -4958,7 +4965,7 @@ void parser___ReduceAction35___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode7*/,  variable12 /*listnode6*/) /*IndexedCollection::append*/;
     }
   }
-  variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/
+  variable14 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -4971,7 +4978,7 @@ void parser___ReduceAction35___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable14 /*pclassdefnode8*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode3*/,  variable8 /*listnode9*/); /*new AModule*/
+  variable16 = NEW_AModule_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode3*/,  variable8 /*listnode9*/); /*new AModule*/
   variable15 = variable16;
   variable1 =  variable15 /*pmodulenode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -5017,9 +5024,9 @@ void parser___ReduceAction36___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -5033,7 +5040,7 @@ void parser___ReduceAction36___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable8 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -5042,7 +5049,7 @@ void parser___ReduceAction36___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable11)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/,  variable10 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/
+  variable12 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/
   variable11 = variable12;
   variable12 =  variable2 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -5055,7 +5062,7 @@ void parser___ReduceAction36___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable12 /*pclassdefnode8*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode4*/,  variable7 /*listnode9*/); /*new AModule*/
+  variable14 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode4*/,  variable7 /*listnode9*/); /*new AModule*/
   variable13 = variable14;
   variable1 =  variable13 /*pmodulenode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -5105,9 +5112,9 @@ void parser___ReduceAction37___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -5121,7 +5128,7 @@ void parser___ReduceAction37___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable9 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -5142,7 +5149,7 @@ void parser___ReduceAction37___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/,  variable12 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
-  variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/
+  variable14 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -5155,7 +5162,7 @@ void parser___ReduceAction37___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable14 /*pclassdefnode9*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable7 /*listnode4*/,  variable8 /*listnode10*/); /*new AModule*/
+  variable16 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable7 /*listnode4*/,  variable8 /*listnode10*/); /*new AModule*/
   variable15 = variable16;
   variable1 =  variable15 /*pmodulenode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -5205,9 +5212,9 @@ void parser___ReduceAction38___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -5224,7 +5231,7 @@ void parser___ReduceAction38___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable10 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -5233,7 +5240,7 @@ void parser___ReduceAction38___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable11 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode7*/,  variable12 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode7*/); /*new ATopClassdef*/
+  variable14 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode7*/); /*new ATopClassdef*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -5246,7 +5253,7 @@ void parser___ReduceAction38___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable14 /*pclassdefnode8*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode4*/,  variable8 /*listnode9*/); /*new AModule*/
+  variable16 = NEW_AModule_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode4*/,  variable8 /*listnode9*/); /*new AModule*/
   variable15 = variable16;
   variable1 =  variable15 /*pmodulenode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -5300,9 +5307,9 @@ void parser___ReduceAction39___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable7 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -5319,7 +5326,7 @@ void parser___ReduceAction39___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable11 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -5340,7 +5347,7 @@ void parser___ReduceAction39___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/,  variable14 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
-  variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/
+  variable16 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/
   variable15 = variable16;
   variable16 =  variable2 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -5353,7 +5360,7 @@ void parser___ReduceAction39___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable17)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable16 /*pclassdefnode9*/) /*AbstractArray::add*/;
   }
-  variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/,  variable8 /*listnode4*/,  variable9 /*listnode10*/); /*new AModule*/
+  variable18 = NEW_AModule_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/,  variable8 /*listnode4*/,  variable9 /*listnode10*/); /*new AModule*/
   variable17 = variable18;
   variable1 =  variable17 /*pmodulenode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -5399,14 +5406,14 @@ void parser___ReduceAction40___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2435); nit_exit(1);}
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -5415,7 +5422,7 @@ void parser___ReduceAction40___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable11)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/,  variable10 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/
+  variable12 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/
   variable11 = variable12;
   variable12 =  variable2 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -5437,7 +5444,7 @@ void parser___ReduceAction40___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable12 /*pclassdefnode8*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode3*/,  variable7 /*listnode9*/); /*new AModule*/
+  variable14 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable6 /*listnode3*/,  variable7 /*listnode9*/); /*new AModule*/
   variable13 = variable14;
   variable1 =  variable13 /*pmodulenode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -5487,14 +5494,14 @@ void parser___ReduceAction41___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*listnode4*/==NIT_NULL) || VAL_ISA( variable9 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2483); nit_exit(1);}
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -5515,7 +5522,7 @@ void parser___ReduceAction41___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/,  variable12 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
-  variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/
+  variable14 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -5537,7 +5544,7 @@ void parser___ReduceAction41___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable14 /*pclassdefnode9*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable7 /*listnode3*/,  variable8 /*listnode10*/); /*new AModule*/
+  variable16 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable7 /*listnode3*/,  variable8 /*listnode10*/); /*new AModule*/
   variable15 = variable16;
   variable1 =  variable15 /*pmodulenode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -5587,9 +5594,9 @@ void parser___ReduceAction42___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -5597,7 +5604,7 @@ void parser___ReduceAction42___action(val_t  self, val_t  param0) {
   variable10 =  variable5 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2542); nit_exit(1);}
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -5606,7 +5613,7 @@ void parser___ReduceAction42___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable11 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode7*/,  variable12 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode7*/); /*new ATopClassdef*/
+  variable14 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode7*/); /*new ATopClassdef*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -5628,7 +5635,7 @@ void parser___ReduceAction42___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable14 /*pclassdefnode8*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode3*/,  variable8 /*listnode9*/); /*new AModule*/
+  variable16 = NEW_AModule_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/,  variable7 /*listnode3*/,  variable8 /*listnode9*/); /*new AModule*/
   variable15 = variable16;
   variable1 =  variable15 /*pmodulenode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -5682,9 +5689,9 @@ void parser___ReduceAction43___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable7 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -5692,7 +5699,7 @@ void parser___ReduceAction43___action(val_t  self, val_t  param0) {
   variable11 =  variable6 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*listnode4*/==NIT_NULL) || VAL_ISA( variable11 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2593); nit_exit(1);}
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -5713,7 +5720,7 @@ void parser___ReduceAction43___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/,  variable14 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
-  variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/
+  variable16 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/
   variable15 = variable16;
   variable16 =  variable2 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -5735,7 +5742,7 @@ void parser___ReduceAction43___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable17)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable16 /*pclassdefnode9*/) /*AbstractArray::add*/;
   }
-  variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/,  variable8 /*listnode3*/,  variable9 /*listnode10*/); /*new AModule*/
+  variable18 = NEW_AModule_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/,  variable8 /*listnode3*/,  variable9 /*listnode10*/); /*new AModule*/
   variable17 = variable18;
   variable1 =  variable17 /*pmodulenode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -5785,9 +5792,9 @@ void parser___ReduceAction44___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -5804,7 +5811,7 @@ void parser___ReduceAction44___action(val_t  self, val_t  param0) {
   variable10 =  variable5 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*listnode5*/==NIT_NULL) || VAL_ISA( variable10 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2659); nit_exit(1);}
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -5813,7 +5820,7 @@ void parser___ReduceAction44___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable13)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode8*/,  variable12 /*ppropdefnode7*/) /*AbstractArray::add*/;
   }
-  variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/
+  variable14 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -5835,7 +5842,7 @@ void parser___ReduceAction44___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable14 /*pclassdefnode9*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable7 /*listnode4*/,  variable8 /*listnode10*/); /*new AModule*/
+  variable16 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable7 /*listnode4*/,  variable8 /*listnode10*/); /*new AModule*/
   variable15 = variable16;
   variable1 =  variable15 /*pmodulenode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -5889,9 +5896,9 @@ void parser___ReduceAction45___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable7 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -5908,7 +5915,7 @@ void parser___ReduceAction45___action(val_t  self, val_t  param0) {
   variable11 =  variable6 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*listnode5*/==NIT_NULL) || VAL_ISA( variable11 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2717); nit_exit(1);}
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -5929,7 +5936,7 @@ void parser___ReduceAction45___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode9*/,  variable14 /*listnode8*/) /*IndexedCollection::append*/;
     }
   }
-  variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode9*/); /*new ATopClassdef*/
+  variable16 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode9*/); /*new ATopClassdef*/
   variable15 = variable16;
   variable16 =  variable2 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -5951,7 +5958,7 @@ void parser___ReduceAction45___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable17)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode11*/,  variable16 /*pclassdefnode10*/) /*AbstractArray::add*/;
   }
-  variable18 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable8 /*listnode4*/,  variable9 /*listnode11*/); /*new AModule*/
+  variable18 = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable8 /*listnode4*/,  variable9 /*listnode11*/); /*new AModule*/
   variable17 = variable18;
   variable1 =  variable17 /*pmodulenode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -6005,9 +6012,9 @@ void parser___ReduceAction46___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable7 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -6027,7 +6034,7 @@ void parser___ReduceAction46___action(val_t  self, val_t  param0) {
   variable12 =  variable5 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*listnode5*/==NIT_NULL) || VAL_ISA( variable12 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2786); nit_exit(1);}
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
   variable14 =  variable4 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -6036,7 +6043,7 @@ void parser___ReduceAction46___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode8*/,  variable14 /*ppropdefnode7*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable13 /*listnode8*/); /*new ATopClassdef*/
+  variable16 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable13 /*listnode8*/); /*new ATopClassdef*/
   variable15 = variable16;
   variable16 =  variable2 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -6058,7 +6065,7 @@ void parser___ReduceAction46___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable17)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable16 /*pclassdefnode9*/) /*AbstractArray::add*/;
   }
-  variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/,  variable8 /*listnode4*/,  variable9 /*listnode10*/); /*new AModule*/
+  variable18 = NEW_AModule_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/,  variable8 /*listnode4*/,  variable9 /*listnode10*/); /*new AModule*/
   variable17 = variable18;
   variable1 =  variable17 /*pmodulenode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -6116,9 +6123,9 @@ void parser___ReduceAction47___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable10 = variable11;
   variable11 =  variable8 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable11 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
@@ -6138,7 +6145,7 @@ void parser___ReduceAction47___action(val_t  self, val_t  param0) {
   variable13 =  variable6 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*listnode5*/==NIT_NULL) || VAL_ISA( variable13 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2847); nit_exit(1);}
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
   variable15 =  variable5 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -6159,7 +6166,7 @@ void parser___ReduceAction47___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/,  variable16 /*listnode8*/) /*IndexedCollection::append*/;
     }
   }
-  variable18 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable14 /*listnode9*/); /*new ATopClassdef*/
+  variable18 = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable14 /*listnode9*/); /*new ATopClassdef*/
   variable17 = variable18;
   variable18 =  variable2 /*nodearraylist7*/;
   variable19 = TAG_Bool(( variable18 /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable18 /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -6181,7 +6188,7 @@ void parser___ReduceAction47___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable19)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode11*/,  variable18 /*pclassdefnode10*/) /*AbstractArray::add*/;
   }
-  variable20 = NEW_parser_prod___AModule___init_amodule( variable11 /*ppackagedeclnode2*/,  variable9 /*listnode4*/,  variable10 /*listnode11*/); /*new AModule*/
+  variable20 = NEW_AModule_parser_prod___AModule___init_amodule( variable11 /*ppackagedeclnode2*/,  variable9 /*listnode4*/,  variable10 /*listnode11*/); /*new AModule*/
   variable19 = variable20;
   variable1 =  variable19 /*pmodulenode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(0)) /*Parser::go_to*/;
@@ -6235,7 +6242,7 @@ void parser___ReduceAction48___action(val_t  self, val_t  param0) {
   variable9 =  variable3 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
   if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 2906); nit_exit(1);}
-  variable11 = NEW_parser_prod___APackagedecl___init_apackagedecl( variable7 /*pdocnode2*/,  variable8 /*tkwpackagenode3*/,  variable9 /*tidnode4*/); /*new APackagedecl*/
+  variable11 = NEW_APackagedecl_parser_prod___APackagedecl___init_apackagedecl( variable7 /*pdocnode2*/,  variable8 /*tkwpackagenode3*/,  variable9 /*tidnode4*/); /*new APackagedecl*/
   variable10 = variable11;
   variable1 =  variable10 /*ppackagedeclnode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(1)) /*Parser::go_to*/;
@@ -6292,7 +6299,7 @@ void parser___ReduceAction49___action(val_t  self, val_t  param0) {
   variable10 =  variable3 /*nodearraylist5*/;
   variable11 = TAG_Bool(( variable10 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 2933); nit_exit(1);}
-  variable12 = NEW_parser_prod___AImport___init_aimport( variable8 /*pvisibilitynode2*/,  variable9 /*tkwimportnode3*/,  variable10 /*tidnode4*/); /*new AImport*/
+  variable12 = NEW_AImport_parser_prod___AImport___init_aimport( variable8 /*pvisibilitynode2*/,  variable9 /*tkwimportnode3*/,  variable10 /*tidnode4*/); /*new AImport*/
   variable11 = variable12;
   variable1 =  variable11 /*pimportnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(2)) /*Parser::go_to*/;
@@ -6349,7 +6356,7 @@ void parser___ReduceAction50___action(val_t  self, val_t  param0) {
   variable10 =  variable3 /*nodearraylist5*/;
   variable11 = TAG_Bool(( variable10 /*tkwendnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwendnode4*/, COLOR_TKwend, ID_TKwend)) /*cast TKwend*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 2960); nit_exit(1);}
-  variable12 = NEW_parser_prod___ANoImport___init_anoimport( variable8 /*pvisibilitynode2*/,  variable9 /*tkwimportnode3*/,  variable10 /*tkwendnode4*/); /*new ANoImport*/
+  variable12 = NEW_ANoImport_parser_prod___ANoImport___init_anoimport( variable8 /*pvisibilitynode2*/,  variable9 /*tkwimportnode3*/,  variable10 /*tkwendnode4*/); /*new ANoImport*/
   variable11 = variable12;
   variable1 =  variable11 /*pimportnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(2)) /*Parser::go_to*/;
@@ -6381,7 +6388,7 @@ void parser___ReduceAction51___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -6390,7 +6397,7 @@ void parser___ReduceAction51___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable5)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode3*/,  variable4 /*ppropdefnode2*/) /*AbstractArray::add*/;
   }
-  variable6 = NEW_parser_prod___AMainClassdef___init_amainclassdef( variable3 /*listnode3*/); /*new AMainClassdef*/
+  variable6 = NEW_AMainClassdef_parser_prod___AMainClassdef___init_amainclassdef( variable3 /*listnode3*/); /*new AMainClassdef*/
   variable5 = variable6;
   variable1 =  variable5 /*pclassdefnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(3)) /*Parser::go_to*/;
@@ -6456,7 +6463,7 @@ void parser___ReduceAction53___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -6465,9 +6472,9 @@ void parser___ReduceAction53___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable7)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/,  variable6 /*pexprnode4*/) /*AbstractArray::add*/;
   }
-  variable8 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable5 /*listnode5*/); /*new ABlockExpr*/
+  variable8 = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable5 /*listnode5*/); /*new ABlockExpr*/
   variable7 = variable8;
-  variable9 = NEW_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/,  variable7 /*pexprnode3*/); /*new AMainMethPropdef*/
+  variable9 = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/,  variable7 /*pexprnode3*/); /*new AMainMethPropdef*/
   variable8 = variable9;
   variable1 =  variable8 /*ppropdefnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(4)) /*Parser::go_to*/;
@@ -6510,7 +6517,7 @@ void parser___ReduceAction54___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -6531,9 +6538,9 @@ void parser___ReduceAction54___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable8 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode6*/); /*new ABlockExpr*/
+  variable10 = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode6*/); /*new ABlockExpr*/
   variable9 = variable10;
-  variable11 = NEW_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/,  variable9 /*pexprnode3*/); /*new AMainMethPropdef*/
+  variable11 = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/,  variable9 /*pexprnode3*/); /*new AMainMethPropdef*/
   variable10 = variable11;
   variable1 =  variable10 /*ppropdefnode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(4)) /*Parser::go_to*/;
@@ -6588,11 +6595,11 @@ void parser___ReduceAction55___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
   variable12 =  variable8 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -6606,7 +6613,7 @@ void parser___ReduceAction55___action(val_t  self, val_t  param0) {
   variable15 =  variable4 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3086); nit_exit(1);}
-  variable17 = NEW_parser_prod___AClassdef___init_aclassdef( variable12 /*pdocnode2*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode4*/,  variable14 /*pclasskindnode5*/,  variable15 /*tclassidnode6*/,  variable9 /*listnode7*/,  variable10 /*listnode8*/,  variable11 /*listnode9*/); /*new AClassdef*/
+  variable17 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable12 /*pdocnode2*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode4*/,  variable14 /*pclasskindnode5*/,  variable15 /*tclassidnode6*/,  variable9 /*listnode7*/,  variable10 /*listnode8*/,  variable11 /*listnode9*/); /*new AClassdef*/
   variable16 = variable17;
   variable1 =  variable16 /*pclassdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -6665,11 +6672,11 @@ void parser___ReduceAction56___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable9 = variable10;
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
   variable13 =  variable9 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -6686,7 +6693,7 @@ void parser___ReduceAction56___action(val_t  self, val_t  param0) {
   variable17 =  variable4 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable17 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3127); nit_exit(1);}
-  variable19 = NEW_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/,  variable14 /*tkwredefnode3*/,  variable15 /*pvisibilitynode4*/,  variable16 /*pclasskindnode5*/,  variable17 /*tclassidnode6*/,  variable10 /*listnode7*/,  variable11 /*listnode8*/,  variable12 /*listnode9*/); /*new AClassdef*/
+  variable19 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/,  variable14 /*tkwredefnode3*/,  variable15 /*pvisibilitynode4*/,  variable16 /*pclasskindnode5*/,  variable17 /*tclassidnode6*/,  variable10 /*listnode7*/,  variable11 /*listnode8*/,  variable12 /*listnode9*/); /*new AClassdef*/
   variable18 = variable19;
   variable1 =  variable18 /*pclassdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -6745,11 +6752,11 @@ void parser___ReduceAction57___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable9 = variable10;
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
   variable13 =  variable9 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -6775,7 +6782,7 @@ void parser___ReduceAction57___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/,  variable17 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
-  variable19 = NEW_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/,  NIT_NULL /*null*/,  variable14 /*pvisibilitynode4*/,  variable15 /*pclasskindnode5*/,  variable16 /*tclassidnode6*/,  variable10 /*listnode8*/,  variable11 /*listnode9*/,  variable12 /*listnode10*/); /*new AClassdef*/
+  variable19 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/,  NIT_NULL /*null*/,  variable14 /*pvisibilitynode4*/,  variable15 /*pclasskindnode5*/,  variable16 /*tclassidnode6*/,  variable10 /*listnode8*/,  variable11 /*listnode9*/,  variable12 /*listnode10*/); /*new AClassdef*/
   variable18 = variable19;
   variable1 =  variable18 /*pclassdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -6838,11 +6845,11 @@ void parser___ReduceAction58___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
   variable14 =  variable10 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -6871,7 +6878,7 @@ void parser___ReduceAction58___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/,  variable19 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
-  variable21 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/,  variable15 /*tkwredefnode3*/,  variable16 /*pvisibilitynode4*/,  variable17 /*pclasskindnode5*/,  variable18 /*tclassidnode6*/,  variable11 /*listnode8*/,  variable12 /*listnode9*/,  variable13 /*listnode10*/); /*new AClassdef*/
+  variable21 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/,  variable15 /*tkwredefnode3*/,  variable16 /*pvisibilitynode4*/,  variable17 /*pclasskindnode5*/,  variable18 /*tclassidnode6*/,  variable11 /*listnode8*/,  variable12 /*listnode9*/,  variable13 /*listnode10*/); /*new AClassdef*/
   variable20 = variable21;
   variable1 =  variable20 /*pclassdefnode1*/ /*node_list=*/;
   variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -6930,11 +6937,11 @@ void parser___ReduceAction59___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable9 = variable10;
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
   variable13 =  variable9 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -6960,7 +6967,7 @@ void parser___ReduceAction59___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode9*/,  variable17 /*listnode8*/) /*IndexedCollection::append*/;
     }
   }
-  variable19 = NEW_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/,  NIT_NULL /*null*/,  variable14 /*pvisibilitynode4*/,  variable15 /*pclasskindnode5*/,  variable16 /*tclassidnode6*/,  variable10 /*listnode7*/,  variable11 /*listnode9*/,  variable12 /*listnode10*/); /*new AClassdef*/
+  variable19 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/,  NIT_NULL /*null*/,  variable14 /*pvisibilitynode4*/,  variable15 /*pclasskindnode5*/,  variable16 /*tclassidnode6*/,  variable10 /*listnode7*/,  variable11 /*listnode9*/,  variable12 /*listnode10*/); /*new AClassdef*/
   variable18 = variable19;
   variable1 =  variable18 /*pclassdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -7023,11 +7030,11 @@ void parser___ReduceAction60___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
   variable14 =  variable10 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -7056,7 +7063,7 @@ void parser___ReduceAction60___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode9*/,  variable19 /*listnode8*/) /*IndexedCollection::append*/;
     }
   }
-  variable21 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/,  variable15 /*tkwredefnode3*/,  variable16 /*pvisibilitynode4*/,  variable17 /*pclasskindnode5*/,  variable18 /*tclassidnode6*/,  variable11 /*listnode7*/,  variable12 /*listnode9*/,  variable13 /*listnode10*/); /*new AClassdef*/
+  variable21 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/,  variable15 /*tkwredefnode3*/,  variable16 /*pvisibilitynode4*/,  variable17 /*pclasskindnode5*/,  variable18 /*tclassidnode6*/,  variable11 /*listnode7*/,  variable12 /*listnode9*/,  variable13 /*listnode10*/); /*new AClassdef*/
   variable20 = variable21;
   variable1 =  variable20 /*pclassdefnode1*/ /*node_list=*/;
   variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -7119,11 +7126,11 @@ void parser___ReduceAction61___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
   variable14 =  variable10 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -7161,7 +7168,7 @@ void parser___ReduceAction61___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode10*/,  variable19 /*listnode9*/) /*IndexedCollection::append*/;
     }
   }
-  variable21 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode4*/,  variable16 /*pclasskindnode5*/,  variable17 /*tclassidnode6*/,  variable11 /*listnode8*/,  variable12 /*listnode10*/,  variable13 /*listnode11*/); /*new AClassdef*/
+  variable21 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode4*/,  variable16 /*pclasskindnode5*/,  variable17 /*tclassidnode6*/,  variable11 /*listnode8*/,  variable12 /*listnode10*/,  variable13 /*listnode11*/); /*new AClassdef*/
   variable20 = variable21;
   variable1 =  variable20 /*pclassdefnode1*/ /*node_list=*/;
   variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -7228,11 +7235,11 @@ void parser___ReduceAction62___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
   variable15 =  variable11 /*nodearraylist1*/;
   variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -7273,7 +7280,7 @@ void parser___ReduceAction62___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode10*/,  variable21 /*listnode9*/) /*IndexedCollection::append*/;
     }
   }
-  variable23 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/,  variable16 /*tkwredefnode3*/,  variable17 /*pvisibilitynode4*/,  variable18 /*pclasskindnode5*/,  variable19 /*tclassidnode6*/,  variable12 /*listnode8*/,  variable13 /*listnode10*/,  variable14 /*listnode11*/); /*new AClassdef*/
+  variable23 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/,  variable16 /*tkwredefnode3*/,  variable17 /*pvisibilitynode4*/,  variable18 /*pclasskindnode5*/,  variable19 /*tclassidnode6*/,  variable12 /*listnode8*/,  variable13 /*listnode10*/,  variable14 /*listnode11*/); /*new AClassdef*/
   variable22 = variable23;
   variable1 =  variable22 /*pclassdefnode1*/ /*node_list=*/;
   variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -7335,11 +7342,11 @@ void parser___ReduceAction63___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[E]*/
+  variable12 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
   variable14 =  variable10 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -7360,7 +7367,7 @@ void parser___ReduceAction63___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable19)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode10*/,  variable18 /*ppropdefnode9*/) /*AbstractArray::add*/;
   }
-  variable20 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode4*/,  variable16 /*pclasskindnode5*/,  variable17 /*tclassidnode6*/,  variable11 /*listnode7*/,  variable12 /*listnode8*/,  variable13 /*listnode10*/); /*new AClassdef*/
+  variable20 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode4*/,  variable16 /*pclasskindnode5*/,  variable17 /*tclassidnode6*/,  variable11 /*listnode7*/,  variable12 /*listnode8*/,  variable13 /*listnode10*/); /*new AClassdef*/
   variable19 = variable20;
   variable1 =  variable19 /*pclassdefnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -7426,11 +7433,11 @@ void parser___ReduceAction64___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
   variable15 =  variable11 /*nodearraylist1*/;
   variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -7463,7 +7470,7 @@ void parser___ReduceAction64___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode11*/,  variable20 /*listnode10*/) /*IndexedCollection::append*/;
     }
   }
-  variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode4*/,  variable17 /*pclasskindnode5*/,  variable18 /*tclassidnode6*/,  variable12 /*listnode7*/,  variable13 /*listnode8*/,  variable14 /*listnode11*/); /*new AClassdef*/
+  variable22 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode4*/,  variable17 /*pclasskindnode5*/,  variable18 /*tclassidnode6*/,  variable12 /*listnode7*/,  variable13 /*listnode8*/,  variable14 /*listnode11*/); /*new AClassdef*/
   variable21 = variable22;
   variable1 =  variable21 /*pclassdefnode1*/ /*node_list=*/;
   variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -7529,11 +7536,11 @@ void parser___ReduceAction65___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
   variable15 =  variable11 /*nodearraylist1*/;
   variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -7557,7 +7564,7 @@ void parser___ReduceAction65___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable21)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode10*/,  variable20 /*ppropdefnode9*/) /*AbstractArray::add*/;
   }
-  variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/,  variable16 /*tkwredefnode3*/,  variable17 /*pvisibilitynode4*/,  variable18 /*pclasskindnode5*/,  variable19 /*tclassidnode6*/,  variable12 /*listnode7*/,  variable13 /*listnode8*/,  variable14 /*listnode10*/); /*new AClassdef*/
+  variable22 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/,  variable16 /*tkwredefnode3*/,  variable17 /*pvisibilitynode4*/,  variable18 /*pclasskindnode5*/,  variable19 /*tclassidnode6*/,  variable12 /*listnode7*/,  variable13 /*listnode8*/,  variable14 /*listnode10*/); /*new AClassdef*/
   variable21 = variable22;
   variable1 =  variable21 /*pclassdefnode1*/ /*node_list=*/;
   variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -7627,11 +7634,11 @@ void parser___ReduceAction66___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[E]*/
+  variable16 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -7667,7 +7674,7 @@ void parser___ReduceAction66___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode11*/,  variable22 /*listnode10*/) /*IndexedCollection::append*/;
     }
   }
-  variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  variable17 /*tkwredefnode3*/,  variable18 /*pvisibilitynode4*/,  variable19 /*pclasskindnode5*/,  variable20 /*tclassidnode6*/,  variable13 /*listnode7*/,  variable14 /*listnode8*/,  variable15 /*listnode11*/); /*new AClassdef*/
+  variable24 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  variable17 /*tkwredefnode3*/,  variable18 /*pvisibilitynode4*/,  variable19 /*pclasskindnode5*/,  variable20 /*tclassidnode6*/,  variable13 /*listnode7*/,  variable14 /*listnode8*/,  variable15 /*listnode11*/); /*new AClassdef*/
   variable23 = variable24;
   variable1 =  variable23 /*pclassdefnode1*/ /*node_list=*/;
   variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -7733,11 +7740,11 @@ void parser___ReduceAction67___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
   variable15 =  variable11 /*nodearraylist1*/;
   variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -7770,7 +7777,7 @@ void parser___ReduceAction67___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable21)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/,  variable20 /*ppropdefnode10*/) /*AbstractArray::add*/;
   }
-  variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode4*/,  variable17 /*pclasskindnode5*/,  variable18 /*tclassidnode6*/,  variable12 /*listnode8*/,  variable13 /*listnode9*/,  variable14 /*listnode11*/); /*new AClassdef*/
+  variable22 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode4*/,  variable17 /*pclasskindnode5*/,  variable18 /*tclassidnode6*/,  variable12 /*listnode8*/,  variable13 /*listnode9*/,  variable14 /*listnode11*/); /*new AClassdef*/
   variable21 = variable22;
   variable1 =  variable21 /*pclassdefnode1*/ /*node_list=*/;
   variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -7840,11 +7847,11 @@ void parser___ReduceAction68___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[E]*/
+  variable16 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -7889,7 +7896,7 @@ void parser___ReduceAction68___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode12*/,  variable22 /*listnode11*/) /*IndexedCollection::append*/;
     }
   }
-  variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  NIT_NULL /*null*/,  variable17 /*pvisibilitynode4*/,  variable18 /*pclasskindnode5*/,  variable19 /*tclassidnode6*/,  variable13 /*listnode8*/,  variable14 /*listnode9*/,  variable15 /*listnode12*/); /*new AClassdef*/
+  variable24 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  NIT_NULL /*null*/,  variable17 /*pvisibilitynode4*/,  variable18 /*pclasskindnode5*/,  variable19 /*tclassidnode6*/,  variable13 /*listnode8*/,  variable14 /*listnode9*/,  variable15 /*listnode12*/); /*new AClassdef*/
   variable23 = variable24;
   variable1 =  variable23 /*pclassdefnode1*/ /*node_list=*/;
   variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -7959,11 +7966,11 @@ void parser___ReduceAction69___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[E]*/
+  variable16 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -7999,7 +8006,7 @@ void parser___ReduceAction69___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable23)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/,  variable22 /*ppropdefnode10*/) /*AbstractArray::add*/;
   }
-  variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  variable17 /*tkwredefnode3*/,  variable18 /*pvisibilitynode4*/,  variable19 /*pclasskindnode5*/,  variable20 /*tclassidnode6*/,  variable13 /*listnode8*/,  variable14 /*listnode9*/,  variable15 /*listnode11*/); /*new AClassdef*/
+  variable24 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  variable17 /*tkwredefnode3*/,  variable18 /*pvisibilitynode4*/,  variable19 /*pclasskindnode5*/,  variable20 /*tclassidnode6*/,  variable13 /*listnode8*/,  variable14 /*listnode9*/,  variable15 /*listnode11*/); /*new AClassdef*/
   variable23 = variable24;
   variable1 =  variable23 /*pclassdefnode1*/ /*node_list=*/;
   variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -8073,11 +8080,11 @@ void parser___ReduceAction70___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[E]*/
+  variable16 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable15 = variable16;
-  variable17 = NEW_array___Array___init(); /*new Array[E]*/
+  variable17 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable16 = variable17;
   variable17 =  variable13 /*nodearraylist1*/;
   variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -8125,7 +8132,7 @@ void parser___ReduceAction70___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode12*/,  variable24 /*listnode11*/) /*IndexedCollection::append*/;
     }
   }
-  variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/,  variable18 /*tkwredefnode3*/,  variable19 /*pvisibilitynode4*/,  variable20 /*pclasskindnode5*/,  variable21 /*tclassidnode6*/,  variable14 /*listnode8*/,  variable15 /*listnode9*/,  variable16 /*listnode12*/); /*new AClassdef*/
+  variable26 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/,  variable18 /*tkwredefnode3*/,  variable19 /*pvisibilitynode4*/,  variable20 /*pclasskindnode5*/,  variable21 /*tclassidnode6*/,  variable14 /*listnode8*/,  variable15 /*listnode9*/,  variable16 /*listnode12*/); /*new AClassdef*/
   variable25 = variable26;
   variable1 =  variable25 /*pclassdefnode1*/ /*node_list=*/;
   variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -8191,11 +8198,11 @@ void parser___ReduceAction71___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[E]*/
+  variable13 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
   variable15 =  variable11 /*nodearraylist1*/;
   variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -8228,7 +8235,7 @@ void parser___ReduceAction71___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable21)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/,  variable20 /*ppropdefnode10*/) /*AbstractArray::add*/;
   }
-  variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode4*/,  variable17 /*pclasskindnode5*/,  variable18 /*tclassidnode6*/,  variable12 /*listnode7*/,  variable13 /*listnode9*/,  variable14 /*listnode11*/); /*new AClassdef*/
+  variable22 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode4*/,  variable17 /*pclasskindnode5*/,  variable18 /*tclassidnode6*/,  variable12 /*listnode7*/,  variable13 /*listnode9*/,  variable14 /*listnode11*/); /*new AClassdef*/
   variable21 = variable22;
   variable1 =  variable21 /*pclassdefnode1*/ /*node_list=*/;
   variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -8298,11 +8305,11 @@ void parser___ReduceAction72___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[E]*/
+  variable16 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -8347,7 +8354,7 @@ void parser___ReduceAction72___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode12*/,  variable22 /*listnode11*/) /*IndexedCollection::append*/;
     }
   }
-  variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  NIT_NULL /*null*/,  variable17 /*pvisibilitynode4*/,  variable18 /*pclasskindnode5*/,  variable19 /*tclassidnode6*/,  variable13 /*listnode7*/,  variable14 /*listnode9*/,  variable15 /*listnode12*/); /*new AClassdef*/
+  variable24 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  NIT_NULL /*null*/,  variable17 /*pvisibilitynode4*/,  variable18 /*pclasskindnode5*/,  variable19 /*tclassidnode6*/,  variable13 /*listnode7*/,  variable14 /*listnode9*/,  variable15 /*listnode12*/); /*new AClassdef*/
   variable23 = variable24;
   variable1 =  variable23 /*pclassdefnode1*/ /*node_list=*/;
   variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -8417,11 +8424,11 @@ void parser___ReduceAction73___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[E]*/
+  variable16 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -8457,7 +8464,7 @@ void parser___ReduceAction73___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable23)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/,  variable22 /*ppropdefnode10*/) /*AbstractArray::add*/;
   }
-  variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  variable17 /*tkwredefnode3*/,  variable18 /*pvisibilitynode4*/,  variable19 /*pclasskindnode5*/,  variable20 /*tclassidnode6*/,  variable13 /*listnode7*/,  variable14 /*listnode9*/,  variable15 /*listnode11*/); /*new AClassdef*/
+  variable24 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  variable17 /*tkwredefnode3*/,  variable18 /*pvisibilitynode4*/,  variable19 /*pclasskindnode5*/,  variable20 /*tclassidnode6*/,  variable13 /*listnode7*/,  variable14 /*listnode9*/,  variable15 /*listnode11*/); /*new AClassdef*/
   variable23 = variable24;
   variable1 =  variable23 /*pclassdefnode1*/ /*node_list=*/;
   variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -8531,11 +8538,11 @@ void parser___ReduceAction74___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[E]*/
+  variable16 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable15 = variable16;
-  variable17 = NEW_array___Array___init(); /*new Array[E]*/
+  variable17 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable16 = variable17;
   variable17 =  variable13 /*nodearraylist1*/;
   variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -8583,7 +8590,7 @@ void parser___ReduceAction74___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode12*/,  variable24 /*listnode11*/) /*IndexedCollection::append*/;
     }
   }
-  variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/,  variable18 /*tkwredefnode3*/,  variable19 /*pvisibilitynode4*/,  variable20 /*pclasskindnode5*/,  variable21 /*tclassidnode6*/,  variable14 /*listnode7*/,  variable15 /*listnode9*/,  variable16 /*listnode12*/); /*new AClassdef*/
+  variable26 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/,  variable18 /*tkwredefnode3*/,  variable19 /*pvisibilitynode4*/,  variable20 /*pclasskindnode5*/,  variable21 /*tclassidnode6*/,  variable14 /*listnode7*/,  variable15 /*listnode9*/,  variable16 /*listnode12*/); /*new AClassdef*/
   variable25 = variable26;
   variable1 =  variable25 /*pclassdefnode1*/ /*node_list=*/;
   variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -8653,11 +8660,11 @@ void parser___ReduceAction75___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[E]*/
+  variable16 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -8702,7 +8709,7 @@ void parser___ReduceAction75___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable23)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/,  variable22 /*ppropdefnode11*/) /*AbstractArray::add*/;
   }
-  variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  NIT_NULL /*null*/,  variable17 /*pvisibilitynode4*/,  variable18 /*pclasskindnode5*/,  variable19 /*tclassidnode6*/,  variable13 /*listnode8*/,  variable14 /*listnode10*/,  variable15 /*listnode12*/); /*new AClassdef*/
+  variable24 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/,  NIT_NULL /*null*/,  variable17 /*pvisibilitynode4*/,  variable18 /*pclasskindnode5*/,  variable19 /*tclassidnode6*/,  variable13 /*listnode8*/,  variable14 /*listnode10*/,  variable15 /*listnode12*/); /*new AClassdef*/
   variable23 = variable24;
   variable1 =  variable23 /*pclassdefnode1*/ /*node_list=*/;
   variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -8776,11 +8783,11 @@ void parser___ReduceAction76___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[E]*/
+  variable16 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable15 = variable16;
-  variable17 = NEW_array___Array___init(); /*new Array[E]*/
+  variable17 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable16 = variable17;
   variable17 =  variable13 /*nodearraylist1*/;
   variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -8837,7 +8844,7 @@ void parser___ReduceAction76___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode13*/,  variable24 /*listnode12*/) /*IndexedCollection::append*/;
     }
   }
-  variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/,  NIT_NULL /*null*/,  variable18 /*pvisibilitynode4*/,  variable19 /*pclasskindnode5*/,  variable20 /*tclassidnode6*/,  variable14 /*listnode8*/,  variable15 /*listnode10*/,  variable16 /*listnode13*/); /*new AClassdef*/
+  variable26 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/,  NIT_NULL /*null*/,  variable18 /*pvisibilitynode4*/,  variable19 /*pclasskindnode5*/,  variable20 /*tclassidnode6*/,  variable14 /*listnode8*/,  variable15 /*listnode10*/,  variable16 /*listnode13*/); /*new AClassdef*/
   variable25 = variable26;
   variable1 =  variable25 /*pclassdefnode1*/ /*node_list=*/;
   variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -8911,11 +8918,11 @@ void parser___ReduceAction77___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[E]*/
+  variable16 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable15 = variable16;
-  variable17 = NEW_array___Array___init(); /*new Array[E]*/
+  variable17 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable16 = variable17;
   variable17 =  variable13 /*nodearraylist1*/;
   variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -8963,7 +8970,7 @@ void parser___ReduceAction77___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable25)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/,  variable24 /*ppropdefnode11*/) /*AbstractArray::add*/;
   }
-  variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/,  variable18 /*tkwredefnode3*/,  variable19 /*pvisibilitynode4*/,  variable20 /*pclasskindnode5*/,  variable21 /*tclassidnode6*/,  variable14 /*listnode8*/,  variable15 /*listnode10*/,  variable16 /*listnode12*/); /*new AClassdef*/
+  variable26 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/,  variable18 /*tkwredefnode3*/,  variable19 /*pvisibilitynode4*/,  variable20 /*pclasskindnode5*/,  variable21 /*tclassidnode6*/,  variable14 /*listnode8*/,  variable15 /*listnode10*/,  variable16 /*listnode12*/); /*new AClassdef*/
   variable25 = variable26;
   variable1 =  variable25 /*pclassdefnode1*/ /*node_list=*/;
   variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -9041,11 +9048,11 @@ void parser___ReduceAction78___action(val_t  self, val_t  param0) {
   variable13 = variable14;
   variable15 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[E]*/
+  variable16 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable15 = variable16;
-  variable17 = NEW_array___Array___init(); /*new Array[E]*/
+  variable17 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable16 = variable17;
-  variable18 = NEW_array___Array___init(); /*new Array[E]*/
+  variable18 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable17 = variable18;
   variable18 =  variable14 /*nodearraylist1*/;
   variable19 = TAG_Bool(( variable18 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable18 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
@@ -9105,7 +9112,7 @@ void parser___ReduceAction78___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___IndexedCollection___append))( variable17 /*listnode13*/,  variable26 /*listnode12*/) /*IndexedCollection::append*/;
     }
   }
-  variable28 = NEW_parser_prod___AClassdef___init_aclassdef( variable18 /*pdocnode2*/,  variable19 /*tkwredefnode3*/,  variable20 /*pvisibilitynode4*/,  variable21 /*pclasskindnode5*/,  variable22 /*tclassidnode6*/,  variable15 /*listnode8*/,  variable16 /*listnode10*/,  variable17 /*listnode13*/); /*new AClassdef*/
+  variable28 = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable18 /*pdocnode2*/,  variable19 /*tkwredefnode3*/,  variable20 /*pvisibilitynode4*/,  variable21 /*pclasskindnode5*/,  variable22 /*tclassidnode6*/,  variable15 /*listnode8*/,  variable16 /*listnode10*/,  variable17 /*listnode13*/); /*new AClassdef*/
   variable27 = variable28;
   variable1 =  variable27 /*pclassdefnode1*/ /*node_list=*/;
   variable28 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(5)) /*Parser::go_to*/;
@@ -9139,7 +9146,7 @@ void parser___ReduceAction79___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwclassnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwclassnode2*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction79___action, LOCATE_parser, 4451); nit_exit(1);}
-  variable5 = NEW_parser_prod___AConcreteClasskind___init_aconcreteclasskind( variable3 /*tkwclassnode2*/); /*new AConcreteClasskind*/
+  variable5 = NEW_AConcreteClasskind_parser_prod___AConcreteClasskind___init_aconcreteclasskind( variable3 /*tkwclassnode2*/); /*new AConcreteClasskind*/
   variable4 = variable5;
   variable1 =  variable4 /*pclasskindnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(6)) /*Parser::go_to*/;
@@ -9180,7 +9187,7 @@ void parser___ReduceAction80___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*tkwclassnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwclassnode3*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction80___action, LOCATE_parser, 4470); nit_exit(1);}
-  variable7 = NEW_parser_prod___AAbstractClasskind___init_aabstractclasskind( variable4 /*tkwabstractnode2*/,  variable5 /*tkwclassnode3*/); /*new AAbstractClasskind*/
+  variable7 = NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___init_aabstractclasskind( variable4 /*tkwabstractnode2*/,  variable5 /*tkwclassnode3*/); /*new AAbstractClasskind*/
   variable6 = variable7;
   variable1 =  variable6 /*pclasskindnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(6)) /*Parser::go_to*/;
@@ -9214,7 +9221,7 @@ void parser___ReduceAction81___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwinterfacenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwinterfacenode2*/, COLOR_TKwinterface, ID_TKwinterface)) /*cast TKwinterface*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction81___action, LOCATE_parser, 4487); nit_exit(1);}
-  variable5 = NEW_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind( variable3 /*tkwinterfacenode2*/); /*new AInterfaceClasskind*/
+  variable5 = NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind( variable3 /*tkwinterfacenode2*/); /*new AInterfaceClasskind*/
   variable4 = variable5;
   variable1 =  variable4 /*pclasskindnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(6)) /*Parser::go_to*/;
@@ -9248,7 +9255,7 @@ void parser___ReduceAction82___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwuniversalnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwuniversalnode2*/, COLOR_TKwuniversal, ID_TKwuniversal)) /*cast TKwuniversal*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction82___action, LOCATE_parser, 4503); nit_exit(1);}
-  variable5 = NEW_parser_prod___AUniversalClasskind___init_auniversalclasskind( variable3 /*tkwuniversalnode2*/); /*new AUniversalClasskind*/
+  variable5 = NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___init_auniversalclasskind( variable3 /*tkwuniversalnode2*/); /*new AUniversalClasskind*/
   variable4 = variable5;
   variable1 =  variable4 /*pclasskindnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(6)) /*Parser::go_to*/;
@@ -9291,7 +9298,7 @@ void parser___ReduceAction83___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
@@ -9345,7 +9352,7 @@ void parser___ReduceAction84___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
@@ -9435,7 +9442,7 @@ void parser___ReduceAction86___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction86___action, LOCATE_parser, 4586); nit_exit(1);}
-  variable5 = NEW_parser_prod___AFormaldef___init_aformaldef( variable3 /*tclassidnode2*/,  NIT_NULL /*null*/); /*new AFormaldef*/
+  variable5 = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef( variable3 /*tclassidnode2*/,  NIT_NULL /*null*/); /*new AFormaldef*/
   variable4 = variable5;
   variable1 =  variable4 /*pformaldefnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(9)) /*Parser::go_to*/;
@@ -9476,7 +9483,7 @@ void parser___ReduceAction87___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction87___action, LOCATE_parser, 4606); nit_exit(1);}
-  variable7 = NEW_parser_prod___AFormaldef___init_aformaldef( variable4 /*tclassidnode2*/,  variable5 /*ptypenode3*/); /*new AFormaldef*/
+  variable7 = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef( variable4 /*tclassidnode2*/,  variable5 /*ptypenode3*/); /*new AFormaldef*/
   variable6 = variable7;
   variable1 =  variable6 /*pformaldefnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(9)) /*Parser::go_to*/;
@@ -9523,7 +9530,7 @@ void parser___ReduceAction88___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction88___action, LOCATE_parser, 4628); nit_exit(1);}
-  variable9 = NEW_parser_prod___ASuperclass___init_asuperclass( variable6 /*tkwspecialnode2*/,  variable7 /*ptypenode3*/); /*new ASuperclass*/
+  variable9 = NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass( variable6 /*tkwspecialnode2*/,  variable7 /*ptypenode3*/); /*new ASuperclass*/
   variable8 = variable9;
   variable1 =  variable8 /*psuperclassnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(10)) /*Parser::go_to*/;
@@ -9616,12 +9623,12 @@ void parser___ReduceAction90___action(val_t  self, val_t  param0) {
   variable9 =  variable6 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4666); nit_exit(1);}
-  variable11 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable9 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable11 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable9 /*tkwreadablenode5*/); /*new AReadAble*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4672); nit_exit(1);}
-  variable13 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable11 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable13 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable11 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable12 = variable13;
   variable13 =  variable4 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -9632,7 +9639,7 @@ void parser___ReduceAction90___action(val_t  self, val_t  param0) {
   variable15 =  variable2 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4682); nit_exit(1);}
-  variable17 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  variable10 /*pablenode3*/,  variable12 /*pablenode6*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode10*/,  variable14 /*tkwattrnode11*/,  variable15 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable17 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  variable10 /*pablenode3*/,  variable12 /*pablenode6*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode10*/,  variable14 /*tkwattrnode11*/,  variable15 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -9695,7 +9702,7 @@ void parser___ReduceAction91___action(val_t  self, val_t  param0) {
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4714); nit_exit(1);}
-  variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable10 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable12 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable10 /*tkwreadablenode5*/); /*new AReadAble*/
   variable11 = variable12;
   variable12 =  variable6 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -9703,7 +9710,7 @@ void parser___ReduceAction91___action(val_t  self, val_t  param0) {
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4722); nit_exit(1);}
-  variable15 = NEW_parser_prod___AWriteAble___init_awriteable( variable12 /*tkwredefnode7*/,  variable13 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable15 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable12 /*tkwredefnode7*/,  variable13 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable14 = variable15;
   variable15 =  variable4 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -9714,7 +9721,7 @@ void parser___ReduceAction91___action(val_t  self, val_t  param0) {
   variable17 =  variable2 /*nodearraylist7*/;
   variable18 = TAG_Bool(( variable17 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4732); nit_exit(1);}
-  variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable11 /*pablenode3*/,  variable14 /*pablenode6*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode10*/,  variable16 /*tkwattrnode11*/,  variable17 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable19 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable11 /*pablenode3*/,  variable14 /*pablenode6*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode10*/,  variable16 /*tkwattrnode11*/,  variable17 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -9768,7 +9775,7 @@ void parser___ReduceAction92___action(val_t  self, val_t  param0) {
   variable8 =  variable5 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable8 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4762); nit_exit(1);}
-  variable10 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable8 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable10 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable8 /*tkwreadablenode5*/); /*new AReadAble*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -9779,7 +9786,7 @@ void parser___ReduceAction92___action(val_t  self, val_t  param0) {
   variable12 =  variable2 /*nodearraylist5*/;
   variable13 = TAG_Bool(( variable12 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4772); nit_exit(1);}
-  variable14 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/,  variable9 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode8*/,  variable11 /*tkwattrnode9*/,  variable12 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable14 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/,  variable9 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode8*/,  variable11 /*tkwattrnode9*/,  variable12 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable13 = variable14;
   variable1 =  variable13 /*ppropdefnode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -9845,12 +9852,12 @@ void parser___ReduceAction93___action(val_t  self, val_t  param0) {
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4806); nit_exit(1);}
-  variable13 = NEW_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable13 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4812); nit_exit(1);}
-  variable15 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable13 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable15 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable13 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable14 = variable15;
   variable15 =  variable4 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -9861,7 +9868,7 @@ void parser___ReduceAction93___action(val_t  self, val_t  param0) {
   variable17 =  variable2 /*nodearraylist7*/;
   variable18 = TAG_Bool(( variable17 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4822); nit_exit(1);}
-  variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable12 /*pablenode3*/,  variable14 /*pablenode6*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode10*/,  variable16 /*tkwattrnode11*/,  variable17 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable19 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable12 /*pablenode3*/,  variable14 /*pablenode6*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode10*/,  variable16 /*tkwattrnode11*/,  variable17 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -9931,7 +9938,7 @@ void parser___ReduceAction94___action(val_t  self, val_t  param0) {
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4857); nit_exit(1);}
-  variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable14 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
   variable13 = variable14;
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -9939,7 +9946,7 @@ void parser___ReduceAction94___action(val_t  self, val_t  param0) {
   variable15 =  variable5 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4865); nit_exit(1);}
-  variable17 = NEW_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode7*/,  variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable17 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode7*/,  variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable16 = variable17;
   variable17 =  variable4 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -9950,7 +9957,7 @@ void parser___ReduceAction94___action(val_t  self, val_t  param0) {
   variable19 =  variable2 /*nodearraylist8*/;
   variable20 = TAG_Bool(( variable19 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4875); nit_exit(1);}
-  variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable13 /*pablenode3*/,  variable16 /*pablenode6*/,  NIT_NULL /*null*/,  variable17 /*pvisibilitynode10*/,  variable18 /*tkwattrnode11*/,  variable19 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable21 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable13 /*pablenode3*/,  variable16 /*pablenode6*/,  NIT_NULL /*null*/,  variable17 /*pvisibilitynode10*/,  variable18 /*tkwattrnode11*/,  variable19 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
   variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10011,7 +10018,7 @@ void parser___ReduceAction95___action(val_t  self, val_t  param0) {
   variable10 =  variable5 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4908); nit_exit(1);}
-  variable12 = NEW_parser_prod___AReadAble___init_areadable( variable9 /*tkwredefnode4*/,  variable10 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable12 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable9 /*tkwredefnode4*/,  variable10 /*tkwreadablenode5*/); /*new AReadAble*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -10022,7 +10029,7 @@ void parser___ReduceAction95___action(val_t  self, val_t  param0) {
   variable14 =  variable2 /*nodearraylist6*/;
   variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4918); nit_exit(1);}
-  variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  variable11 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable12 /*pvisibilitynode8*/,  variable13 /*tkwattrnode9*/,  variable14 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable16 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  variable11 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable12 /*pvisibilitynode8*/,  variable13 /*tkwattrnode9*/,  variable14 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10076,7 +10083,7 @@ void parser___ReduceAction96___action(val_t  self, val_t  param0) {
   variable8 =  variable5 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable8 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 4948); nit_exit(1);}
-  variable10 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable8 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable10 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable8 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -10087,7 +10094,7 @@ void parser___ReduceAction96___action(val_t  self, val_t  param0) {
   variable12 =  variable2 /*nodearraylist5*/;
   variable13 = TAG_Bool(( variable12 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 4958); nit_exit(1);}
-  variable14 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/,  NIT_NULL /*null*/,  variable9 /*pablenode4*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode8*/,  variable11 /*tkwattrnode9*/,  variable12 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable14 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/,  NIT_NULL /*null*/,  variable9 /*pablenode4*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode8*/,  variable11 /*tkwattrnode9*/,  variable12 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable13 = variable14;
   variable1 =  variable13 /*ppropdefnode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10148,7 +10155,7 @@ void parser___ReduceAction97___action(val_t  self, val_t  param0) {
   variable10 =  variable5 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable10 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 4991); nit_exit(1);}
-  variable12 = NEW_parser_prod___AWriteAble___init_awriteable( variable9 /*tkwredefnode5*/,  variable10 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable12 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable9 /*tkwredefnode5*/,  variable10 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -10159,7 +10166,7 @@ void parser___ReduceAction97___action(val_t  self, val_t  param0) {
   variable14 =  variable2 /*nodearraylist6*/;
   variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5001); nit_exit(1);}
-  variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pablenode4*/,  NIT_NULL /*null*/,  variable12 /*pvisibilitynode8*/,  variable13 /*tkwattrnode9*/,  variable14 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable16 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pablenode4*/,  NIT_NULL /*null*/,  variable12 /*pvisibilitynode8*/,  variable13 /*tkwattrnode9*/,  variable14 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10214,7 +10221,7 @@ void parser___ReduceAction98___action(val_t  self, val_t  param0) {
   variable9 =  variable2 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable9 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5034); nit_exit(1);}
-  variable11 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable6 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable7 /*pvisibilitynode6*/,  variable8 /*tkwattrnode7*/,  variable9 /*tattridnode8*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable11 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable6 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable7 /*pvisibilitynode6*/,  variable8 /*tkwattrnode7*/,  variable9 /*tattridnode8*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable10 = variable11;
   variable1 =  variable10 /*ppropdefnode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10277,12 +10284,12 @@ void parser___ReduceAction99___action(val_t  self, val_t  param0) {
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5066); nit_exit(1);}
-  variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable10 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable12 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable10 /*tkwreadablenode5*/); /*new AReadAble*/
   variable11 = variable12;
   variable12 =  variable6 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5072); nit_exit(1);}
-  variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable12 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable14 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable12 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable13 = variable14;
   variable14 =  variable5 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -10296,7 +10303,7 @@ void parser___ReduceAction99___action(val_t  self, val_t  param0) {
   variable17 =  variable2 /*nodearraylist7*/;
   variable18 = TAG_Bool(( variable17 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5084); nit_exit(1);}
-  variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable11 /*pablenode3*/,  variable13 /*pablenode6*/,  variable14 /*tkwredefnode9*/,  variable15 /*pvisibilitynode10*/,  variable16 /*tkwattrnode11*/,  variable17 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable19 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable11 /*pablenode3*/,  variable13 /*pablenode6*/,  variable14 /*tkwredefnode9*/,  variable15 /*pvisibilitynode10*/,  variable16 /*tkwattrnode11*/,  variable17 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10363,7 +10370,7 @@ void parser___ReduceAction100___action(val_t  self, val_t  param0) {
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5117); nit_exit(1);}
-  variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable13 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
   variable12 = variable13;
   variable13 =  variable7 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -10371,7 +10378,7 @@ void parser___ReduceAction100___action(val_t  self, val_t  param0) {
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5125); nit_exit(1);}
-  variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode7*/,  variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable16 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode7*/,  variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable15 = variable16;
   variable16 =  variable5 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -10385,7 +10392,7 @@ void parser___ReduceAction100___action(val_t  self, val_t  param0) {
   variable19 =  variable2 /*nodearraylist8*/;
   variable20 = TAG_Bool(( variable19 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5137); nit_exit(1);}
-  variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable12 /*pablenode3*/,  variable15 /*pablenode6*/,  variable16 /*tkwredefnode9*/,  variable17 /*pvisibilitynode10*/,  variable18 /*tkwattrnode11*/,  variable19 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable21 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable12 /*pablenode3*/,  variable15 /*pablenode6*/,  variable16 /*tkwredefnode9*/,  variable17 /*pvisibilitynode10*/,  variable18 /*tkwattrnode11*/,  variable19 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
   variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10443,7 +10450,7 @@ void parser___ReduceAction101___action(val_t  self, val_t  param0) {
   variable9 =  variable6 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5168); nit_exit(1);}
-  variable11 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable9 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable11 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable9 /*tkwreadablenode5*/); /*new AReadAble*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -10457,7 +10464,7 @@ void parser___ReduceAction101___action(val_t  self, val_t  param0) {
   variable14 =  variable2 /*nodearraylist6*/;
   variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5180); nit_exit(1);}
-  variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  variable10 /*pablenode3*/,  NIT_NULL /*null*/,  variable11 /*tkwredefnode7*/,  variable12 /*pvisibilitynode8*/,  variable13 /*tkwattrnode9*/,  variable14 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable16 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  variable10 /*pablenode3*/,  NIT_NULL /*null*/,  variable11 /*tkwredefnode7*/,  variable12 /*pvisibilitynode8*/,  variable13 /*tkwattrnode9*/,  variable14 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10527,12 +10534,12 @@ void parser___ReduceAction102___action(val_t  self, val_t  param0) {
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5215); nit_exit(1);}
-  variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable14 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
   variable13 = variable14;
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5221); nit_exit(1);}
-  variable16 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable16 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable15 = variable16;
   variable16 =  variable5 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -10546,7 +10553,7 @@ void parser___ReduceAction102___action(val_t  self, val_t  param0) {
   variable19 =  variable2 /*nodearraylist8*/;
   variable20 = TAG_Bool(( variable19 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5233); nit_exit(1);}
-  variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable13 /*pablenode3*/,  variable15 /*pablenode6*/,  variable16 /*tkwredefnode9*/,  variable17 /*pvisibilitynode10*/,  variable18 /*tkwattrnode11*/,  variable19 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable21 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable13 /*pablenode3*/,  variable15 /*pablenode6*/,  variable16 /*tkwredefnode9*/,  variable17 /*pvisibilitynode10*/,  variable18 /*tkwattrnode11*/,  variable19 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
   variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10620,7 +10627,7 @@ void parser___ReduceAction103___action(val_t  self, val_t  param0) {
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5269); nit_exit(1);}
-  variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable15 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
   variable14 = variable15;
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -10628,7 +10635,7 @@ void parser___ReduceAction103___action(val_t  self, val_t  param0) {
   variable16 =  variable6 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5277); nit_exit(1);}
-  variable18 = NEW_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/,  variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable18 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/,  variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable17 = variable18;
   variable18 =  variable5 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -10642,7 +10649,7 @@ void parser___ReduceAction103___action(val_t  self, val_t  param0) {
   variable21 =  variable2 /*nodearraylist9*/;
   variable22 = TAG_Bool(( variable21 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable21 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5289); nit_exit(1);}
-  variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable17 /*pablenode6*/,  variable18 /*tkwredefnode9*/,  variable19 /*pvisibilitynode10*/,  variable20 /*tkwattrnode11*/,  variable21 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable23 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable17 /*pablenode6*/,  variable18 /*tkwredefnode9*/,  variable19 /*pvisibilitynode10*/,  variable20 /*tkwattrnode11*/,  variable21 /*tattridnode12*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
   variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10707,7 +10714,7 @@ void parser___ReduceAction104___action(val_t  self, val_t  param0) {
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5323); nit_exit(1);}
-  variable13 = NEW_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable13 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -10721,7 +10728,7 @@ void parser___ReduceAction104___action(val_t  self, val_t  param0) {
   variable16 =  variable2 /*nodearraylist7*/;
   variable17 = TAG_Bool(( variable16 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5335); nit_exit(1);}
-  variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable12 /*pablenode3*/,  NIT_NULL /*null*/,  variable13 /*tkwredefnode7*/,  variable14 /*pvisibilitynode8*/,  variable15 /*tkwattrnode9*/,  variable16 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable18 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable12 /*pablenode3*/,  NIT_NULL /*null*/,  variable13 /*tkwredefnode7*/,  variable14 /*pvisibilitynode8*/,  variable15 /*tkwattrnode9*/,  variable16 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10779,7 +10786,7 @@ void parser___ReduceAction105___action(val_t  self, val_t  param0) {
   variable9 =  variable6 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable9 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5366); nit_exit(1);}
-  variable11 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable9 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable11 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable9 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -10793,7 +10800,7 @@ void parser___ReduceAction105___action(val_t  self, val_t  param0) {
   variable14 =  variable2 /*nodearraylist6*/;
   variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5378); nit_exit(1);}
-  variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pablenode4*/,  variable11 /*tkwredefnode7*/,  variable12 /*pvisibilitynode8*/,  variable13 /*tkwattrnode9*/,  variable14 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable16 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pablenode4*/,  variable11 /*tkwredefnode7*/,  variable12 /*pvisibilitynode8*/,  variable13 /*tkwattrnode9*/,  variable14 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10858,7 +10865,7 @@ void parser___ReduceAction106___action(val_t  self, val_t  param0) {
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5412); nit_exit(1);}
-  variable13 = NEW_parser_prod___AWriteAble___init_awriteable( variable10 /*tkwredefnode5*/,  variable11 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable13 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable10 /*tkwredefnode5*/,  variable11 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -10872,7 +10879,7 @@ void parser___ReduceAction106___action(val_t  self, val_t  param0) {
   variable16 =  variable2 /*nodearraylist7*/;
   variable17 = TAG_Bool(( variable16 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5424); nit_exit(1);}
-  variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable12 /*pablenode4*/,  variable13 /*tkwredefnode7*/,  variable14 /*pvisibilitynode8*/,  variable15 /*tkwattrnode9*/,  variable16 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable18 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable12 /*pablenode4*/,  variable13 /*tkwredefnode7*/,  variable14 /*pvisibilitynode8*/,  variable15 /*tkwattrnode9*/,  variable16 /*tattridnode10*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10934,7 +10941,7 @@ void parser___ReduceAction107___action(val_t  self, val_t  param0) {
   variable11 =  variable2 /*nodearraylist5*/;
   variable12 = TAG_Bool(( variable11 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable11 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5460); nit_exit(1);}
-  variable13 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable8 /*tkwredefnode5*/,  variable9 /*pvisibilitynode6*/,  variable10 /*tkwattrnode7*/,  variable11 /*tattridnode8*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable13 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable8 /*tkwredefnode5*/,  variable9 /*pvisibilitynode6*/,  variable10 /*tkwattrnode7*/,  variable11 /*tattridnode8*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable12 = variable13;
   variable1 =  variable12 /*ppropdefnode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -10997,12 +11004,12 @@ void parser___ReduceAction108___action(val_t  self, val_t  param0) {
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5492); nit_exit(1);}
-  variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable10 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable12 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable10 /*tkwreadablenode5*/); /*new AReadAble*/
   variable11 = variable12;
   variable12 =  variable6 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5498); nit_exit(1);}
-  variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable12 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable14 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable12 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable13 = variable14;
   variable14 =  variable5 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -11016,7 +11023,7 @@ void parser___ReduceAction108___action(val_t  self, val_t  param0) {
   variable17 =  variable2 /*nodearraylist7*/;
   variable18 = TAG_Bool(( variable17 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable17 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5510); nit_exit(1);}
-  variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable11 /*pablenode3*/,  variable13 /*pablenode6*/,  NIT_NULL /*null*/,  variable14 /*pvisibilitynode10*/,  variable15 /*tkwattrnode11*/,  variable16 /*tattridnode12*/,  variable17 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable19 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable11 /*pablenode3*/,  variable13 /*pablenode6*/,  NIT_NULL /*null*/,  variable14 /*pvisibilitynode10*/,  variable15 /*tkwattrnode11*/,  variable16 /*tattridnode12*/,  variable17 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11083,7 +11090,7 @@ void parser___ReduceAction109___action(val_t  self, val_t  param0) {
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5543); nit_exit(1);}
-  variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable13 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
   variable12 = variable13;
   variable13 =  variable7 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -11091,7 +11098,7 @@ void parser___ReduceAction109___action(val_t  self, val_t  param0) {
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5551); nit_exit(1);}
-  variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode7*/,  variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable16 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode7*/,  variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable15 = variable16;
   variable16 =  variable5 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -11105,7 +11112,7 @@ void parser___ReduceAction109___action(val_t  self, val_t  param0) {
   variable19 =  variable2 /*nodearraylist8*/;
   variable20 = TAG_Bool(( variable19 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5563); nit_exit(1);}
-  variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable12 /*pablenode3*/,  variable15 /*pablenode6*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode10*/,  variable17 /*tkwattrnode11*/,  variable18 /*tattridnode12*/,  variable19 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable21 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable12 /*pablenode3*/,  variable15 /*pablenode6*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode10*/,  variable17 /*tkwattrnode11*/,  variable18 /*tattridnode12*/,  variable19 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
   variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11163,7 +11170,7 @@ void parser___ReduceAction110___action(val_t  self, val_t  param0) {
   variable9 =  variable6 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5594); nit_exit(1);}
-  variable11 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable9 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable11 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable9 /*tkwreadablenode5*/); /*new AReadAble*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -11177,7 +11184,7 @@ void parser___ReduceAction110___action(val_t  self, val_t  param0) {
   variable14 =  variable2 /*nodearraylist6*/;
   variable15 = TAG_Bool(( variable14 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5606); nit_exit(1);}
-  variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  variable10 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode8*/,  variable12 /*tkwattrnode9*/,  variable13 /*tattridnode10*/,  variable14 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable16 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  variable10 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode8*/,  variable12 /*tkwattrnode9*/,  variable13 /*tattridnode10*/,  variable14 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11247,12 +11254,12 @@ void parser___ReduceAction111___action(val_t  self, val_t  param0) {
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5641); nit_exit(1);}
-  variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable14 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
   variable13 = variable14;
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5647); nit_exit(1);}
-  variable16 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable16 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable15 = variable16;
   variable16 =  variable5 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -11266,7 +11273,7 @@ void parser___ReduceAction111___action(val_t  self, val_t  param0) {
   variable19 =  variable2 /*nodearraylist8*/;
   variable20 = TAG_Bool(( variable19 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5659); nit_exit(1);}
-  variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable13 /*pablenode3*/,  variable15 /*pablenode6*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode10*/,  variable17 /*tkwattrnode11*/,  variable18 /*tattridnode12*/,  variable19 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable21 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable13 /*pablenode3*/,  variable15 /*pablenode6*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode10*/,  variable17 /*tkwattrnode11*/,  variable18 /*tattridnode12*/,  variable19 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
   variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11340,7 +11347,7 @@ void parser___ReduceAction112___action(val_t  self, val_t  param0) {
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5695); nit_exit(1);}
-  variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable15 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
   variable14 = variable15;
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -11348,7 +11355,7 @@ void parser___ReduceAction112___action(val_t  self, val_t  param0) {
   variable16 =  variable6 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5703); nit_exit(1);}
-  variable18 = NEW_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/,  variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable18 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/,  variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable17 = variable18;
   variable18 =  variable5 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -11362,7 +11369,7 @@ void parser___ReduceAction112___action(val_t  self, val_t  param0) {
   variable21 =  variable2 /*nodearraylist9*/;
   variable22 = TAG_Bool(( variable21 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5715); nit_exit(1);}
-  variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable17 /*pablenode6*/,  NIT_NULL /*null*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  variable21 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable23 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable17 /*pablenode6*/,  NIT_NULL /*null*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  variable21 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
   variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11427,7 +11434,7 @@ void parser___ReduceAction113___action(val_t  self, val_t  param0) {
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5749); nit_exit(1);}
-  variable13 = NEW_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable13 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -11441,7 +11448,7 @@ void parser___ReduceAction113___action(val_t  self, val_t  param0) {
   variable16 =  variable2 /*nodearraylist7*/;
   variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5761); nit_exit(1);}
-  variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable12 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  variable16 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable18 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable12 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  variable16 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11499,7 +11506,7 @@ void parser___ReduceAction114___action(val_t  self, val_t  param0) {
   variable9 =  variable6 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable9 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5792); nit_exit(1);}
-  variable11 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable9 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable11 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable9 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -11513,7 +11520,7 @@ void parser___ReduceAction114___action(val_t  self, val_t  param0) {
   variable14 =  variable2 /*nodearraylist6*/;
   variable15 = TAG_Bool(( variable14 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5804); nit_exit(1);}
-  variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pablenode4*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode8*/,  variable12 /*tkwattrnode9*/,  variable13 /*tattridnode10*/,  variable14 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable16 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pablenode4*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode8*/,  variable12 /*tkwattrnode9*/,  variable13 /*tattridnode10*/,  variable14 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11578,7 +11585,7 @@ void parser___ReduceAction115___action(val_t  self, val_t  param0) {
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5838); nit_exit(1);}
-  variable13 = NEW_parser_prod___AWriteAble___init_awriteable( variable10 /*tkwredefnode5*/,  variable11 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable13 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable10 /*tkwredefnode5*/,  variable11 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -11592,7 +11599,7 @@ void parser___ReduceAction115___action(val_t  self, val_t  param0) {
   variable16 =  variable2 /*nodearraylist7*/;
   variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5850); nit_exit(1);}
-  variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable12 /*pablenode4*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  variable16 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable18 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable12 /*pablenode4*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  variable16 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11654,7 +11661,7 @@ void parser___ReduceAction116___action(val_t  self, val_t  param0) {
   variable11 =  variable2 /*nodearraylist5*/;
   variable12 = TAG_Bool(( variable11 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5886); nit_exit(1);}
-  variable13 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable8 /*pvisibilitynode6*/,  variable9 /*tkwattrnode7*/,  variable10 /*tattridnode8*/,  variable11 /*ptypenode9*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable13 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable8 /*pvisibilitynode6*/,  variable9 /*tkwattrnode7*/,  variable10 /*tattridnode8*/,  variable11 /*ptypenode9*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable12 = variable13;
   variable1 =  variable12 /*ppropdefnode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11721,12 +11728,12 @@ void parser___ReduceAction117___action(val_t  self, val_t  param0) {
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 5919); nit_exit(1);}
-  variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable13 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
   variable12 = variable13;
   variable13 =  variable7 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 5925); nit_exit(1);}
-  variable15 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable13 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable15 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable13 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable14 = variable15;
   variable15 =  variable6 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -11743,7 +11750,7 @@ void parser___ReduceAction117___action(val_t  self, val_t  param0) {
   variable19 =  variable2 /*nodearraylist8*/;
   variable20 = TAG_Bool(( variable19 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 5939); nit_exit(1);}
-  variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable12 /*pablenode3*/,  variable14 /*pablenode6*/,  variable15 /*tkwredefnode9*/,  variable16 /*pvisibilitynode10*/,  variable17 /*tkwattrnode11*/,  variable18 /*tattridnode12*/,  variable19 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable21 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable12 /*pablenode3*/,  variable14 /*pablenode6*/,  variable15 /*tkwredefnode9*/,  variable16 /*pvisibilitynode10*/,  variable17 /*tkwattrnode11*/,  variable18 /*tattridnode12*/,  variable19 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
   variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11814,7 +11821,7 @@ void parser___ReduceAction118___action(val_t  self, val_t  param0) {
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 5973); nit_exit(1);}
-  variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable14 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
   variable13 = variable14;
   variable14 =  variable8 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -11822,7 +11829,7 @@ void parser___ReduceAction118___action(val_t  self, val_t  param0) {
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 5981); nit_exit(1);}
-  variable17 = NEW_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode7*/,  variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable17 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode7*/,  variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable16 = variable17;
   variable17 =  variable6 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -11839,7 +11846,7 @@ void parser___ReduceAction118___action(val_t  self, val_t  param0) {
   variable21 =  variable2 /*nodearraylist9*/;
   variable22 = TAG_Bool(( variable21 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 5995); nit_exit(1);}
-  variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable13 /*pablenode3*/,  variable16 /*pablenode6*/,  variable17 /*tkwredefnode9*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  variable21 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable23 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable13 /*pablenode3*/,  variable16 /*pablenode6*/,  variable17 /*tkwredefnode9*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  variable21 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
   variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11901,7 +11908,7 @@ void parser___ReduceAction119___action(val_t  self, val_t  param0) {
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6027); nit_exit(1);}
-  variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable10 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable12 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable10 /*tkwreadablenode5*/); /*new AReadAble*/
   variable11 = variable12;
   variable12 =  variable6 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -11918,7 +11925,7 @@ void parser___ReduceAction119___action(val_t  self, val_t  param0) {
   variable16 =  variable2 /*nodearraylist7*/;
   variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6041); nit_exit(1);}
-  variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable11 /*pablenode3*/,  NIT_NULL /*null*/,  variable12 /*tkwredefnode7*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  variable16 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable18 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  variable11 /*pablenode3*/,  NIT_NULL /*null*/,  variable12 /*tkwredefnode7*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  variable16 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -11992,12 +11999,12 @@ void parser___ReduceAction120___action(val_t  self, val_t  param0) {
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6077); nit_exit(1);}
-  variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable15 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
   variable14 = variable15;
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6083); nit_exit(1);}
-  variable17 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable17 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable16 = variable17;
   variable17 =  variable6 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -12014,7 +12021,7 @@ void parser___ReduceAction120___action(val_t  self, val_t  param0) {
   variable21 =  variable2 /*nodearraylist9*/;
   variable22 = TAG_Bool(( variable21 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6097); nit_exit(1);}
-  variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable16 /*pablenode6*/,  variable17 /*tkwredefnode9*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  variable21 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable23 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable16 /*pablenode6*/,  variable17 /*tkwredefnode9*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  variable21 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
   variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -12092,7 +12099,7 @@ void parser___ReduceAction121___action(val_t  self, val_t  param0) {
   variable14 =  variable9 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6134); nit_exit(1);}
-  variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable16 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
   variable15 = variable16;
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -12100,7 +12107,7 @@ void parser___ReduceAction121___action(val_t  self, val_t  param0) {
   variable17 =  variable7 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6142); nit_exit(1);}
-  variable19 = NEW_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/,  variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable19 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/,  variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable18 = variable19;
   variable19 =  variable6 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -12117,7 +12124,7 @@ void parser___ReduceAction121___action(val_t  self, val_t  param0) {
   variable23 =  variable2 /*nodearraylist10*/;
   variable24 = TAG_Bool(( variable23 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable23 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6156); nit_exit(1);}
-  variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable15 /*pablenode3*/,  variable18 /*pablenode6*/,  variable19 /*tkwredefnode9*/,  variable20 /*pvisibilitynode10*/,  variable21 /*tkwattrnode11*/,  variable22 /*tattridnode12*/,  variable23 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable25 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable15 /*pablenode3*/,  variable18 /*pablenode6*/,  variable19 /*tkwredefnode9*/,  variable20 /*pvisibilitynode10*/,  variable21 /*tkwattrnode11*/,  variable22 /*tattridnode12*/,  variable23 /*ptypenode13*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
   variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -12186,7 +12193,7 @@ void parser___ReduceAction122___action(val_t  self, val_t  param0) {
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6191); nit_exit(1);}
-  variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable14 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
   variable13 = variable14;
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -12203,7 +12210,7 @@ void parser___ReduceAction122___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist8*/;
   variable19 = TAG_Bool(( variable18 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable18 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6205); nit_exit(1);}
-  variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable13 /*pablenode3*/,  NIT_NULL /*null*/,  variable14 /*tkwredefnode7*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  variable18 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable20 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable13 /*pablenode3*/,  NIT_NULL /*null*/,  variable14 /*tkwredefnode7*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  variable18 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -12265,7 +12272,7 @@ void parser___ReduceAction123___action(val_t  self, val_t  param0) {
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable10 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6237); nit_exit(1);}
-  variable12 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable10 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable12 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable10 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable11 = variable12;
   variable12 =  variable6 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -12282,7 +12289,7 @@ void parser___ReduceAction123___action(val_t  self, val_t  param0) {
   variable16 =  variable2 /*nodearraylist7*/;
   variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6251); nit_exit(1);}
-  variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pablenode4*/,  variable12 /*tkwredefnode7*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  variable16 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable18 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pablenode4*/,  variable12 /*tkwredefnode7*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  variable16 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -12351,7 +12358,7 @@ void parser___ReduceAction124___action(val_t  self, val_t  param0) {
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6286); nit_exit(1);}
-  variable14 = NEW_parser_prod___AWriteAble___init_awriteable( variable11 /*tkwredefnode5*/,  variable12 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable14 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable11 /*tkwredefnode5*/,  variable12 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable13 = variable14;
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -12368,7 +12375,7 @@ void parser___ReduceAction124___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist8*/;
   variable19 = TAG_Bool(( variable18 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable18 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6300); nit_exit(1);}
-  variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable13 /*pablenode4*/,  variable14 /*tkwredefnode7*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  variable18 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable20 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable13 /*pablenode4*/,  variable14 /*tkwredefnode7*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  variable18 /*ptypenode11*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -12437,7 +12444,7 @@ void parser___ReduceAction125___action(val_t  self, val_t  param0) {
   variable13 =  variable2 /*nodearraylist6*/;
   variable14 = TAG_Bool(( variable13 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable13 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6339); nit_exit(1);}
-  variable15 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable9 /*tkwredefnode5*/,  variable10 /*pvisibilitynode6*/,  variable11 /*tkwattrnode7*/,  variable12 /*tattridnode8*/,  variable13 /*ptypenode9*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
+  variable15 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable9 /*tkwredefnode5*/,  variable10 /*pvisibilitynode6*/,  variable11 /*tkwattrnode7*/,  variable12 /*tattridnode8*/,  variable13 /*ptypenode9*/,  NIT_NULL /*null*/); /*new AAttrPropdef*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -12506,12 +12513,12 @@ void parser___ReduceAction126___action(val_t  self, val_t  param0) {
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6373); nit_exit(1);}
-  variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable14 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
   variable13 = variable14;
   variable14 =  variable8 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6379); nit_exit(1);}
-  variable16 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable16 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable15 = variable16;
   variable16 =  variable7 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -12525,7 +12532,7 @@ void parser___ReduceAction126___action(val_t  self, val_t  param0) {
   variable19 =  variable2 /*nodearraylist9*/;
   variable20 = TAG_Bool(( variable19 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable19 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6391); nit_exit(1);}
-  variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable13 /*pablenode3*/,  variable15 /*pablenode6*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode10*/,  variable17 /*tkwattrnode11*/,  variable18 /*tattridnode12*/,  NIT_NULL /*null*/,  variable19 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable21 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable13 /*pablenode3*/,  variable15 /*pablenode6*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode10*/,  variable17 /*tkwattrnode11*/,  variable18 /*tattridnode12*/,  NIT_NULL /*null*/,  variable19 /*pexprnode14*/); /*new AAttrPropdef*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
   variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -12598,7 +12605,7 @@ void parser___ReduceAction127___action(val_t  self, val_t  param0) {
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6426); nit_exit(1);}
-  variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable15 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
   variable14 = variable15;
   variable15 =  variable9 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -12606,7 +12613,7 @@ void parser___ReduceAction127___action(val_t  self, val_t  param0) {
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6434); nit_exit(1);}
-  variable18 = NEW_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/,  variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable18 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/,  variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable17 = variable18;
   variable18 =  variable7 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -12620,7 +12627,7 @@ void parser___ReduceAction127___action(val_t  self, val_t  param0) {
   variable21 =  variable2 /*nodearraylist10*/;
   variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6446); nit_exit(1);}
-  variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable17 /*pablenode6*/,  NIT_NULL /*null*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  NIT_NULL /*null*/,  variable21 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable23 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable17 /*pablenode6*/,  NIT_NULL /*null*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  NIT_NULL /*null*/,  variable21 /*pexprnode14*/); /*new AAttrPropdef*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
   variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -12684,7 +12691,7 @@ void parser___ReduceAction128___action(val_t  self, val_t  param0) {
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6479); nit_exit(1);}
-  variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable13 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable11 /*tkwreadablenode5*/); /*new AReadAble*/
   variable12 = variable13;
   variable13 =  variable7 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -12698,7 +12705,7 @@ void parser___ReduceAction128___action(val_t  self, val_t  param0) {
   variable16 =  variable2 /*nodearraylist8*/;
   variable17 = TAG_Bool(( variable16 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6491); nit_exit(1);}
-  variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable12 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  NIT_NULL /*null*/,  variable16 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable18 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  variable12 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  NIT_NULL /*null*/,  variable16 /*pexprnode12*/); /*new AAttrPropdef*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -12774,12 +12781,12 @@ void parser___ReduceAction129___action(val_t  self, val_t  param0) {
   variable14 =  variable9 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6528); nit_exit(1);}
-  variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable16 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
   variable15 = variable16;
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6534); nit_exit(1);}
-  variable18 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable18 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable17 = variable18;
   variable18 =  variable7 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -12793,7 +12800,7 @@ void parser___ReduceAction129___action(val_t  self, val_t  param0) {
   variable21 =  variable2 /*nodearraylist10*/;
   variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6546); nit_exit(1);}
-  variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable15 /*pablenode3*/,  variable17 /*pablenode6*/,  NIT_NULL /*null*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  NIT_NULL /*null*/,  variable21 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable23 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable15 /*pablenode3*/,  variable17 /*pablenode6*/,  NIT_NULL /*null*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  NIT_NULL /*null*/,  variable21 /*pexprnode14*/); /*new AAttrPropdef*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
   variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -12873,7 +12880,7 @@ void parser___ReduceAction130___action(val_t  self, val_t  param0) {
   variable15 =  variable10 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6584); nit_exit(1);}
-  variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/,  variable15 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable17 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/,  variable15 /*tkwreadablenode5*/); /*new AReadAble*/
   variable16 = variable17;
   variable17 =  variable9 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -12881,7 +12888,7 @@ void parser___ReduceAction130___action(val_t  self, val_t  param0) {
   variable18 =  variable8 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable18 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6592); nit_exit(1);}
-  variable20 = NEW_parser_prod___AWriteAble___init_awriteable( variable17 /*tkwredefnode7*/,  variable18 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable20 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable17 /*tkwredefnode7*/,  variable18 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable19 = variable20;
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -12895,7 +12902,7 @@ void parser___ReduceAction130___action(val_t  self, val_t  param0) {
   variable23 =  variable2 /*nodearraylist11*/;
   variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6604); nit_exit(1);}
-  variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable16 /*pablenode3*/,  variable19 /*pablenode6*/,  NIT_NULL /*null*/,  variable20 /*pvisibilitynode10*/,  variable21 /*tkwattrnode11*/,  variable22 /*tattridnode12*/,  NIT_NULL /*null*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable25 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable16 /*pablenode3*/,  variable19 /*pablenode6*/,  NIT_NULL /*null*/,  variable20 /*pvisibilitynode10*/,  variable21 /*tkwattrnode11*/,  variable22 /*tattridnode12*/,  NIT_NULL /*null*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
   variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -12966,7 +12973,7 @@ void parser___ReduceAction131___action(val_t  self, val_t  param0) {
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6640); nit_exit(1);}
-  variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable15 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
   variable14 = variable15;
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -12980,7 +12987,7 @@ void parser___ReduceAction131___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist9*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6652); nit_exit(1);}
-  variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable14 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  NIT_NULL /*null*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable20 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable14 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  NIT_NULL /*null*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -13044,7 +13051,7 @@ void parser___ReduceAction132___action(val_t  self, val_t  param0) {
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6685); nit_exit(1);}
-  variable13 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable11 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable13 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable11 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable12 = variable13;
   variable13 =  variable7 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -13058,7 +13065,7 @@ void parser___ReduceAction132___action(val_t  self, val_t  param0) {
   variable16 =  variable2 /*nodearraylist8*/;
   variable17 = TAG_Bool(( variable16 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6697); nit_exit(1);}
-  variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable12 /*pablenode4*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  NIT_NULL /*null*/,  variable16 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable18 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable12 /*pablenode4*/,  NIT_NULL /*null*/,  variable13 /*pvisibilitynode8*/,  variable14 /*tkwattrnode9*/,  variable15 /*tattridnode10*/,  NIT_NULL /*null*/,  variable16 /*pexprnode12*/); /*new AAttrPropdef*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -13129,7 +13136,7 @@ void parser___ReduceAction133___action(val_t  self, val_t  param0) {
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6733); nit_exit(1);}
-  variable15 = NEW_parser_prod___AWriteAble___init_awriteable( variable12 /*tkwredefnode5*/,  variable13 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable15 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable12 /*tkwredefnode5*/,  variable13 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable14 = variable15;
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -13143,7 +13150,7 @@ void parser___ReduceAction133___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist9*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6745); nit_exit(1);}
-  variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  variable14 /*pablenode4*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  NIT_NULL /*null*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable20 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  variable14 /*pablenode4*/,  NIT_NULL /*null*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  NIT_NULL /*null*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -13211,7 +13218,7 @@ void parser___ReduceAction134___action(val_t  self, val_t  param0) {
   variable13 =  variable2 /*nodearraylist7*/;
   variable14 = TAG_Bool(( variable13 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6783); nit_exit(1);}
-  variable15 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode6*/,  variable11 /*tkwattrnode7*/,  variable12 /*tattridnode8*/,  NIT_NULL /*null*/,  variable13 /*pexprnode10*/); /*new AAttrPropdef*/
+  variable15 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode6*/,  variable11 /*tkwattrnode7*/,  variable12 /*tattridnode8*/,  NIT_NULL /*null*/,  variable13 /*pexprnode10*/); /*new AAttrPropdef*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -13284,12 +13291,12 @@ void parser___ReduceAction135___action(val_t  self, val_t  param0) {
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6818); nit_exit(1);}
-  variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable15 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
   variable14 = variable15;
   variable15 =  variable9 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6824); nit_exit(1);}
-  variable17 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable17 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable16 = variable17;
   variable17 =  variable8 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -13306,7 +13313,7 @@ void parser___ReduceAction135___action(val_t  self, val_t  param0) {
   variable21 =  variable2 /*nodearraylist10*/;
   variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6838); nit_exit(1);}
-  variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable16 /*pablenode6*/,  variable17 /*tkwredefnode9*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  NIT_NULL /*null*/,  variable21 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable23 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable16 /*pablenode6*/,  variable17 /*tkwredefnode9*/,  variable18 /*pvisibilitynode10*/,  variable19 /*tkwattrnode11*/,  variable20 /*tattridnode12*/,  NIT_NULL /*null*/,  variable21 /*pexprnode14*/); /*new AAttrPropdef*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
   variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -13383,7 +13390,7 @@ void parser___ReduceAction136___action(val_t  self, val_t  param0) {
   variable14 =  variable11 /*nodearraylist2*/;
   variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6874); nit_exit(1);}
-  variable16 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable16 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
   variable15 = variable16;
   variable16 =  variable10 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -13391,7 +13398,7 @@ void parser___ReduceAction136___action(val_t  self, val_t  param0) {
   variable17 =  variable9 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6882); nit_exit(1);}
-  variable19 = NEW_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/,  variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable19 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/,  variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable18 = variable19;
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -13408,7 +13415,7 @@ void parser___ReduceAction136___action(val_t  self, val_t  param0) {
   variable23 =  variable2 /*nodearraylist11*/;
   variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6896); nit_exit(1);}
-  variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable15 /*pablenode3*/,  variable18 /*pablenode6*/,  variable19 /*tkwredefnode9*/,  variable20 /*pvisibilitynode10*/,  variable21 /*tkwattrnode11*/,  variable22 /*tattridnode12*/,  NIT_NULL /*null*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable25 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable15 /*pablenode3*/,  variable18 /*pablenode6*/,  variable19 /*tkwredefnode9*/,  variable20 /*pvisibilitynode10*/,  variable21 /*tkwattrnode11*/,  variable22 /*tattridnode12*/,  NIT_NULL /*null*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
   variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -13476,7 +13483,7 @@ void parser___ReduceAction137___action(val_t  self, val_t  param0) {
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6930); nit_exit(1);}
-  variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable14 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
   variable13 = variable14;
   variable14 =  variable8 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -13493,7 +13500,7 @@ void parser___ReduceAction137___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist9*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6944); nit_exit(1);}
-  variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable13 /*pablenode3*/,  NIT_NULL /*null*/,  variable14 /*tkwredefnode7*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  NIT_NULL /*null*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable20 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable13 /*pablenode3*/,  NIT_NULL /*null*/,  variable14 /*tkwredefnode7*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  NIT_NULL /*null*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -13573,12 +13580,12 @@ void parser___ReduceAction138___action(val_t  self, val_t  param0) {
   variable15 =  variable10 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 6982); nit_exit(1);}
-  variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/,  variable15 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable17 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/,  variable15 /*tkwreadablenode5*/); /*new AReadAble*/
   variable16 = variable17;
   variable17 =  variable9 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 6988); nit_exit(1);}
-  variable19 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable19 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable18 = variable19;
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -13595,7 +13602,7 @@ void parser___ReduceAction138___action(val_t  self, val_t  param0) {
   variable23 =  variable2 /*nodearraylist11*/;
   variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7002); nit_exit(1);}
-  variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable16 /*pablenode3*/,  variable18 /*pablenode6*/,  variable19 /*tkwredefnode9*/,  variable20 /*pvisibilitynode10*/,  variable21 /*tkwattrnode11*/,  variable22 /*tattridnode12*/,  NIT_NULL /*null*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable25 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable16 /*pablenode3*/,  variable18 /*pablenode6*/,  variable19 /*tkwredefnode9*/,  variable20 /*pvisibilitynode10*/,  variable21 /*tkwattrnode11*/,  variable22 /*tattridnode12*/,  NIT_NULL /*null*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
   variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -13679,7 +13686,7 @@ void parser___ReduceAction139___action(val_t  self, val_t  param0) {
   variable16 =  variable11 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable16 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7041); nit_exit(1);}
-  variable18 = NEW_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/,  variable16 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable18 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/,  variable16 /*tkwreadablenode5*/); /*new AReadAble*/
   variable17 = variable18;
   variable18 =  variable10 /*nodearraylist4*/;
   variable19 = TAG_Bool(( variable18 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -13687,7 +13694,7 @@ void parser___ReduceAction139___action(val_t  self, val_t  param0) {
   variable19 =  variable9 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable19 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7049); nit_exit(1);}
-  variable21 = NEW_parser_prod___AWriteAble___init_awriteable( variable18 /*tkwredefnode7*/,  variable19 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable21 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable18 /*tkwredefnode7*/,  variable19 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable20 = variable21;
   variable21 =  variable8 /*nodearraylist6*/;
   variable22 = TAG_Bool(( variable21 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable21 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -13704,7 +13711,7 @@ void parser___ReduceAction139___action(val_t  self, val_t  param0) {
   variable25 =  variable2 /*nodearraylist12*/;
   variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7063); nit_exit(1);}
-  variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/,  variable17 /*pablenode3*/,  variable20 /*pablenode6*/,  variable21 /*tkwredefnode9*/,  variable22 /*pvisibilitynode10*/,  variable23 /*tkwattrnode11*/,  variable24 /*tattridnode12*/,  NIT_NULL /*null*/,  variable25 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable27 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/,  variable17 /*pablenode3*/,  variable20 /*pablenode6*/,  variable21 /*tkwredefnode9*/,  variable22 /*pvisibilitynode10*/,  variable23 /*tkwattrnode11*/,  variable24 /*tattridnode12*/,  NIT_NULL /*null*/,  variable25 /*pexprnode14*/); /*new AAttrPropdef*/
   variable26 = variable27;
   variable1 =  variable26 /*ppropdefnode1*/ /*node_list=*/;
   variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -13779,7 +13786,7 @@ void parser___ReduceAction140___action(val_t  self, val_t  param0) {
   variable14 =  variable9 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7100); nit_exit(1);}
-  variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable16 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
   variable15 = variable16;
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -13796,7 +13803,7 @@ void parser___ReduceAction140___action(val_t  self, val_t  param0) {
   variable20 =  variable2 /*nodearraylist10*/;
   variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7114); nit_exit(1);}
-  variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable15 /*pablenode3*/,  NIT_NULL /*null*/,  variable16 /*tkwredefnode7*/,  variable17 /*pvisibilitynode8*/,  variable18 /*tkwattrnode9*/,  variable19 /*tattridnode10*/,  NIT_NULL /*null*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable22 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable15 /*pablenode3*/,  NIT_NULL /*null*/,  variable16 /*tkwredefnode7*/,  variable17 /*pvisibilitynode8*/,  variable18 /*tkwattrnode9*/,  variable19 /*tattridnode10*/,  NIT_NULL /*null*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
   variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -13864,7 +13871,7 @@ void parser___ReduceAction141___action(val_t  self, val_t  param0) {
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7148); nit_exit(1);}
-  variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable12 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable14 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable12 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable13 = variable14;
   variable14 =  variable8 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -13881,7 +13888,7 @@ void parser___ReduceAction141___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist9*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7162); nit_exit(1);}
-  variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  variable13 /*pablenode4*/,  variable14 /*tkwredefnode7*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  NIT_NULL /*null*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable20 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  variable13 /*pablenode4*/,  variable14 /*tkwredefnode7*/,  variable15 /*pvisibilitynode8*/,  variable16 /*tkwattrnode9*/,  variable17 /*tattridnode10*/,  NIT_NULL /*null*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -13956,7 +13963,7 @@ void parser___ReduceAction142___action(val_t  self, val_t  param0) {
   variable14 =  variable9 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7199); nit_exit(1);}
-  variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode5*/,  variable14 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable16 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode5*/,  variable14 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable15 = variable16;
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -13973,7 +13980,7 @@ void parser___ReduceAction142___action(val_t  self, val_t  param0) {
   variable20 =  variable2 /*nodearraylist10*/;
   variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7213); nit_exit(1);}
-  variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  NIT_NULL /*null*/,  variable15 /*pablenode4*/,  variable16 /*tkwredefnode7*/,  variable17 /*pvisibilitynode8*/,  variable18 /*tkwattrnode9*/,  variable19 /*tattridnode10*/,  NIT_NULL /*null*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable22 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  NIT_NULL /*null*/,  variable15 /*pablenode4*/,  variable16 /*tkwredefnode7*/,  variable17 /*pvisibilitynode8*/,  variable18 /*tkwattrnode9*/,  variable19 /*tattridnode10*/,  NIT_NULL /*null*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
   variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -14048,7 +14055,7 @@ void parser___ReduceAction143___action(val_t  self, val_t  param0) {
   variable15 =  variable2 /*nodearraylist8*/;
   variable16 = TAG_Bool(( variable15 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7254); nit_exit(1);}
-  variable17 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable11 /*tkwredefnode5*/,  variable12 /*pvisibilitynode6*/,  variable13 /*tkwattrnode7*/,  variable14 /*tattridnode8*/,  NIT_NULL /*null*/,  variable15 /*pexprnode10*/); /*new AAttrPropdef*/
+  variable17 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable11 /*tkwredefnode5*/,  variable12 /*pvisibilitynode6*/,  variable13 /*tkwattrnode7*/,  variable14 /*tattridnode8*/,  NIT_NULL /*null*/,  variable15 /*pexprnode10*/); /*new AAttrPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -14121,12 +14128,12 @@ void parser___ReduceAction144___action(val_t  self, val_t  param0) {
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7289); nit_exit(1);}
-  variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable15 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
   variable14 = variable15;
   variable15 =  variable9 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7295); nit_exit(1);}
-  variable17 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable17 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable16 = variable17;
   variable17 =  variable8 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -14143,7 +14150,7 @@ void parser___ReduceAction144___action(val_t  self, val_t  param0) {
   variable21 =  variable2 /*nodearraylist10*/;
   variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7309); nit_exit(1);}
-  variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable16 /*pablenode6*/,  NIT_NULL /*null*/,  variable17 /*pvisibilitynode10*/,  variable18 /*tkwattrnode11*/,  variable19 /*tattridnode12*/,  variable20 /*ptypenode13*/,  variable21 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable23 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable14 /*pablenode3*/,  variable16 /*pablenode6*/,  NIT_NULL /*null*/,  variable17 /*pvisibilitynode10*/,  variable18 /*tkwattrnode11*/,  variable19 /*tattridnode12*/,  variable20 /*ptypenode13*/,  variable21 /*pexprnode14*/); /*new AAttrPropdef*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
   variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -14220,7 +14227,7 @@ void parser___ReduceAction145___action(val_t  self, val_t  param0) {
   variable14 =  variable11 /*nodearraylist2*/;
   variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7345); nit_exit(1);}
-  variable16 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable16 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
   variable15 = variable16;
   variable16 =  variable10 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -14228,7 +14235,7 @@ void parser___ReduceAction145___action(val_t  self, val_t  param0) {
   variable17 =  variable9 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7353); nit_exit(1);}
-  variable19 = NEW_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/,  variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable19 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/,  variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable18 = variable19;
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -14245,7 +14252,7 @@ void parser___ReduceAction145___action(val_t  self, val_t  param0) {
   variable23 =  variable2 /*nodearraylist11*/;
   variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7367); nit_exit(1);}
-  variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable15 /*pablenode3*/,  variable18 /*pablenode6*/,  NIT_NULL /*null*/,  variable19 /*pvisibilitynode10*/,  variable20 /*tkwattrnode11*/,  variable21 /*tattridnode12*/,  variable22 /*ptypenode13*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable25 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable15 /*pablenode3*/,  variable18 /*pablenode6*/,  NIT_NULL /*null*/,  variable19 /*pvisibilitynode10*/,  variable20 /*tkwattrnode11*/,  variable21 /*tattridnode12*/,  variable22 /*ptypenode13*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
   variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -14313,7 +14320,7 @@ void parser___ReduceAction146___action(val_t  self, val_t  param0) {
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7401); nit_exit(1);}
-  variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable14 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable12 /*tkwreadablenode5*/); /*new AReadAble*/
   variable13 = variable14;
   variable14 =  variable8 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -14330,7 +14337,7 @@ void parser___ReduceAction146___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist9*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7415); nit_exit(1);}
-  variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable13 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable14 /*pvisibilitynode8*/,  variable15 /*tkwattrnode9*/,  variable16 /*tattridnode10*/,  variable17 /*ptypenode11*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable20 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  variable13 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable14 /*pvisibilitynode8*/,  variable15 /*tkwattrnode9*/,  variable16 /*tattridnode10*/,  variable17 /*ptypenode11*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -14410,12 +14417,12 @@ void parser___ReduceAction147___action(val_t  self, val_t  param0) {
   variable15 =  variable10 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7453); nit_exit(1);}
-  variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/,  variable15 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable17 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/,  variable15 /*tkwreadablenode5*/); /*new AReadAble*/
   variable16 = variable17;
   variable17 =  variable9 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7459); nit_exit(1);}
-  variable19 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable19 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable18 = variable19;
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -14432,7 +14439,7 @@ void parser___ReduceAction147___action(val_t  self, val_t  param0) {
   variable23 =  variable2 /*nodearraylist11*/;
   variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7473); nit_exit(1);}
-  variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable16 /*pablenode3*/,  variable18 /*pablenode6*/,  NIT_NULL /*null*/,  variable19 /*pvisibilitynode10*/,  variable20 /*tkwattrnode11*/,  variable21 /*tattridnode12*/,  variable22 /*ptypenode13*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable25 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable16 /*pablenode3*/,  variable18 /*pablenode6*/,  NIT_NULL /*null*/,  variable19 /*pvisibilitynode10*/,  variable20 /*tkwattrnode11*/,  variable21 /*tattridnode12*/,  variable22 /*ptypenode13*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
   variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -14516,7 +14523,7 @@ void parser___ReduceAction148___action(val_t  self, val_t  param0) {
   variable16 =  variable11 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable16 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7512); nit_exit(1);}
-  variable18 = NEW_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/,  variable16 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable18 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/,  variable16 /*tkwreadablenode5*/); /*new AReadAble*/
   variable17 = variable18;
   variable18 =  variable10 /*nodearraylist4*/;
   variable19 = TAG_Bool(( variable18 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -14524,7 +14531,7 @@ void parser___ReduceAction148___action(val_t  self, val_t  param0) {
   variable19 =  variable9 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable19 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7520); nit_exit(1);}
-  variable21 = NEW_parser_prod___AWriteAble___init_awriteable( variable18 /*tkwredefnode7*/,  variable19 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable21 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable18 /*tkwredefnode7*/,  variable19 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable20 = variable21;
   variable21 =  variable8 /*nodearraylist6*/;
   variable22 = TAG_Bool(( variable21 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable21 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -14541,7 +14548,7 @@ void parser___ReduceAction148___action(val_t  self, val_t  param0) {
   variable25 =  variable2 /*nodearraylist12*/;
   variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7534); nit_exit(1);}
-  variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/,  variable17 /*pablenode3*/,  variable20 /*pablenode6*/,  NIT_NULL /*null*/,  variable21 /*pvisibilitynode10*/,  variable22 /*tkwattrnode11*/,  variable23 /*tattridnode12*/,  variable24 /*ptypenode13*/,  variable25 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable27 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/,  variable17 /*pablenode3*/,  variable20 /*pablenode6*/,  NIT_NULL /*null*/,  variable21 /*pvisibilitynode10*/,  variable22 /*tkwattrnode11*/,  variable23 /*tattridnode12*/,  variable24 /*ptypenode13*/,  variable25 /*pexprnode14*/); /*new AAttrPropdef*/
   variable26 = variable27;
   variable1 =  variable26 /*ppropdefnode1*/ /*node_list=*/;
   variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -14616,7 +14623,7 @@ void parser___ReduceAction149___action(val_t  self, val_t  param0) {
   variable14 =  variable9 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7571); nit_exit(1);}
-  variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable16 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
   variable15 = variable16;
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -14633,7 +14640,7 @@ void parser___ReduceAction149___action(val_t  self, val_t  param0) {
   variable20 =  variable2 /*nodearraylist10*/;
   variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7585); nit_exit(1);}
-  variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable15 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode8*/,  variable17 /*tkwattrnode9*/,  variable18 /*tattridnode10*/,  variable19 /*ptypenode11*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable22 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable15 /*pablenode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode8*/,  variable17 /*tkwattrnode9*/,  variable18 /*tattridnode10*/,  variable19 /*ptypenode11*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
   variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -14701,7 +14708,7 @@ void parser___ReduceAction150___action(val_t  self, val_t  param0) {
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7619); nit_exit(1);}
-  variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable12 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable14 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable12 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable13 = variable14;
   variable14 =  variable8 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -14718,7 +14725,7 @@ void parser___ReduceAction150___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist9*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7633); nit_exit(1);}
-  variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  variable13 /*pablenode4*/,  NIT_NULL /*null*/,  variable14 /*pvisibilitynode8*/,  variable15 /*tkwattrnode9*/,  variable16 /*tattridnode10*/,  variable17 /*ptypenode11*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable20 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  variable13 /*pablenode4*/,  NIT_NULL /*null*/,  variable14 /*pvisibilitynode8*/,  variable15 /*tkwattrnode9*/,  variable16 /*tattridnode10*/,  variable17 /*ptypenode11*/,  variable18 /*pexprnode12*/); /*new AAttrPropdef*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -14793,7 +14800,7 @@ void parser___ReduceAction151___action(val_t  self, val_t  param0) {
   variable14 =  variable9 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7670); nit_exit(1);}
-  variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode5*/,  variable14 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable16 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode5*/,  variable14 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable15 = variable16;
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
@@ -14810,7 +14817,7 @@ void parser___ReduceAction151___action(val_t  self, val_t  param0) {
   variable20 =  variable2 /*nodearraylist10*/;
   variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7684); nit_exit(1);}
-  variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  NIT_NULL /*null*/,  variable15 /*pablenode4*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode8*/,  variable17 /*tkwattrnode9*/,  variable18 /*tattridnode10*/,  variable19 /*ptypenode11*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable22 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  NIT_NULL /*null*/,  variable15 /*pablenode4*/,  NIT_NULL /*null*/,  variable16 /*pvisibilitynode8*/,  variable17 /*tkwattrnode9*/,  variable18 /*tattridnode10*/,  variable19 /*ptypenode11*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
   variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -14885,7 +14892,7 @@ void parser___ReduceAction152___action(val_t  self, val_t  param0) {
   variable15 =  variable2 /*nodearraylist8*/;
   variable16 = TAG_Bool(( variable15 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7725); nit_exit(1);}
-  variable17 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode6*/,  variable12 /*tkwattrnode7*/,  variable13 /*tattridnode8*/,  variable14 /*ptypenode9*/,  variable15 /*pexprnode10*/); /*new AAttrPropdef*/
+  variable17 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode6*/,  variable12 /*tkwattrnode7*/,  variable13 /*tattridnode8*/,  variable14 /*ptypenode9*/,  variable15 /*pexprnode10*/); /*new AAttrPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -14962,12 +14969,12 @@ void parser___ReduceAction153___action(val_t  self, val_t  param0) {
   variable14 =  variable11 /*nodearraylist2*/;
   variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7761); nit_exit(1);}
-  variable16 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable16 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable14 /*tkwreadablenode5*/); /*new AReadAble*/
   variable15 = variable16;
   variable16 =  variable10 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7767); nit_exit(1);}
-  variable18 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable18 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable17 = variable18;
   variable18 =  variable9 /*nodearraylist4*/;
   variable19 = TAG_Bool(( variable18 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -14987,7 +14994,7 @@ void parser___ReduceAction153___action(val_t  self, val_t  param0) {
   variable23 =  variable2 /*nodearraylist11*/;
   variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7783); nit_exit(1);}
-  variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable15 /*pablenode3*/,  variable17 /*pablenode6*/,  variable18 /*tkwredefnode9*/,  variable19 /*pvisibilitynode10*/,  variable20 /*tkwattrnode11*/,  variable21 /*tattridnode12*/,  variable22 /*ptypenode13*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable25 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable15 /*pablenode3*/,  variable17 /*pablenode6*/,  variable18 /*tkwredefnode9*/,  variable19 /*pvisibilitynode10*/,  variable20 /*tkwattrnode11*/,  variable21 /*tattridnode12*/,  variable22 /*ptypenode13*/,  variable23 /*pexprnode14*/); /*new AAttrPropdef*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
   variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -15068,7 +15075,7 @@ void parser___ReduceAction154___action(val_t  self, val_t  param0) {
   variable15 =  variable12 /*nodearraylist2*/;
   variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7820); nit_exit(1);}
-  variable17 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable15 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable17 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable15 /*tkwreadablenode5*/); /*new AReadAble*/
   variable16 = variable17;
   variable17 =  variable11 /*nodearraylist3*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -15076,7 +15083,7 @@ void parser___ReduceAction154___action(val_t  self, val_t  param0) {
   variable18 =  variable10 /*nodearraylist4*/;
   variable19 = TAG_Bool(( variable18 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable18 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7828); nit_exit(1);}
-  variable20 = NEW_parser_prod___AWriteAble___init_awriteable( variable17 /*tkwredefnode7*/,  variable18 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable20 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable17 /*tkwredefnode7*/,  variable18 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable19 = variable20;
   variable20 =  variable9 /*nodearraylist5*/;
   variable21 = TAG_Bool(( variable20 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable20 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -15096,7 +15103,7 @@ void parser___ReduceAction154___action(val_t  self, val_t  param0) {
   variable25 =  variable2 /*nodearraylist12*/;
   variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7844); nit_exit(1);}
-  variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/,  variable16 /*pablenode3*/,  variable19 /*pablenode6*/,  variable20 /*tkwredefnode9*/,  variable21 /*pvisibilitynode10*/,  variable22 /*tkwattrnode11*/,  variable23 /*tattridnode12*/,  variable24 /*ptypenode13*/,  variable25 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable27 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/,  variable16 /*pablenode3*/,  variable19 /*pablenode6*/,  variable20 /*tkwredefnode9*/,  variable21 /*pvisibilitynode10*/,  variable22 /*tkwattrnode11*/,  variable23 /*tattridnode12*/,  variable24 /*ptypenode13*/,  variable25 /*pexprnode14*/); /*new AAttrPropdef*/
   variable26 = variable27;
   variable1 =  variable26 /*ppropdefnode1*/ /*node_list=*/;
   variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -15168,7 +15175,7 @@ void parser___ReduceAction155___action(val_t  self, val_t  param0) {
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7879); nit_exit(1);}
-  variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable15 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/,  variable13 /*tkwreadablenode5*/); /*new AReadAble*/
   variable14 = variable15;
   variable15 =  variable9 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -15188,7 +15195,7 @@ void parser___ReduceAction155___action(val_t  self, val_t  param0) {
   variable20 =  variable2 /*nodearraylist10*/;
   variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7895); nit_exit(1);}
-  variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable14 /*pablenode3*/,  NIT_NULL /*null*/,  variable15 /*tkwredefnode7*/,  variable16 /*pvisibilitynode8*/,  variable17 /*tkwattrnode9*/,  variable18 /*tattridnode10*/,  variable19 /*ptypenode11*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable22 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  variable14 /*pablenode3*/,  NIT_NULL /*null*/,  variable15 /*tkwredefnode7*/,  variable16 /*pvisibilitynode8*/,  variable17 /*tkwattrnode9*/,  variable18 /*tattridnode10*/,  variable19 /*ptypenode11*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
   variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -15272,12 +15279,12 @@ void parser___ReduceAction156___action(val_t  self, val_t  param0) {
   variable16 =  variable11 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable16 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7934); nit_exit(1);}
-  variable18 = NEW_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/,  variable16 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable18 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/,  variable16 /*tkwreadablenode5*/); /*new AReadAble*/
   variable17 = variable18;
   variable18 =  variable10 /*nodearraylist4*/;
   variable19 = TAG_Bool(( variable18 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable18 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7940); nit_exit(1);}
-  variable20 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable18 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable20 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable18 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable19 = variable20;
   variable20 =  variable9 /*nodearraylist5*/;
   variable21 = TAG_Bool(( variable20 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable20 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -15297,7 +15304,7 @@ void parser___ReduceAction156___action(val_t  self, val_t  param0) {
   variable25 =  variable2 /*nodearraylist12*/;
   variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7956); nit_exit(1);}
-  variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/,  variable17 /*pablenode3*/,  variable19 /*pablenode6*/,  variable20 /*tkwredefnode9*/,  variable21 /*pvisibilitynode10*/,  variable22 /*tkwattrnode11*/,  variable23 /*tattridnode12*/,  variable24 /*ptypenode13*/,  variable25 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable27 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/,  variable17 /*pablenode3*/,  variable19 /*pablenode6*/,  variable20 /*tkwredefnode9*/,  variable21 /*pvisibilitynode10*/,  variable22 /*tkwattrnode11*/,  variable23 /*tattridnode12*/,  variable24 /*ptypenode13*/,  variable25 /*pexprnode14*/); /*new AAttrPropdef*/
   variable26 = variable27;
   variable1 =  variable26 /*ppropdefnode1*/ /*node_list=*/;
   variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -15385,7 +15392,7 @@ void parser___ReduceAction157___action(val_t  self, val_t  param0) {
   variable17 =  variable12 /*nodearraylist3*/;
   variable18 = TAG_Bool(( variable17 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable17 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 7996); nit_exit(1);}
-  variable19 = NEW_parser_prod___AReadAble___init_areadable( variable16 /*tkwredefnode4*/,  variable17 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable19 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable16 /*tkwredefnode4*/,  variable17 /*tkwreadablenode5*/); /*new AReadAble*/
   variable18 = variable19;
   variable19 =  variable11 /*nodearraylist4*/;
   variable20 = TAG_Bool(( variable19 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -15393,7 +15400,7 @@ void parser___ReduceAction157___action(val_t  self, val_t  param0) {
   variable20 =  variable10 /*nodearraylist5*/;
   variable21 = TAG_Bool(( variable20 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable20 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8004); nit_exit(1);}
-  variable22 = NEW_parser_prod___AWriteAble___init_awriteable( variable19 /*tkwredefnode7*/,  variable20 /*tkwwritablenode8*/); /*new AWriteAble*/
+  variable22 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable19 /*tkwredefnode7*/,  variable20 /*tkwwritablenode8*/); /*new AWriteAble*/
   variable21 = variable22;
   variable22 =  variable9 /*nodearraylist6*/;
   variable23 = TAG_Bool(( variable22 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable22 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -15413,7 +15420,7 @@ void parser___ReduceAction157___action(val_t  self, val_t  param0) {
   variable27 =  variable2 /*nodearraylist13*/;
   variable28 = TAG_Bool(( variable27 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable27 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable28)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8020); nit_exit(1);}
-  variable29 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable15 /*pdocnode2*/,  variable18 /*pablenode3*/,  variable21 /*pablenode6*/,  variable22 /*tkwredefnode9*/,  variable23 /*pvisibilitynode10*/,  variable24 /*tkwattrnode11*/,  variable25 /*tattridnode12*/,  variable26 /*ptypenode13*/,  variable27 /*pexprnode14*/); /*new AAttrPropdef*/
+  variable29 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable15 /*pdocnode2*/,  variable18 /*pablenode3*/,  variable21 /*pablenode6*/,  variable22 /*tkwredefnode9*/,  variable23 /*pvisibilitynode10*/,  variable24 /*tkwattrnode11*/,  variable25 /*tattridnode12*/,  variable26 /*ptypenode13*/,  variable27 /*pexprnode14*/); /*new AAttrPropdef*/
   variable28 = variable29;
   variable1 =  variable28 /*ppropdefnode1*/ /*node_list=*/;
   variable29 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -15492,7 +15499,7 @@ void parser___ReduceAction158___action(val_t  self, val_t  param0) {
   variable15 =  variable10 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8058); nit_exit(1);}
-  variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/,  variable15 /*tkwreadablenode5*/); /*new AReadAble*/
+  variable17 = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/,  variable15 /*tkwreadablenode5*/); /*new AReadAble*/
   variable16 = variable17;
   variable17 =  variable9 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -15512,7 +15519,7 @@ void parser___ReduceAction158___action(val_t  self, val_t  param0) {
   variable22 =  variable2 /*nodearraylist11*/;
   variable23 = TAG_Bool(( variable22 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable22 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8074); nit_exit(1);}
-  variable24 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable16 /*pablenode3*/,  NIT_NULL /*null*/,  variable17 /*tkwredefnode7*/,  variable18 /*pvisibilitynode8*/,  variable19 /*tkwattrnode9*/,  variable20 /*tattridnode10*/,  variable21 /*ptypenode11*/,  variable22 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable24 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  variable16 /*pablenode3*/,  NIT_NULL /*null*/,  variable17 /*tkwredefnode7*/,  variable18 /*pvisibilitynode8*/,  variable19 /*tkwattrnode9*/,  variable20 /*tattridnode10*/,  variable21 /*ptypenode11*/,  variable22 /*pexprnode12*/); /*new AAttrPropdef*/
   variable23 = variable24;
   variable1 =  variable23 /*ppropdefnode1*/ /*node_list=*/;
   variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -15584,7 +15591,7 @@ void parser___ReduceAction159___action(val_t  self, val_t  param0) {
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8109); nit_exit(1);}
-  variable15 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable13 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable15 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/,  variable13 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable14 = variable15;
   variable15 =  variable9 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -15604,7 +15611,7 @@ void parser___ReduceAction159___action(val_t  self, val_t  param0) {
   variable20 =  variable2 /*nodearraylist10*/;
   variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8125); nit_exit(1);}
-  variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  NIT_NULL /*null*/,  variable14 /*pablenode4*/,  variable15 /*tkwredefnode7*/,  variable16 /*pvisibilitynode8*/,  variable17 /*tkwattrnode9*/,  variable18 /*tattridnode10*/,  variable19 /*ptypenode11*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable22 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/,  NIT_NULL /*null*/,  variable14 /*pablenode4*/,  variable15 /*tkwredefnode7*/,  variable16 /*pvisibilitynode8*/,  variable17 /*tkwattrnode9*/,  variable18 /*tattridnode10*/,  variable19 /*ptypenode11*/,  variable20 /*pexprnode12*/); /*new AAttrPropdef*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
   variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -15683,7 +15690,7 @@ void parser___ReduceAction160___action(val_t  self, val_t  param0) {
   variable15 =  variable10 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8163); nit_exit(1);}
-  variable17 = NEW_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode5*/,  variable15 /*tkwwritablenode6*/); /*new AWriteAble*/
+  variable17 = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode5*/,  variable15 /*tkwwritablenode6*/); /*new AWriteAble*/
   variable16 = variable17;
   variable17 =  variable9 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
@@ -15703,7 +15710,7 @@ void parser___ReduceAction160___action(val_t  self, val_t  param0) {
   variable22 =  variable2 /*nodearraylist11*/;
   variable23 = TAG_Bool(( variable22 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable22 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8179); nit_exit(1);}
-  variable24 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  NIT_NULL /*null*/,  variable16 /*pablenode4*/,  variable17 /*tkwredefnode7*/,  variable18 /*pvisibilitynode8*/,  variable19 /*tkwattrnode9*/,  variable20 /*tattridnode10*/,  variable21 /*ptypenode11*/,  variable22 /*pexprnode12*/); /*new AAttrPropdef*/
+  variable24 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/,  NIT_NULL /*null*/,  variable16 /*pablenode4*/,  variable17 /*tkwredefnode7*/,  variable18 /*pvisibilitynode8*/,  variable19 /*tkwattrnode9*/,  variable20 /*tattridnode10*/,  variable21 /*ptypenode11*/,  variable22 /*pexprnode12*/); /*new AAttrPropdef*/
   variable23 = variable24;
   variable1 =  variable23 /*ppropdefnode1*/ /*node_list=*/;
   variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -15785,7 +15792,7 @@ void parser___ReduceAction161___action(val_t  self, val_t  param0) {
   variable17 =  variable2 /*nodearraylist9*/;
   variable18 = TAG_Bool(( variable17 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8223); nit_exit(1);}
-  variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable12 /*tkwredefnode5*/,  variable13 /*pvisibilitynode6*/,  variable14 /*tkwattrnode7*/,  variable15 /*tattridnode8*/,  variable16 /*ptypenode9*/,  variable17 /*pexprnode10*/); /*new AAttrPropdef*/
+  variable19 = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  variable12 /*tkwredefnode5*/,  variable13 /*pvisibilitynode6*/,  variable14 /*tkwattrnode7*/,  variable15 /*tattridnode8*/,  variable16 /*ptypenode9*/,  variable17 /*pexprnode10*/); /*new AAttrPropdef*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -15853,7 +15860,7 @@ void parser___ReduceAction162___action(val_t  self, val_t  param0) {
   variable13 =  variable4 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8261); nit_exit(1);}
-  variable15 = NEW_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwmethnode5*/,  variable12 /*pmethidnode6*/,  variable13 /*psignaturenode7*/); /*new ADeferredMethPropdef*/
+  variable15 = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwmethnode5*/,  variable12 /*pmethidnode6*/,  variable13 /*psignaturenode7*/); /*new ADeferredMethPropdef*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -15928,7 +15935,7 @@ void parser___ReduceAction163___action(val_t  self, val_t  param0) {
   variable15 =  variable4 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8299); nit_exit(1);}
-  variable17 = NEW_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable10 /*pdocnode2*/,  variable11 /*tkwredefnode3*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwmethnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/); /*new ADeferredMethPropdef*/
+  variable17 = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable10 /*pdocnode2*/,  variable11 /*tkwredefnode3*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwmethnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/); /*new ADeferredMethPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -15996,7 +16003,7 @@ void parser___ReduceAction164___action(val_t  self, val_t  param0) {
   variable13 =  variable4 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8334); nit_exit(1);}
-  variable15 = NEW_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwmethnode5*/,  variable12 /*pmethidnode6*/,  variable13 /*psignaturenode7*/); /*new AInternMethPropdef*/
+  variable15 = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwmethnode5*/,  variable12 /*pmethidnode6*/,  variable13 /*psignaturenode7*/); /*new AInternMethPropdef*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16071,7 +16078,7 @@ void parser___ReduceAction165___action(val_t  self, val_t  param0) {
   variable15 =  variable4 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8372); nit_exit(1);}
-  variable17 = NEW_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable10 /*pdocnode2*/,  variable11 /*tkwredefnode3*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwmethnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/); /*new AInternMethPropdef*/
+  variable17 = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable10 /*pdocnode2*/,  variable11 /*tkwredefnode3*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwmethnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/); /*new AInternMethPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16139,7 +16146,7 @@ void parser___ReduceAction166___action(val_t  self, val_t  param0) {
   variable13 =  variable4 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8407); nit_exit(1);}
-  variable15 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwmethnode5*/,  variable12 /*pmethidnode6*/,  variable13 /*psignaturenode7*/,  NIT_NULL /*null*/); /*new AExternMethPropdef*/
+  variable15 = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwmethnode5*/,  variable12 /*pmethidnode6*/,  variable13 /*psignaturenode7*/,  NIT_NULL /*null*/); /*new AExternMethPropdef*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16214,7 +16221,7 @@ void parser___ReduceAction167___action(val_t  self, val_t  param0) {
   variable15 =  variable4 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8446); nit_exit(1);}
-  variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/,  variable11 /*tkwredefnode3*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwmethnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/,  NIT_NULL /*null*/); /*new AExternMethPropdef*/
+  variable17 = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/,  variable11 /*tkwredefnode3*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwmethnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/,  NIT_NULL /*null*/); /*new AExternMethPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16289,7 +16296,7 @@ void parser___ReduceAction168___action(val_t  self, val_t  param0) {
   variable15 =  variable2 /*nodearraylist8*/;
   variable16 = TAG_Bool(( variable15 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable15 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8485); nit_exit(1);}
-  variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwmethnode5*/,  variable13 /*pmethidnode6*/,  variable14 /*psignaturenode7*/,  variable15 /*tstringnode8*/); /*new AExternMethPropdef*/
+  variable17 = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwmethnode5*/,  variable13 /*pmethidnode6*/,  variable14 /*psignaturenode7*/,  variable15 /*tstringnode8*/); /*new AExternMethPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16371,7 +16378,7 @@ void parser___ReduceAction169___action(val_t  self, val_t  param0) {
   variable17 =  variable2 /*nodearraylist9*/;
   variable18 = TAG_Bool(( variable17 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable17 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8527); nit_exit(1);}
-  variable19 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwmethnode5*/,  variable15 /*pmethidnode6*/,  variable16 /*psignaturenode7*/,  variable17 /*tstringnode8*/); /*new AExternMethPropdef*/
+  variable19 = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwmethnode5*/,  variable15 /*pmethidnode6*/,  variable16 /*psignaturenode7*/,  variable17 /*tstringnode8*/); /*new AExternMethPropdef*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16446,7 +16453,7 @@ void parser___ReduceAction170___action(val_t  self, val_t  param0) {
   variable15 =  variable2 /*nodearraylist8*/;
   variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8566); nit_exit(1);}
-  variable17 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwmethnode5*/,  variable13 /*pmethidnode6*/,  variable14 /*psignaturenode7*/,  variable15 /*pexprnode8*/); /*new AConcreteMethPropdef*/
+  variable17 = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwmethnode5*/,  variable13 /*pmethidnode6*/,  variable14 /*psignaturenode7*/,  variable15 /*pexprnode8*/); /*new AConcreteMethPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16528,7 +16535,7 @@ void parser___ReduceAction171___action(val_t  self, val_t  param0) {
   variable17 =  variable2 /*nodearraylist9*/;
   variable18 = TAG_Bool(( variable17 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8608); nit_exit(1);}
-  variable19 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwmethnode5*/,  variable15 /*pmethidnode6*/,  variable16 /*psignaturenode7*/,  variable17 /*pexprnode8*/); /*new AConcreteMethPropdef*/
+  variable19 = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwmethnode5*/,  variable15 /*pmethidnode6*/,  variable16 /*psignaturenode7*/,  variable17 /*pexprnode8*/); /*new AConcreteMethPropdef*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16606,7 +16613,7 @@ void parser___ReduceAction172___action(val_t  self, val_t  param0) {
   variable16 =  variable3 /*nodearraylist8*/;
   variable17 = TAG_Bool(( variable16 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8648); nit_exit(1);}
-  variable18 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwmethnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/,  variable16 /*pexprnode8*/); /*new AConcreteMethPropdef*/
+  variable18 = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwmethnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/,  variable16 /*pexprnode8*/); /*new AConcreteMethPropdef*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16691,7 +16698,7 @@ void parser___ReduceAction173___action(val_t  self, val_t  param0) {
   variable18 =  variable3 /*nodearraylist9*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8691); nit_exit(1);}
-  variable20 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable12 /*pdocnode2*/,  variable13 /*tkwredefnode3*/,  variable14 /*pvisibilitynode4*/,  variable15 /*tkwmethnode5*/,  variable16 /*pmethidnode6*/,  variable17 /*psignaturenode7*/,  variable18 /*pexprnode8*/); /*new AConcreteMethPropdef*/
+  variable20 = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable12 /*pdocnode2*/,  variable13 /*tkwredefnode3*/,  variable14 /*pvisibilitynode4*/,  variable15 /*tkwmethnode5*/,  variable16 /*pmethidnode6*/,  variable17 /*psignaturenode7*/,  variable18 /*pexprnode8*/); /*new AConcreteMethPropdef*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16759,7 +16766,7 @@ void parser___ReduceAction174___action(val_t  self, val_t  param0) {
   variable13 =  variable2 /*nodearraylist7*/;
   variable14 = TAG_Bool(( variable13 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8727); nit_exit(1);}
-  variable15 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwinitnode5*/,  NIT_NULL /*null*/,  variable12 /*psignaturenode7*/,  variable13 /*pexprnode8*/); /*new AConcreteInitPropdef*/
+  variable15 = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwinitnode5*/,  NIT_NULL /*null*/,  variable12 /*psignaturenode7*/,  variable13 /*pexprnode8*/); /*new AConcreteInitPropdef*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16834,7 +16841,7 @@ void parser___ReduceAction175___action(val_t  self, val_t  param0) {
   variable15 =  variable2 /*nodearraylist8*/;
   variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8766); nit_exit(1);}
-  variable17 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/,  variable11 /*tkwredefnode3*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwinitnode5*/,  NIT_NULL /*null*/,  variable14 /*psignaturenode7*/,  variable15 /*pexprnode8*/); /*new AConcreteInitPropdef*/
+  variable17 = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/,  variable11 /*tkwredefnode3*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwinitnode5*/,  NIT_NULL /*null*/,  variable14 /*psignaturenode7*/,  variable15 /*pexprnode8*/); /*new AConcreteInitPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16909,7 +16916,7 @@ void parser___ReduceAction176___action(val_t  self, val_t  param0) {
   variable15 =  variable2 /*nodearraylist8*/;
   variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8805); nit_exit(1);}
-  variable17 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwinitnode5*/,  variable13 /*pmethidnode6*/,  variable14 /*psignaturenode7*/,  variable15 /*pexprnode8*/); /*new AConcreteInitPropdef*/
+  variable17 = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwinitnode5*/,  variable13 /*pmethidnode6*/,  variable14 /*psignaturenode7*/,  variable15 /*pexprnode8*/); /*new AConcreteInitPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -16991,7 +16998,7 @@ void parser___ReduceAction177___action(val_t  self, val_t  param0) {
   variable17 =  variable2 /*nodearraylist9*/;
   variable18 = TAG_Bool(( variable17 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8847); nit_exit(1);}
-  variable19 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwinitnode5*/,  variable15 /*pmethidnode6*/,  variable16 /*psignaturenode7*/,  variable17 /*pexprnode8*/); /*new AConcreteInitPropdef*/
+  variable19 = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwinitnode5*/,  variable15 /*pmethidnode6*/,  variable16 /*psignaturenode7*/,  variable17 /*pexprnode8*/); /*new AConcreteInitPropdef*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -17062,7 +17069,7 @@ void parser___ReduceAction178___action(val_t  self, val_t  param0) {
   variable14 =  variable3 /*nodearraylist7*/;
   variable15 = TAG_Bool(( variable14 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 8884); nit_exit(1);}
-  variable16 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwinitnode5*/,  NIT_NULL /*null*/,  variable13 /*psignaturenode7*/,  variable14 /*pexprnode8*/); /*new AConcreteInitPropdef*/
+  variable16 = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwinitnode5*/,  NIT_NULL /*null*/,  variable13 /*psignaturenode7*/,  variable14 /*pexprnode8*/); /*new AConcreteInitPropdef*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -17140,7 +17147,7 @@ void parser___ReduceAction179___action(val_t  self, val_t  param0) {
   variable16 =  variable3 /*nodearraylist8*/;
   variable17 = TAG_Bool(( variable16 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8924); nit_exit(1);}
-  variable18 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwinitnode5*/,  NIT_NULL /*null*/,  variable15 /*psignaturenode7*/,  variable16 /*pexprnode8*/); /*new AConcreteInitPropdef*/
+  variable18 = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwinitnode5*/,  NIT_NULL /*null*/,  variable15 /*psignaturenode7*/,  variable16 /*pexprnode8*/); /*new AConcreteInitPropdef*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -17218,7 +17225,7 @@ void parser___ReduceAction180___action(val_t  self, val_t  param0) {
   variable16 =  variable3 /*nodearraylist8*/;
   variable17 = TAG_Bool(( variable16 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 8964); nit_exit(1);}
-  variable18 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwinitnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/,  variable16 /*pexprnode8*/); /*new AConcreteInitPropdef*/
+  variable18 = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/,  NIT_NULL /*null*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwinitnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/,  variable16 /*pexprnode8*/); /*new AConcreteInitPropdef*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -17303,7 +17310,7 @@ void parser___ReduceAction181___action(val_t  self, val_t  param0) {
   variable18 =  variable3 /*nodearraylist9*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9007); nit_exit(1);}
-  variable20 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable12 /*pdocnode2*/,  variable13 /*tkwredefnode3*/,  variable14 /*pvisibilitynode4*/,  variable15 /*tkwinitnode5*/,  variable16 /*pmethidnode6*/,  variable17 /*psignaturenode7*/,  variable18 /*pexprnode8*/); /*new AConcreteInitPropdef*/
+  variable20 = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable12 /*pdocnode2*/,  variable13 /*tkwredefnode3*/,  variable14 /*pvisibilitynode4*/,  variable15 /*tkwinitnode5*/,  variable16 /*pmethidnode6*/,  variable17 /*psignaturenode7*/,  variable18 /*pexprnode8*/); /*new AConcreteInitPropdef*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -17365,7 +17372,7 @@ void parser___ReduceAction182___action(val_t  self, val_t  param0) {
   variable11 =  variable2 /*nodearraylist5*/;
   variable12 = TAG_Bool(( variable11 /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9041); nit_exit(1);}
-  variable13 = NEW_parser_prod___ATypePropdef___init_atypepropdef( variable7 /*pdocnode2*/,  NIT_NULL /*null*/,  variable8 /*pvisibilitynode4*/,  variable9 /*tkwtypenode5*/,  variable10 /*tclassidnode6*/,  variable11 /*ptypenode7*/); /*new ATypePropdef*/
+  variable13 = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef( variable7 /*pdocnode2*/,  NIT_NULL /*null*/,  variable8 /*pvisibilitynode4*/,  variable9 /*tkwtypenode5*/,  variable10 /*tclassidnode6*/,  variable11 /*ptypenode7*/); /*new ATypePropdef*/
   variable12 = variable13;
   variable1 =  variable12 /*ppropdefnode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -17434,7 +17441,7 @@ void parser___ReduceAction183___action(val_t  self, val_t  param0) {
   variable13 =  variable2 /*nodearraylist6*/;
   variable14 = TAG_Bool(( variable13 /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable13 /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9077); nit_exit(1);}
-  variable15 = NEW_parser_prod___ATypePropdef___init_atypepropdef( variable8 /*pdocnode2*/,  variable9 /*tkwredefnode3*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwtypenode5*/,  variable12 /*tclassidnode6*/,  variable13 /*ptypenode7*/); /*new ATypePropdef*/
+  variable15 = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef( variable8 /*pdocnode2*/,  variable9 /*tkwredefnode3*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwtypenode5*/,  variable12 /*tclassidnode6*/,  variable13 /*ptypenode7*/); /*new ATypePropdef*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(12)) /*Parser::go_to*/;
@@ -17536,7 +17543,7 @@ void parser___ReduceAction185___action(val_t  self, val_t  param0) {
   variable13 =  variable4 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9126); nit_exit(1);}
-  variable15 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwmethnode5*/,  variable12 /*pmethidnode6*/,  variable13 /*psignaturenode7*/,  NIT_NULL /*null*/); /*new AExternMethPropdef*/
+  variable15 = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable9 /*pdocnode2*/,  NIT_NULL /*null*/,  variable10 /*pvisibilitynode4*/,  variable11 /*tkwmethnode5*/,  variable12 /*pmethidnode6*/,  variable13 /*psignaturenode7*/,  NIT_NULL /*null*/); /*new AExternMethPropdef*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(14)) /*Parser::go_to*/;
@@ -17611,7 +17618,7 @@ void parser___ReduceAction186___action(val_t  self, val_t  param0) {
   variable15 =  variable4 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9165); nit_exit(1);}
-  variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/,  variable11 /*tkwredefnode3*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwmethnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/,  NIT_NULL /*null*/); /*new AExternMethPropdef*/
+  variable17 = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/,  variable11 /*tkwredefnode3*/,  variable12 /*pvisibilitynode4*/,  variable13 /*tkwmethnode5*/,  variable14 /*pmethidnode6*/,  variable15 /*psignaturenode7*/,  NIT_NULL /*null*/); /*new AExternMethPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(14)) /*Parser::go_to*/;
@@ -17686,7 +17693,7 @@ void parser___ReduceAction187___action(val_t  self, val_t  param0) {
   variable15 =  variable2 /*nodearraylist8*/;
   variable16 = TAG_Bool(( variable15 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable15 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9204); nit_exit(1);}
-  variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwmethnode5*/,  variable13 /*pmethidnode6*/,  variable14 /*psignaturenode7*/,  variable15 /*tstringnode8*/); /*new AExternMethPropdef*/
+  variable17 = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwmethnode5*/,  variable13 /*pmethidnode6*/,  variable14 /*psignaturenode7*/,  variable15 /*tstringnode8*/); /*new AExternMethPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(14)) /*Parser::go_to*/;
@@ -17768,7 +17775,7 @@ void parser___ReduceAction188___action(val_t  self, val_t  param0) {
   variable17 =  variable2 /*nodearraylist9*/;
   variable18 = TAG_Bool(( variable17 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable17 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9246); nit_exit(1);}
-  variable19 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwmethnode5*/,  variable15 /*pmethidnode6*/,  variable16 /*psignaturenode7*/,  variable17 /*tstringnode8*/); /*new AExternMethPropdef*/
+  variable19 = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwmethnode5*/,  variable15 /*pmethidnode6*/,  variable16 /*psignaturenode7*/,  variable17 /*tstringnode8*/); /*new AExternMethPropdef*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(14)) /*Parser::go_to*/;
@@ -17843,7 +17850,7 @@ void parser___ReduceAction189___action(val_t  self, val_t  param0) {
   variable15 =  variable2 /*nodearraylist8*/;
   variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9285); nit_exit(1);}
-  variable17 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwmethnode5*/,  variable13 /*pmethidnode6*/,  variable14 /*psignaturenode7*/,  variable15 /*pexprnode8*/); /*new AConcreteMethPropdef*/
+  variable17 = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable10 /*pdocnode2*/,  NIT_NULL /*null*/,  variable11 /*pvisibilitynode4*/,  variable12 /*tkwmethnode5*/,  variable13 /*pmethidnode6*/,  variable14 /*psignaturenode7*/,  variable15 /*pexprnode8*/); /*new AConcreteMethPropdef*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
   variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(14)) /*Parser::go_to*/;
@@ -17925,7 +17932,7 @@ void parser___ReduceAction190___action(val_t  self, val_t  param0) {
   variable17 =  variable2 /*nodearraylist9*/;
   variable18 = TAG_Bool(( variable17 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9327); nit_exit(1);}
-  variable19 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwmethnode5*/,  variable15 /*pmethidnode6*/,  variable16 /*psignaturenode7*/,  variable17 /*pexprnode8*/); /*new AConcreteMethPropdef*/
+  variable19 = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/,  variable12 /*tkwredefnode3*/,  variable13 /*pvisibilitynode4*/,  variable14 /*tkwmethnode5*/,  variable15 /*pmethidnode6*/,  variable16 /*psignaturenode7*/,  variable17 /*pexprnode8*/); /*new AConcreteMethPropdef*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
   variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(14)) /*Parser::go_to*/;
@@ -17952,7 +17959,7 @@ void parser___ReduceAction191___action(val_t  self, val_t  param0) {
   trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
-  variable3 = NEW_parser_prod___APublicVisibility___init_apublicvisibility(); /*new APublicVisibility*/
+  variable3 = NEW_APublicVisibility_parser_prod___APublicVisibility___init_apublicvisibility(); /*new APublicVisibility*/
   variable2 = variable3;
   variable1 =  variable2 /*pvisibilitynode1*/ /*node_list=*/;
   variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(15)) /*Parser::go_to*/;
@@ -17989,7 +17996,7 @@ void parser___ReduceAction192___action(val_t  self, val_t  param0) {
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tkwprivatenode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwprivatenode2*/, COLOR_TKwprivate, ID_TKwprivate)) /*cast TKwprivate*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 9362); nit_exit(1);}
-  variable6 = NEW_parser_prod___APrivateVisibility___init_aprivatevisibility( variable4 /*tkwprivatenode2*/); /*new APrivateVisibility*/
+  variable6 = NEW_APrivateVisibility_parser_prod___APrivateVisibility___init_aprivatevisibility( variable4 /*tkwprivatenode2*/); /*new APrivateVisibility*/
   variable5 = variable6;
   variable1 =  variable5 /*pvisibilitynode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(15)) /*Parser::go_to*/;
@@ -18026,7 +18033,7 @@ void parser___ReduceAction193___action(val_t  self, val_t  param0) {
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tkwprotectednode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwprotectednode2*/, COLOR_TKwprotected, ID_TKwprotected)) /*cast TKwprotected*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 9379); nit_exit(1);}
-  variable6 = NEW_parser_prod___AProtectedVisibility___init_aprotectedvisibility( variable4 /*tkwprotectednode2*/); /*new AProtectedVisibility*/
+  variable6 = NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___init_aprotectedvisibility( variable4 /*tkwprotectednode2*/); /*new AProtectedVisibility*/
   variable5 = variable6;
   variable1 =  variable5 /*pvisibilitynode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(15)) /*Parser::go_to*/;
@@ -18063,7 +18070,7 @@ void parser___ReduceAction194___action(val_t  self, val_t  param0) {
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tkwintrudenode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwintrudenode2*/, COLOR_TKwintrude, ID_TKwintrude)) /*cast TKwintrude*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 9396); nit_exit(1);}
-  variable6 = NEW_parser_prod___AIntrudeVisibility___init_aintrudevisibility( variable4 /*tkwintrudenode2*/); /*new AIntrudeVisibility*/
+  variable6 = NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___init_aintrudevisibility( variable4 /*tkwintrudenode2*/); /*new AIntrudeVisibility*/
   variable5 = variable6;
   variable1 =  variable5 /*pvisibilitynode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(15)) /*Parser::go_to*/;
@@ -18097,7 +18104,7 @@ void parser___ReduceAction195___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 9412); nit_exit(1);}
-  variable5 = NEW_parser_prod___AIdMethid___init_aidmethid( variable3 /*tidnode2*/); /*new AIdMethid*/
+  variable5 = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid( variable3 /*tidnode2*/); /*new AIdMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18131,7 +18138,7 @@ void parser___ReduceAction196___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tplusnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tplusnode2*/, COLOR_TPlus, ID_TPlus)) /*cast TPlus*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 9428); nit_exit(1);}
-  variable5 = NEW_parser_prod___APlusMethid___init_aplusmethid( variable3 /*tplusnode2*/); /*new APlusMethid*/
+  variable5 = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid( variable3 /*tplusnode2*/); /*new APlusMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18165,7 +18172,7 @@ void parser___ReduceAction197___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 9444); nit_exit(1);}
-  variable5 = NEW_parser_prod___AMinusMethid___init_aminusmethid( variable3 /*tminusnode2*/); /*new AMinusMethid*/
+  variable5 = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid( variable3 /*tminusnode2*/); /*new AMinusMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18199,7 +18206,7 @@ void parser___ReduceAction198___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tstarnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstarnode2*/, COLOR_TStar, ID_TStar)) /*cast TStar*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 9460); nit_exit(1);}
-  variable5 = NEW_parser_prod___AStarMethid___init_astarmethid( variable3 /*tstarnode2*/); /*new AStarMethid*/
+  variable5 = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid( variable3 /*tstarnode2*/); /*new AStarMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18233,7 +18240,7 @@ void parser___ReduceAction199___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tslashnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tslashnode2*/, COLOR_TSlash, ID_TSlash)) /*cast TSlash*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 9476); nit_exit(1);}
-  variable5 = NEW_parser_prod___ASlashMethid___init_aslashmethid( variable3 /*tslashnode2*/); /*new ASlashMethid*/
+  variable5 = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid( variable3 /*tslashnode2*/); /*new ASlashMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18267,7 +18274,7 @@ void parser___ReduceAction200___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tpercentnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tpercentnode2*/, COLOR_TPercent, ID_TPercent)) /*cast TPercent*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 9492); nit_exit(1);}
-  variable5 = NEW_parser_prod___APercentMethid___init_apercentmethid( variable3 /*tpercentnode2*/); /*new APercentMethid*/
+  variable5 = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid( variable3 /*tpercentnode2*/); /*new APercentMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18301,7 +18308,7 @@ void parser___ReduceAction201___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*teqnode2*/==NIT_NULL) || VAL_ISA( variable3 /*teqnode2*/, COLOR_TEq, ID_TEq)) /*cast TEq*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 9508); nit_exit(1);}
-  variable5 = NEW_parser_prod___AEqMethid___init_aeqmethid( variable3 /*teqnode2*/); /*new AEqMethid*/
+  variable5 = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid( variable3 /*teqnode2*/); /*new AEqMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18335,7 +18342,7 @@ void parser___ReduceAction202___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tnenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnenode2*/, COLOR_TNe, ID_TNe)) /*cast TNe*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 9524); nit_exit(1);}
-  variable5 = NEW_parser_prod___ANeMethid___init_anemethid( variable3 /*tnenode2*/); /*new ANeMethid*/
+  variable5 = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid( variable3 /*tnenode2*/); /*new ANeMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18369,7 +18376,7 @@ void parser___ReduceAction203___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tlenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tlenode2*/, COLOR_TLe, ID_TLe)) /*cast TLe*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 9540); nit_exit(1);}
-  variable5 = NEW_parser_prod___ALeMethid___init_alemethid( variable3 /*tlenode2*/); /*new ALeMethid*/
+  variable5 = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid( variable3 /*tlenode2*/); /*new ALeMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18403,7 +18410,7 @@ void parser___ReduceAction204___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tgenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tgenode2*/, COLOR_TGe, ID_TGe)) /*cast TGe*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 9556); nit_exit(1);}
-  variable5 = NEW_parser_prod___AGeMethid___init_agemethid( variable3 /*tgenode2*/); /*new AGeMethid*/
+  variable5 = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid( variable3 /*tgenode2*/); /*new AGeMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18437,7 +18444,7 @@ void parser___ReduceAction205___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tltnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tltnode2*/, COLOR_TLt, ID_TLt)) /*cast TLt*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 9572); nit_exit(1);}
-  variable5 = NEW_parser_prod___ALtMethid___init_altmethid( variable3 /*tltnode2*/); /*new ALtMethid*/
+  variable5 = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid( variable3 /*tltnode2*/); /*new ALtMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18471,7 +18478,7 @@ void parser___ReduceAction206___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tgtnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tgtnode2*/, COLOR_TGt, ID_TGt)) /*cast TGt*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 9588); nit_exit(1);}
-  variable5 = NEW_parser_prod___AGtMethid___init_agtmethid( variable3 /*tgtnode2*/); /*new AGtMethid*/
+  variable5 = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid( variable3 /*tgtnode2*/); /*new AGtMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18512,7 +18519,7 @@ void parser___ReduceAction207___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable5 /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 9607); nit_exit(1);}
-  variable7 = NEW_parser_prod___ABraMethid___init_abramethid( variable4 /*tobranode2*/,  variable5 /*tcbranode3*/); /*new ABraMethid*/
+  variable7 = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid( variable4 /*tobranode2*/,  variable5 /*tcbranode3*/); /*new ABraMethid*/
   variable6 = variable7;
   variable1 =  variable6 /*pmethidnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18546,7 +18553,7 @@ void parser___ReduceAction208___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tstarshipnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstarshipnode2*/, COLOR_TStarship, ID_TStarship)) /*cast TStarship*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 9624); nit_exit(1);}
-  variable5 = NEW_parser_prod___AStarshipMethid___init_astarshipmethid( variable3 /*tstarshipnode2*/); /*new AStarshipMethid*/
+  variable5 = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid( variable3 /*tstarshipnode2*/); /*new AStarshipMethid*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18587,7 +18594,7 @@ void parser___ReduceAction209___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*tassignnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tassignnode3*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 9643); nit_exit(1);}
-  variable7 = NEW_parser_prod___AAssignMethid___init_aassignmethid( variable4 /*tidnode2*/,  variable5 /*tassignnode3*/); /*new AAssignMethid*/
+  variable7 = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid( variable4 /*tidnode2*/,  variable5 /*tassignnode3*/); /*new AAssignMethid*/
   variable6 = variable7;
   variable1 =  variable6 /*pmethidnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18635,7 +18642,7 @@ void parser___ReduceAction210___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist3*/;
   variable8 = TAG_Bool(( variable7 /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable7 /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 9666); nit_exit(1);}
-  variable9 = NEW_parser_prod___ABraassignMethid___init_abraassignmethid( variable5 /*tobranode2*/,  variable6 /*tcbranode3*/,  variable7 /*tassignnode4*/); /*new ABraassignMethid*/
+  variable9 = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid( variable5 /*tobranode2*/,  variable6 /*tcbranode3*/,  variable7 /*tassignnode4*/); /*new ABraassignMethid*/
   variable8 = variable9;
   variable1 =  variable8 /*pmethidnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(16)) /*Parser::go_to*/;
@@ -18663,9 +18670,9 @@ void parser___ReduceAction211___action(val_t  self, val_t  param0) {
   trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable2 = variable3;
-  variable4 = NEW_parser_prod___ASignature___init_asignature( variable2 /*listnode2*/,  NIT_NULL /*null*/); /*new ASignature*/
+  variable4 = NEW_ASignature_parser_prod___ASignature___init_asignature( variable2 /*listnode2*/,  NIT_NULL /*null*/); /*new ASignature*/
   variable3 = variable4;
   variable1 =  variable3 /*psignaturenode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(17)) /*Parser::go_to*/;
@@ -18697,7 +18704,7 @@ void parser___ReduceAction212___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -18711,7 +18718,7 @@ void parser___ReduceAction212___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/,  variable4 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
-  variable6 = NEW_parser_prod___ASignature___init_asignature( variable3 /*listnode3*/,  NIT_NULL /*null*/); /*new ASignature*/
+  variable6 = NEW_ASignature_parser_prod___ASignature___init_asignature( variable3 /*listnode3*/,  NIT_NULL /*null*/); /*new ASignature*/
   variable5 = variable6;
   variable1 =  variable5 /*psignaturenode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(17)) /*Parser::go_to*/;
@@ -18743,12 +18750,12 @@ void parser___ReduceAction213___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable4 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 9725); nit_exit(1);}
-  variable6 = NEW_parser_prod___ASignature___init_asignature( variable3 /*listnode2*/,  variable4 /*ptypenode3*/); /*new ASignature*/
+  variable6 = NEW_ASignature_parser_prod___ASignature___init_asignature( variable3 /*listnode2*/,  variable4 /*ptypenode3*/); /*new ASignature*/
   variable5 = variable6;
   variable1 =  variable5 /*psignaturenode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(17)) /*Parser::go_to*/;
@@ -18784,7 +18791,7 @@ void parser___ReduceAction214___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -18801,7 +18808,7 @@ void parser___ReduceAction214___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable6 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 9753); nit_exit(1);}
-  variable8 = NEW_parser_prod___ASignature___init_asignature( variable4 /*listnode3*/,  variable6 /*ptypenode4*/); /*new ASignature*/
+  variable8 = NEW_ASignature_parser_prod___ASignature___init_asignature( variable4 /*listnode3*/,  variable6 /*ptypenode4*/); /*new ASignature*/
   variable7 = variable8;
   variable1 =  variable7 /*psignaturenode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(17)) /*Parser::go_to*/;
@@ -18844,7 +18851,7 @@ void parser___ReduceAction215___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
@@ -18898,7 +18905,7 @@ void parser___ReduceAction216___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
@@ -18953,7 +18960,7 @@ void parser___ReduceAction217___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable1 =  variable5 /*listnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(18)) /*Parser::go_to*/;
@@ -19024,7 +19031,7 @@ void parser___ReduceAction219___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 9851); nit_exit(1);}
-  variable5 = NEW_parser_prod___AParam___init_aparam( variable3 /*tidnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AParam*/
+  variable5 = NEW_AParam_parser_prod___AParam___init_aparam( variable3 /*tidnode2*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AParam*/
   variable4 = variable5;
   variable1 =  variable4 /*pparamnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(20)) /*Parser::go_to*/;
@@ -19065,7 +19072,7 @@ void parser___ReduceAction220___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 9872); nit_exit(1);}
-  variable7 = NEW_parser_prod___AParam___init_aparam( variable4 /*tidnode2*/,  variable5 /*ptypenode3*/,  NIT_NULL /*null*/); /*new AParam*/
+  variable7 = NEW_AParam_parser_prod___AParam___init_aparam( variable4 /*tidnode2*/,  variable5 /*ptypenode3*/,  NIT_NULL /*null*/); /*new AParam*/
   variable6 = variable7;
   variable1 =  variable6 /*pparamnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(20)) /*Parser::go_to*/;
@@ -19113,7 +19120,7 @@ void parser___ReduceAction221___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist3*/;
   variable8 = TAG_Bool(( variable7 /*tdotdotdotnode4*/==NIT_NULL) || VAL_ISA( variable7 /*tdotdotdotnode4*/, COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 9896); nit_exit(1);}
-  variable9 = NEW_parser_prod___AParam___init_aparam( variable5 /*tidnode2*/,  variable6 /*ptypenode3*/,  variable7 /*tdotdotdotnode4*/); /*new AParam*/
+  variable9 = NEW_AParam_parser_prod___AParam___init_aparam( variable5 /*tidnode2*/,  variable6 /*ptypenode3*/,  variable7 /*tdotdotdotnode4*/); /*new AParam*/
   variable8 = variable9;
   variable1 =  variable8 /*pparamnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(20)) /*Parser::go_to*/;
@@ -19145,12 +19152,12 @@ void parser___ReduceAction222___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 9915); nit_exit(1);}
-  variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/,  variable3 /*listnode3*/); /*new AType*/
+  variable6 = NEW_AType_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/,  variable3 /*listnode3*/); /*new AType*/
   variable5 = variable6;
   variable1 =  variable5 /*ptypenode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(21)) /*Parser::go_to*/;
@@ -19198,7 +19205,7 @@ void parser___ReduceAction223___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable7 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable9 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
@@ -19215,7 +19222,7 @@ void parser___ReduceAction223___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable10 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___AType___init_atype( variable9 /*tclassidnode2*/,  variable8 /*listnode4*/); /*new AType*/
+  variable12 = NEW_AType_parser_prod___AType___init_atype( variable9 /*tclassidnode2*/,  variable8 /*listnode4*/); /*new AType*/
   variable11 = variable12;
   variable1 =  variable11 /*ptypenode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(21)) /*Parser::go_to*/;
@@ -19246,7 +19253,7 @@ void parser___ReduceAction224___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable4 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
@@ -19288,7 +19295,7 @@ void parser___ReduceAction225___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
@@ -19453,7 +19460,7 @@ void parser___ReduceAction229___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -19462,7 +19469,7 @@ void parser___ReduceAction229___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable8)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable7 /*pexprnode2*/) /*AbstractArray::add*/;
   }
-  variable9 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode3*/); /*new ABlockExpr*/
+  variable9 = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode3*/); /*new ABlockExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(25)) /*Parser::go_to*/;
@@ -19507,7 +19514,7 @@ void parser___ReduceAction230___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -19528,7 +19535,7 @@ void parser___ReduceAction230___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable9 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable11 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable7 /*listnode4*/); /*new ABlockExpr*/
+  variable11 = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable7 /*listnode4*/); /*new ABlockExpr*/
   variable10 = variable11;
   variable1 =  variable10 /*pexprnode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(25)) /*Parser::go_to*/;
@@ -19715,7 +19722,7 @@ void parser___ReduceAction236___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 10170); nit_exit(1);}
-  variable5 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable3 /*tkwreturnnode2*/,  NIT_NULL /*null*/); /*new AReturnExpr*/
+  variable5 = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable3 /*tkwreturnnode2*/,  NIT_NULL /*null*/); /*new AReturnExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
@@ -19756,7 +19763,7 @@ void parser___ReduceAction237___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 10190); nit_exit(1);}
-  variable7 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable4 /*tkwreturnnode2*/,  variable5 /*pexprnode3*/); /*new AReturnExpr*/
+  variable7 = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable4 /*tkwreturnnode2*/,  variable5 /*pexprnode3*/); /*new AReturnExpr*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
@@ -19790,7 +19797,7 @@ void parser___ReduceAction238___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 10207); nit_exit(1);}
-  variable5 = NEW_parser_prod___ABreakExpr___init_abreakexpr( variable3 /*tkwbreaknode2*/); /*new ABreakExpr*/
+  variable5 = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable3 /*tkwbreaknode2*/); /*new ABreakExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
@@ -19824,7 +19831,7 @@ void parser___ReduceAction239___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 10223); nit_exit(1);}
-  variable5 = NEW_parser_prod___AAbortExpr___init_aabortexpr( variable3 /*tkwabortnode2*/); /*new AAbortExpr*/
+  variable5 = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr( variable3 /*tkwabortnode2*/); /*new AAbortExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
@@ -19858,7 +19865,7 @@ void parser___ReduceAction240___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 10239); nit_exit(1);}
-  variable5 = NEW_parser_prod___AContinueExpr___init_acontinueexpr( variable3 /*tkwcontinuenode2*/); /*new AContinueExpr*/
+  variable5 = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable3 /*tkwcontinuenode2*/); /*new AContinueExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
@@ -20059,7 +20066,7 @@ void parser___ReduceAction246___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -20079,7 +20086,7 @@ void parser___ReduceAction246___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/,  variable9 /*tidnode3*/,  variable7 /*listnode5*/); /*new ACallExpr*/
+  variable12 = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/,  variable9 /*tidnode3*/,  variable7 /*listnode5*/); /*new ACallExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
@@ -20116,9 +20123,9 @@ void parser___ReduceAction247___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
@@ -20135,7 +20142,7 @@ void parser___ReduceAction247___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/,  variable6 /*tidnode3*/,  variable4 /*listnode5*/); /*new ACallExpr*/
+  variable9 = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/,  variable6 /*tidnode3*/,  variable4 /*listnode5*/); /*new ACallExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
@@ -20171,7 +20178,7 @@ void parser___ReduceAction248___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
@@ -20188,7 +20195,7 @@ void parser___ReduceAction248___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
+  variable8 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
@@ -20228,7 +20235,7 @@ void parser___ReduceAction249___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
@@ -20248,7 +20255,7 @@ void parser___ReduceAction249___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
+  variable10 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
@@ -20294,7 +20301,7 @@ void parser___ReduceAction250___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -20314,7 +20321,7 @@ void parser___ReduceAction250___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/,  variable9 /*tkwinitnode3*/,  variable7 /*listnode5*/); /*new AInitExpr*/
+  variable12 = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/,  variable9 /*tkwinitnode3*/,  variable7 /*listnode5*/); /*new AInitExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
@@ -20351,9 +20358,9 @@ void parser___ReduceAction251___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
@@ -20370,7 +20377,7 @@ void parser___ReduceAction251___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/,  variable6 /*tkwinitnode3*/,  variable4 /*listnode5*/); /*new AInitExpr*/
+  variable9 = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/,  variable6 /*tkwinitnode3*/,  variable4 /*listnode5*/); /*new AInitExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
@@ -20411,7 +20418,7 @@ void parser___ReduceAction252___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 10514); nit_exit(1);}
-  variable7 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable4 /*tkwvarnode2*/,  variable5 /*tidnode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AVardeclExpr*/
+  variable7 = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable4 /*tkwvarnode2*/,  variable5 /*tidnode3*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AVardeclExpr*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(28)) /*Parser::go_to*/;
@@ -20459,7 +20466,7 @@ void parser___ReduceAction253___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist3*/;
   variable8 = TAG_Bool(( variable7 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 10540); nit_exit(1);}
-  variable9 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable5 /*tkwvarnode2*/,  variable6 /*tidnode3*/,  variable7 /*ptypenode4*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AVardeclExpr*/
+  variable9 = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable5 /*tkwvarnode2*/,  variable6 /*tidnode3*/,  variable7 /*ptypenode4*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new AVardeclExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(28)) /*Parser::go_to*/;
@@ -20517,7 +20524,7 @@ void parser___ReduceAction254___action(val_t  self, val_t  param0) {
   variable10 =  variable2 /*nodearraylist5*/;
   variable11 = TAG_Bool(( variable10 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 10570); nit_exit(1);}
-  variable12 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable7 /*tkwvarnode2*/,  variable8 /*tidnode3*/,  NIT_NULL /*null*/,  variable9 /*tassignnode5*/,  variable10 /*pexprnode6*/); /*new AVardeclExpr*/
+  variable12 = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable7 /*tkwvarnode2*/,  variable8 /*tidnode3*/,  NIT_NULL /*null*/,  variable9 /*tassignnode5*/,  variable10 /*pexprnode6*/); /*new AVardeclExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(28)) /*Parser::go_to*/;
@@ -20582,7 +20589,7 @@ void parser___ReduceAction255___action(val_t  self, val_t  param0) {
   variable12 =  variable2 /*nodearraylist6*/;
   variable13 = TAG_Bool(( variable12 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 10603); nit_exit(1);}
-  variable14 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable8 /*tkwvarnode2*/,  variable9 /*tidnode3*/,  variable10 /*ptypenode4*/,  variable11 /*tassignnode5*/,  variable12 /*pexprnode6*/); /*new AVardeclExpr*/
+  variable14 = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable8 /*tkwvarnode2*/,  variable9 /*tidnode3*/,  variable10 /*ptypenode4*/,  variable11 /*tassignnode5*/,  variable12 /*pexprnode6*/); /*new AVardeclExpr*/
   variable13 = variable14;
   variable1 =  variable13 /*pexprnode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(28)) /*Parser::go_to*/;
@@ -20643,7 +20650,7 @@ void parser___ReduceAction256___action(val_t  self, val_t  param0) {
   variable11 =  variable2 /*nodearraylist6*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 10634); nit_exit(1);}
-  variable13 = NEW_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable8 /*pexprnode2*/,  variable9 /*tattridnode3*/,  variable10 /*tassignnode4*/,  variable11 /*pexprnode5*/); /*new AAttrAssignExpr*/
+  variable13 = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable8 /*pexprnode2*/,  variable9 /*tattridnode3*/,  variable10 /*tassignnode4*/,  variable11 /*pexprnode5*/); /*new AAttrAssignExpr*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(29)) /*Parser::go_to*/;
@@ -20683,7 +20690,7 @@ void parser___ReduceAction257___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
@@ -20694,7 +20701,7 @@ void parser___ReduceAction257___action(val_t  self, val_t  param0) {
   variable8 =  variable2 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 10661); nit_exit(1);}
-  variable10 = NEW_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable5 /*pexprnode2*/,  variable6 /*tattridnode3*/,  variable7 /*tassignnode4*/,  variable8 /*pexprnode5*/); /*new AAttrAssignExpr*/
+  variable10 = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable5 /*pexprnode2*/,  variable6 /*tattridnode3*/,  variable7 /*tassignnode4*/,  variable8 /*pexprnode5*/); /*new AAttrAssignExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(29)) /*Parser::go_to*/;
@@ -20748,7 +20755,7 @@ void parser___ReduceAction258___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -20774,7 +20781,7 @@ void parser___ReduceAction258___action(val_t  self, val_t  param0) {
   variable14 =  variable2 /*nodearraylist7*/;
   variable15 = TAG_Bool(( variable14 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction258___action, LOCATE_parser, 10702); nit_exit(1);}
-  variable16 = NEW_parser_prod___ACallAssignExpr___init_acallassignexpr( variable10 /*pexprnode2*/,  variable11 /*tidnode3*/,  variable9 /*listnode5*/,  variable13 /*tassignnode6*/,  variable14 /*pexprnode7*/); /*new ACallAssignExpr*/
+  variable16 = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr( variable10 /*pexprnode2*/,  variable11 /*tidnode3*/,  variable9 /*listnode5*/,  variable13 /*tassignnode6*/,  variable14 /*pexprnode7*/); /*new ACallAssignExpr*/
   variable15 = variable16;
   variable1 =  variable15 /*pexprnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(29)) /*Parser::go_to*/;
@@ -20819,9 +20826,9 @@ void parser___ReduceAction259___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable8 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable8 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
@@ -20844,7 +20851,7 @@ void parser___ReduceAction259___action(val_t  self, val_t  param0) {
   variable11 =  variable2 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction259___action, LOCATE_parser, 10741); nit_exit(1);}
-  variable13 = NEW_parser_prod___ACallAssignExpr___init_acallassignexpr( variable7 /*pexprnode2*/,  variable8 /*tidnode3*/,  variable6 /*listnode5*/,  variable10 /*tassignnode6*/,  variable11 /*pexprnode7*/); /*new ACallAssignExpr*/
+  variable13 = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr( variable7 /*pexprnode2*/,  variable8 /*tidnode3*/,  variable6 /*listnode5*/,  variable10 /*tassignnode6*/,  variable11 /*pexprnode7*/); /*new ACallAssignExpr*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(29)) /*Parser::go_to*/;
@@ -20888,7 +20895,7 @@ void parser___ReduceAction260___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -20911,7 +20918,7 @@ void parser___ReduceAction260___action(val_t  self, val_t  param0) {
   variable10 =  variable2 /*nodearraylist4*/;
   variable11 = TAG_Bool(( variable10 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction260___action, LOCATE_parser, 10778); nit_exit(1);}
-  variable12 = NEW_parser_prod___ABraAssignExpr___init_abraassignexpr( variable7 /*pexprnode2*/,  variable6 /*listnode4*/,  variable9 /*tassignnode5*/,  variable10 /*pexprnode6*/); /*new ABraAssignExpr*/
+  variable12 = NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr( variable7 /*pexprnode2*/,  variable6 /*listnode4*/,  variable9 /*tassignnode5*/,  variable10 /*pexprnode6*/); /*new ABraAssignExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(29)) /*Parser::go_to*/;
@@ -20972,7 +20979,7 @@ void parser___ReduceAction261___action(val_t  self, val_t  param0) {
   variable11 =  variable2 /*nodearraylist6*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 10808); nit_exit(1);}
-  variable13 = NEW_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable8 /*pexprnode2*/,  variable9 /*tattridnode3*/,  variable10 /*passignopnode4*/,  variable11 /*pexprnode5*/); /*new AAttrReassignExpr*/
+  variable13 = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable8 /*pexprnode2*/,  variable9 /*tattridnode3*/,  variable10 /*passignopnode4*/,  variable11 /*pexprnode5*/); /*new AAttrReassignExpr*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(29)) /*Parser::go_to*/;
@@ -21012,7 +21019,7 @@ void parser___ReduceAction262___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
@@ -21023,7 +21030,7 @@ void parser___ReduceAction262___action(val_t  self, val_t  param0) {
   variable8 =  variable2 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction262___action, LOCATE_parser, 10835); nit_exit(1);}
-  variable10 = NEW_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable5 /*pexprnode2*/,  variable6 /*tattridnode3*/,  variable7 /*passignopnode4*/,  variable8 /*pexprnode5*/); /*new AAttrReassignExpr*/
+  variable10 = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable5 /*pexprnode2*/,  variable6 /*tattridnode3*/,  variable7 /*passignopnode4*/,  variable8 /*pexprnode5*/); /*new AAttrReassignExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(29)) /*Parser::go_to*/;
@@ -21077,7 +21084,7 @@ void parser___ReduceAction263___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -21103,7 +21110,7 @@ void parser___ReduceAction263___action(val_t  self, val_t  param0) {
   variable14 =  variable2 /*nodearraylist7*/;
   variable15 = TAG_Bool(( variable14 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 10876); nit_exit(1);}
-  variable16 = NEW_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable10 /*pexprnode2*/,  variable11 /*tidnode3*/,  variable9 /*listnode5*/,  variable13 /*passignopnode6*/,  variable14 /*pexprnode7*/); /*new ACallReassignExpr*/
+  variable16 = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable10 /*pexprnode2*/,  variable11 /*tidnode3*/,  variable9 /*listnode5*/,  variable13 /*passignopnode6*/,  variable14 /*pexprnode7*/); /*new ACallReassignExpr*/
   variable15 = variable16;
   variable1 =  variable15 /*pexprnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(29)) /*Parser::go_to*/;
@@ -21148,9 +21155,9 @@ void parser___ReduceAction264___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
-  variable8 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable8 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable8 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
@@ -21173,7 +21180,7 @@ void parser___ReduceAction264___action(val_t  self, val_t  param0) {
   variable11 =  variable2 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 10915); nit_exit(1);}
-  variable13 = NEW_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable7 /*pexprnode2*/,  variable8 /*tidnode3*/,  variable6 /*listnode5*/,  variable10 /*passignopnode6*/,  variable11 /*pexprnode7*/); /*new ACallReassignExpr*/
+  variable13 = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable7 /*pexprnode2*/,  variable8 /*tidnode3*/,  variable6 /*listnode5*/,  variable10 /*passignopnode6*/,  variable11 /*pexprnode7*/); /*new ACallReassignExpr*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(29)) /*Parser::go_to*/;
@@ -21217,7 +21224,7 @@ void parser___ReduceAction265___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -21240,7 +21247,7 @@ void parser___ReduceAction265___action(val_t  self, val_t  param0) {
   variable10 =  variable2 /*nodearraylist4*/;
   variable11 = TAG_Bool(( variable10 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 10952); nit_exit(1);}
-  variable12 = NEW_parser_prod___ABraReassignExpr___init_abrareassignexpr( variable7 /*pexprnode2*/,  variable6 /*listnode4*/,  variable9 /*passignopnode5*/,  variable10 /*pexprnode6*/); /*new ABraReassignExpr*/
+  variable12 = NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr( variable7 /*pexprnode2*/,  variable6 /*listnode4*/,  variable9 /*passignopnode5*/,  variable10 /*pexprnode6*/); /*new ABraReassignExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(29)) /*Parser::go_to*/;
@@ -21274,7 +21281,7 @@ void parser___ReduceAction266___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tpluseqnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tpluseqnode2*/, COLOR_TPluseq, ID_TPluseq)) /*cast TPluseq*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction266___action, LOCATE_parser, 10971); nit_exit(1);}
-  variable5 = NEW_parser_prod___APlusAssignOp___init_aplusassignop( variable3 /*tpluseqnode2*/); /*new APlusAssignOp*/
+  variable5 = NEW_APlusAssignOp_parser_prod___APlusAssignOp___init_aplusassignop( variable3 /*tpluseqnode2*/); /*new APlusAssignOp*/
   variable4 = variable5;
   variable1 =  variable4 /*passignopnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(30)) /*Parser::go_to*/;
@@ -21308,7 +21315,7 @@ void parser___ReduceAction267___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tminuseqnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tminuseqnode2*/, COLOR_TMinuseq, ID_TMinuseq)) /*cast TMinuseq*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction267___action, LOCATE_parser, 10987); nit_exit(1);}
-  variable5 = NEW_parser_prod___AMinusAssignOp___init_aminusassignop( variable3 /*tminuseqnode2*/); /*new AMinusAssignOp*/
+  variable5 = NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___init_aminusassignop( variable3 /*tminuseqnode2*/); /*new AMinusAssignOp*/
   variable4 = variable5;
   variable1 =  variable4 /*passignopnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(30)) /*Parser::go_to*/;
@@ -21349,7 +21356,7 @@ void parser___ReduceAction268___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction268___action, LOCATE_parser, 11006); nit_exit(1);}
-  variable7 = NEW_parser_prod___ADoExpr___init_adoexpr( variable4 /*tkwdonode2*/,  variable5 /*pexprnode3*/); /*new ADoExpr*/
+  variable7 = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr( variable4 /*tkwdonode2*/,  variable5 /*pexprnode3*/); /*new ADoExpr*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(31)) /*Parser::go_to*/;
@@ -21416,7 +21423,7 @@ void parser___ReduceAction269___action(val_t  self, val_t  param0) {
   variable13 =  variable2 /*nodearraylist8*/;
   variable14 = TAG_Bool(( variable13 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 11036); nit_exit(1);}
-  variable15 = NEW_parser_prod___AIfExpr___init_aifexpr( variable10 /*tkwifnode2*/,  variable11 /*pexprnode3*/,  variable12 /*pexprnode4*/,  variable13 /*pexprnode5*/); /*new AIfExpr*/
+  variable15 = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable10 /*tkwifnode2*/,  variable11 /*pexprnode3*/,  variable12 /*pexprnode4*/,  variable13 /*pexprnode5*/); /*new AIfExpr*/
   variable14 = variable15;
   variable1 =  variable14 /*pexprnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(32)) /*Parser::go_to*/;
@@ -21473,7 +21480,7 @@ void parser___ReduceAction270___action(val_t  self, val_t  param0) {
   variable10 =  variable2 /*nodearraylist6*/;
   variable11 = TAG_Bool(( variable10 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 11064); nit_exit(1);}
-  variable12 = NEW_parser_prod___AIfExpr___init_aifexpr( variable8 /*tkwifnode2*/,  variable9 /*pexprnode3*/,  variable10 /*pexprnode4*/,  NIT_NULL /*null*/); /*new AIfExpr*/
+  variable12 = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable8 /*tkwifnode2*/,  variable9 /*pexprnode3*/,  variable10 /*pexprnode4*/,  NIT_NULL /*null*/); /*new AIfExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(32)) /*Parser::go_to*/;
@@ -21539,7 +21546,7 @@ void parser___ReduceAction271___action(val_t  self, val_t  param0) {
   variable12 =  variable8 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 11093); nit_exit(1);}
-  variable14 = NEW_array___Array___init(); /*new Array[E]*/
+  variable14 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable13 = variable14;
   variable14 =  variable4 /*nodearraylist7*/;
   variable15 = TAG_Bool(( variable14 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -21548,12 +21555,12 @@ void parser___ReduceAction271___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable15)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable13 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode6*/,  variable14 /*pexprnode5*/) /*AbstractArray::add*/;
   }
-  variable16 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable13 /*listnode6*/); /*new ABlockExpr*/
+  variable16 = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable13 /*listnode6*/); /*new ABlockExpr*/
   variable15 = variable16;
   variable16 =  variable2 /*nodearraylist9*/;
   variable17 = TAG_Bool(( variable16 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 11104); nit_exit(1);}
-  variable18 = NEW_parser_prod___AIfExpr___init_aifexpr( variable11 /*tkwifnode2*/,  variable12 /*pexprnode3*/,  variable15 /*pexprnode4*/,  variable16 /*pexprnode7*/); /*new AIfExpr*/
+  variable18 = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable11 /*tkwifnode2*/,  variable12 /*pexprnode3*/,  variable15 /*pexprnode4*/,  variable16 /*pexprnode7*/); /*new AIfExpr*/
   variable17 = variable18;
   variable1 =  variable17 /*pexprnode1*/ /*node_list=*/;
   variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(32)) /*Parser::go_to*/;
@@ -21623,7 +21630,7 @@ void parser___ReduceAction272___action(val_t  self, val_t  param0) {
   variable13 =  variable9 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 11134); nit_exit(1);}
-  variable15 = NEW_array___Array___init(); /*new Array[E]*/
+  variable15 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable14 = variable15;
   variable15 =  variable5 /*nodearraylist7*/;
   variable16 = TAG_Bool(( variable15 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -21644,12 +21651,12 @@ void parser___ReduceAction272___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode7*/,  variable16 /*listnode6*/) /*IndexedCollection::append*/;
     }
   }
-  variable18 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable14 /*listnode7*/); /*new ABlockExpr*/
+  variable18 = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable14 /*listnode7*/); /*new ABlockExpr*/
   variable17 = variable18;
   variable18 =  variable2 /*nodearraylist10*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 11154); nit_exit(1);}
-  variable20 = NEW_parser_prod___AIfExpr___init_aifexpr( variable12 /*tkwifnode2*/,  variable13 /*pexprnode3*/,  variable17 /*pexprnode4*/,  variable18 /*pexprnode8*/); /*new AIfExpr*/
+  variable20 = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable12 /*tkwifnode2*/,  variable13 /*pexprnode3*/,  variable17 /*pexprnode4*/,  variable18 /*pexprnode8*/); /*new AIfExpr*/
   variable19 = variable20;
   variable1 =  variable19 /*pexprnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(32)) /*Parser::go_to*/;
@@ -21706,7 +21713,7 @@ void parser___ReduceAction273___action(val_t  self, val_t  param0) {
   variable10 =  variable2 /*nodearraylist6*/;
   variable11 = TAG_Bool(( variable10 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 11182); nit_exit(1);}
-  variable12 = NEW_parser_prod___AIfExpr___init_aifexpr( variable8 /*tkwifnode2*/,  variable9 /*pexprnode3*/,  NIT_NULL /*null*/,  variable10 /*pexprnode5*/); /*new AIfExpr*/
+  variable12 = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable8 /*tkwifnode2*/,  variable9 /*pexprnode3*/,  NIT_NULL /*null*/,  variable10 /*pexprnode5*/); /*new AIfExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(32)) /*Parser::go_to*/;
@@ -21766,7 +21773,7 @@ void parser___ReduceAction274___action(val_t  self, val_t  param0) {
   variable11 =  variable2 /*nodearraylist7*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 11211); nit_exit(1);}
-  variable13 = NEW_parser_prod___AIfExpr___init_aifexpr( variable9 /*tkwifnode2*/,  variable10 /*pexprnode3*/,  NIT_NULL /*null*/,  variable11 /*pexprnode5*/); /*new AIfExpr*/
+  variable13 = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable9 /*tkwifnode2*/,  variable10 /*pexprnode3*/,  NIT_NULL /*null*/,  variable11 /*pexprnode5*/); /*new AIfExpr*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(32)) /*Parser::go_to*/;
@@ -21888,7 +21895,7 @@ void parser___ReduceAction277___action(val_t  self, val_t  param0) {
   variable11 =  variable2 /*nodearraylist6*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 11266); nit_exit(1);}
-  variable13 = NEW_parser_prod___AWhileExpr___init_awhileexpr( variable8 /*tkwwhilenode2*/,  variable9 /*pexprnode3*/,  variable10 /*tkwdonode4*/,  variable11 /*pexprnode5*/); /*new AWhileExpr*/
+  variable13 = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr( variable8 /*tkwwhilenode2*/,  variable9 /*pexprnode3*/,  variable10 /*tkwdonode4*/,  variable11 /*pexprnode5*/); /*new AWhileExpr*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(34)) /*Parser::go_to*/;
@@ -21939,7 +21946,7 @@ void parser___ReduceAction278___action(val_t  self, val_t  param0) {
   variable8 =  variable2 /*nodearraylist4*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 11292); nit_exit(1);}
-  variable10 = NEW_parser_prod___AForExpr___init_aforexpr( variable6 /*pexprnode2*/,  variable7 /*tkwdonode3*/,  variable8 /*pexprnode4*/); /*new AForExpr*/
+  variable10 = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr( variable6 /*pexprnode2*/,  variable7 /*tkwdonode3*/,  variable8 /*pexprnode4*/); /*new AForExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(35)) /*Parser::go_to*/;
@@ -21999,7 +22006,7 @@ void parser___ReduceAction279___action(val_t  self, val_t  param0) {
   variable11 =  variable2 /*nodearraylist7*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 11320); nit_exit(1);}
-  variable13 = NEW_parser_prod___AForVardeclExpr___init_aforvardeclexpr( variable9 /*tkwfornode2*/,  variable10 /*tidnode3*/,  variable11 /*pexprnode4*/); /*new AForVardeclExpr*/
+  variable13 = NEW_AForVardeclExpr_parser_prod___AForVardeclExpr___init_aforvardeclexpr( variable9 /*tkwfornode2*/,  variable10 /*tidnode3*/,  variable11 /*pexprnode4*/); /*new AForVardeclExpr*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(36)) /*Parser::go_to*/;
@@ -22040,7 +22047,7 @@ void parser___ReduceAction280___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 11341); nit_exit(1);}
-  variable7 = NEW_parser_prod___AAssertExpr___init_aassertexpr( variable4 /*tkwassertnode2*/,  NIT_NULL /*null*/,  variable5 /*pexprnode4*/); /*new AAssertExpr*/
+  variable7 = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable4 /*tkwassertnode2*/,  NIT_NULL /*null*/,  variable5 /*pexprnode4*/); /*new AAssertExpr*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(37)) /*Parser::go_to*/;
@@ -22088,7 +22095,7 @@ void parser___ReduceAction281___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist3*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 11365); nit_exit(1);}
-  variable9 = NEW_parser_prod___AAssertExpr___init_aassertexpr( variable5 /*tkwassertnode2*/,  variable6 /*tidnode3*/,  variable7 /*pexprnode4*/); /*new AAssertExpr*/
+  variable9 = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable5 /*tkwassertnode2*/,  variable6 /*tidnode3*/,  variable7 /*pexprnode4*/); /*new AAssertExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(37)) /*Parser::go_to*/;
@@ -22237,7 +22244,7 @@ void parser___ReduceAction284___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist11*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 11430); nit_exit(1);}
-  variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/,  variable14 /*pexprnode3*/,  variable15 /*tkwthennode4*/,  variable16 /*pexprnode5*/,  variable17 /*tkwelsenode6*/,  variable18 /*pexprnode7*/); /*new AIfexprExpr*/
+  variable20 = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/,  variable14 /*pexprnode3*/,  variable15 /*tkwthennode4*/,  variable16 /*pexprnode5*/,  variable17 /*tkwelsenode6*/,  variable18 /*pexprnode7*/); /*new AIfexprExpr*/
   variable19 = variable20;
   variable1 =  variable19 /*pexprnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(39)) /*Parser::go_to*/;
@@ -22315,7 +22322,7 @@ void parser___ReduceAction286___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 11469); nit_exit(1);}
-  variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AOrExpr*/
+  variable9 = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AOrExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(40)) /*Parser::go_to*/;
@@ -22362,7 +22369,7 @@ void parser___ReduceAction287___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 11491); nit_exit(1);}
-  variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AAndExpr*/
+  variable9 = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AAndExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(40)) /*Parser::go_to*/;
@@ -22437,7 +22444,7 @@ void parser___ReduceAction289___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 11525); nit_exit(1);}
-  variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/,  variable6 /*pexprnode3*/); /*new ANotExpr*/
+  variable8 = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/,  variable6 /*pexprnode3*/); /*new ANotExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(41)) /*Parser::go_to*/;
@@ -22515,7 +22522,7 @@ void parser___ReduceAction291___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 11560); nit_exit(1);}
-  variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEqExpr*/
+  variable9 = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEqExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(42)) /*Parser::go_to*/;
@@ -22562,7 +22569,7 @@ void parser___ReduceAction292___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 11582); nit_exit(1);}
-  variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEeExpr*/
+  variable9 = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(42)) /*Parser::go_to*/;
@@ -22609,7 +22616,7 @@ void parser___ReduceAction293___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction293___action, LOCATE_parser, 11604); nit_exit(1);}
-  variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ANeExpr*/
+  variable9 = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ANeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(42)) /*Parser::go_to*/;
@@ -22656,7 +22663,7 @@ void parser___ReduceAction294___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction294___action, LOCATE_parser, 11626); nit_exit(1);}
-  variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALtExpr*/
+  variable9 = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALtExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(42)) /*Parser::go_to*/;
@@ -22703,7 +22710,7 @@ void parser___ReduceAction295___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction295___action, LOCATE_parser, 11648); nit_exit(1);}
-  variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALeExpr*/
+  variable9 = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(42)) /*Parser::go_to*/;
@@ -22750,7 +22757,7 @@ void parser___ReduceAction296___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 11670); nit_exit(1);}
-  variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGtExpr*/
+  variable9 = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGtExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(42)) /*Parser::go_to*/;
@@ -22797,7 +22804,7 @@ void parser___ReduceAction297___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 11692); nit_exit(1);}
-  variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGeExpr*/
+  variable9 = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(42)) /*Parser::go_to*/;
@@ -22844,7 +22851,7 @@ void parser___ReduceAction298___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 11714); nit_exit(1);}
-  variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarshipExpr*/
+  variable9 = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarshipExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(42)) /*Parser::go_to*/;
@@ -22891,7 +22898,7 @@ void parser___ReduceAction299___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 11736); nit_exit(1);}
-  variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/,  variable7 /*ptypenode3*/); /*new AIsaExpr*/
+  variable9 = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/,  variable7 /*ptypenode3*/); /*new AIsaExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(42)) /*Parser::go_to*/;
@@ -22969,7 +22976,7 @@ void parser___ReduceAction301___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 11771); nit_exit(1);}
-  variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APlusExpr*/
+  variable9 = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APlusExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(43)) /*Parser::go_to*/;
@@ -23016,7 +23023,7 @@ void parser___ReduceAction302___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction302___action, LOCATE_parser, 11793); nit_exit(1);}
-  variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AMinusExpr*/
+  variable9 = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AMinusExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(43)) /*Parser::go_to*/;
@@ -23094,7 +23101,7 @@ void parser___ReduceAction304___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 11828); nit_exit(1);}
-  variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarExpr*/
+  variable9 = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(44)) /*Parser::go_to*/;
@@ -23141,7 +23148,7 @@ void parser___ReduceAction305___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 11850); nit_exit(1);}
-  variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ASlashExpr*/
+  variable9 = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ASlashExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(44)) /*Parser::go_to*/;
@@ -23188,7 +23195,7 @@ void parser___ReduceAction306___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction306___action, LOCATE_parser, 11872); nit_exit(1);}
-  variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APercentExpr*/
+  variable9 = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APercentExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(44)) /*Parser::go_to*/;
@@ -23263,7 +23270,7 @@ void parser___ReduceAction308___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 11906); nit_exit(1);}
-  variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/,  variable6 /*pexprnode3*/); /*new AUminusExpr*/
+  variable8 = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/,  variable6 /*pexprnode3*/); /*new AUminusExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(45)) /*Parser::go_to*/;
@@ -23307,7 +23314,7 @@ void parser___ReduceAction309___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction309___action, LOCATE_parser, 11927); nit_exit(1);}
-  variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/,  variable6 /*pexprnode3*/); /*new AOnceExpr*/
+  variable8 = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/,  variable6 /*pexprnode3*/); /*new AOnceExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(45)) /*Parser::go_to*/;
@@ -23381,7 +23388,7 @@ void parser___ReduceAction311___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
@@ -23401,7 +23408,7 @@ void parser___ReduceAction311___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable9 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/,  variable8 /*ptypenode3*/,  NIT_NULL /*null*/,  variable6 /*listnode6*/); /*new ANewExpr*/
+  variable11 = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/,  variable8 /*ptypenode3*/,  NIT_NULL /*null*/,  variable6 /*listnode6*/); /*new ANewExpr*/
   variable10 = variable11;
   variable1 =  variable10 /*pexprnode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(46)) /*Parser::go_to*/;
@@ -23448,7 +23455,7 @@ void parser___ReduceAction312___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 11996); nit_exit(1);}
-  variable9 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/,  variable7 /*tattridnode3*/); /*new AAttrExpr*/
+  variable9 = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/,  variable7 /*tattridnode3*/); /*new AAttrExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -23480,12 +23487,12 @@ void parser___ReduceAction313___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable4 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 12015); nit_exit(1);}
-  variable6 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/,  variable4 /*tattridnode3*/); /*new AAttrExpr*/
+  variable6 = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/,  variable4 /*tattridnode3*/); /*new AAttrExpr*/
   variable5 = variable6;
   variable1 =  variable5 /*pexprnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -23531,7 +23538,7 @@ void parser___ReduceAction314___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -23551,7 +23558,7 @@ void parser___ReduceAction314___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/,  variable9 /*tidnode3*/,  variable7 /*listnode5*/); /*new ACallExpr*/
+  variable12 = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/,  variable9 /*tidnode3*/,  variable7 /*listnode5*/); /*new ACallExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -23588,9 +23595,9 @@ void parser___ReduceAction315___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
@@ -23607,7 +23614,7 @@ void parser___ReduceAction315___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/,  variable6 /*tidnode3*/,  variable4 /*listnode5*/); /*new ACallExpr*/
+  variable9 = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/,  variable6 /*tidnode3*/,  variable4 /*listnode5*/); /*new ACallExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -23643,7 +23650,7 @@ void parser___ReduceAction316___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
@@ -23660,7 +23667,7 @@ void parser___ReduceAction316___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
+  variable8 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -23700,7 +23707,7 @@ void parser___ReduceAction317___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
@@ -23720,7 +23727,7 @@ void parser___ReduceAction317___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
+  variable10 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -23766,7 +23773,7 @@ void parser___ReduceAction318___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -23786,7 +23793,7 @@ void parser___ReduceAction318___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/,  variable9 /*tkwinitnode3*/,  variable7 /*listnode5*/); /*new AInitExpr*/
+  variable12 = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/,  variable9 /*tkwinitnode3*/,  variable7 /*listnode5*/); /*new AInitExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -23823,9 +23830,9 @@ void parser___ReduceAction319___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
@@ -23842,7 +23849,7 @@ void parser___ReduceAction319___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/,  variable6 /*tkwinitnode3*/,  variable4 /*listnode5*/); /*new AInitExpr*/
+  variable9 = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/,  variable6 /*tkwinitnode3*/,  variable4 /*listnode5*/); /*new AInitExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -23878,7 +23885,7 @@ void parser___ReduceAction320___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -23895,7 +23902,7 @@ void parser___ReduceAction320___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/,  variable6 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable8 = NEW_parser_prod___ABraExpr___init_abraexpr( variable5 /*pexprnode2*/,  variable4 /*listnode4*/); /*new ABraExpr*/
+  variable8 = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr( variable5 /*pexprnode2*/,  variable4 /*listnode4*/); /*new ABraExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -23948,7 +23955,7 @@ void parser___ReduceAction321___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
@@ -23971,7 +23978,7 @@ void parser___ReduceAction321___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/,  variable13 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/,  variable11 /*ptypenode3*/,  variable12 /*tidnode4*/,  variable9 /*listnode6*/); /*new ANewExpr*/
+  variable15 = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/,  variable11 /*ptypenode3*/,  variable12 /*tidnode4*/,  variable9 /*listnode6*/); /*new ANewExpr*/
   variable14 = variable15;
   variable1 =  variable14 /*pexprnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24033,7 +24040,7 @@ void parser___ReduceAction322___action(val_t  self, val_t  param0) {
   variable12 =  variable4 /*nodearraylist7*/;
   variable13 = TAG_Bool(( variable12 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction322___action, LOCATE_parser, 12300); nit_exit(1);}
-  variable14 = NEW_parser_prod___ACrangeExpr___init_acrangeexpr( variable11 /*pexprnode2*/,  variable12 /*pexprnode3*/); /*new ACrangeExpr*/
+  variable14 = NEW_ACrangeExpr_parser_prod___ACrangeExpr___init_acrangeexpr( variable11 /*pexprnode2*/,  variable12 /*pexprnode3*/); /*new ACrangeExpr*/
   variable13 = variable14;
   variable1 =  variable13 /*pexprnode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24095,7 +24102,7 @@ void parser___ReduceAction323___action(val_t  self, val_t  param0) {
   variable12 =  variable4 /*nodearraylist7*/;
   variable13 = TAG_Bool(( variable12 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction323___action, LOCATE_parser, 12327); nit_exit(1);}
-  variable14 = NEW_parser_prod___AOrangeExpr___init_aorangeexpr( variable11 /*pexprnode2*/,  variable12 /*pexprnode3*/); /*new AOrangeExpr*/
+  variable14 = NEW_AOrangeExpr_parser_prod___AOrangeExpr___init_aorangeexpr( variable11 /*pexprnode2*/,  variable12 /*pexprnode3*/); /*new AOrangeExpr*/
   variable13 = variable14;
   variable1 =  variable13 /*pexprnode1*/ /*node_list=*/;
   variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24127,7 +24134,7 @@ void parser___ReduceAction324___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -24141,7 +24148,7 @@ void parser___ReduceAction324___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/,  variable4 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
-  variable6 = NEW_parser_prod___AArrayExpr___init_aarrayexpr( variable3 /*listnode3*/); /*new AArrayExpr*/
+  variable6 = NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr( variable3 /*listnode3*/); /*new AArrayExpr*/
   variable5 = variable6;
   variable1 =  variable5 /*pexprnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24175,7 +24182,7 @@ void parser___ReduceAction325___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction325___action, LOCATE_parser, 12368); nit_exit(1);}
-  variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
+  variable5 = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24209,7 +24216,7 @@ void parser___ReduceAction326___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction326___action, LOCATE_parser, 12384); nit_exit(1);}
-  variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
+  variable5 = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24243,7 +24250,7 @@ void parser___ReduceAction327___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction327___action, LOCATE_parser, 12400); nit_exit(1);}
-  variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
+  variable5 = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24277,7 +24284,7 @@ void parser___ReduceAction328___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 12416); nit_exit(1);}
-  variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
+  variable5 = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24311,7 +24318,7 @@ void parser___ReduceAction329___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction329___action, LOCATE_parser, 12432); nit_exit(1);}
-  variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
+  variable5 = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24345,7 +24352,7 @@ void parser___ReduceAction330___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 12448); nit_exit(1);}
-  variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
+  variable5 = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24379,7 +24386,7 @@ void parser___ReduceAction331___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction331___action, LOCATE_parser, 12464); nit_exit(1);}
-  variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
+  variable5 = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24413,7 +24420,7 @@ void parser___ReduceAction332___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 12480); nit_exit(1);}
-  variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
+  variable5 = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24550,7 +24557,7 @@ void parser___ReduceAction335___action(val_t  self, val_t  param0) {
   variable14 =  variable4 /*nodearraylist8*/;
   variable15 = TAG_Bool(( variable14 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 12537); nit_exit(1);}
-  variable16 = NEW_parser_prod___AAsCastExpr___init_aascastexpr( variable12 /*pexprnode2*/,  variable13 /*tkwasnode3*/,  variable14 /*ptypenode4*/); /*new AAsCastExpr*/
+  variable16 = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable12 /*pexprnode2*/,  variable13 /*tkwasnode3*/,  variable14 /*ptypenode4*/); /*new AAsCastExpr*/
   variable15 = variable16;
   variable1 =  variable15 /*pexprnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
@@ -24586,7 +24593,7 @@ void parser___ReduceAction336___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -24607,7 +24614,7 @@ void parser___ReduceAction336___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable7)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode4*/,  variable6 /*pexprnode3*/) /*AbstractArray::add*/;
   }
-  variable8 = NEW_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable4 /*listnode4*/); /*new ASuperstringExpr*/
+  variable8 = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable4 /*listnode4*/); /*new ASuperstringExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(48)) /*Parser::go_to*/;
@@ -24647,7 +24654,7 @@ void parser___ReduceAction337___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*listnode2*/==NIT_NULL) || VAL_ISA( variable6 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -24680,7 +24687,7 @@ void parser___ReduceAction337___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable9)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/,  variable8 /*pexprnode4*/) /*AbstractArray::add*/;
   }
-  variable10 = NEW_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable5 /*listnode5*/); /*new ASuperstringExpr*/
+  variable10 = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable5 /*listnode5*/); /*new ASuperstringExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(48)) /*Parser::go_to*/;
@@ -24721,7 +24728,7 @@ void parser___ReduceAction338___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -24769,7 +24776,7 @@ void parser___ReduceAction339___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tstartstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstartstringnode2*/, COLOR_TStartString, ID_TStartString)) /*cast TStartString*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 12650); nit_exit(1);}
-  variable5 = NEW_parser_prod___AStartStringExpr___init_astartstringexpr( variable3 /*tstartstringnode2*/); /*new AStartStringExpr*/
+  variable5 = NEW_AStartStringExpr_parser_prod___AStartStringExpr___init_astartstringexpr( variable3 /*tstartstringnode2*/); /*new AStartStringExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(50)) /*Parser::go_to*/;
@@ -24810,7 +24817,7 @@ void parser___ReduceAction340___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -24858,7 +24865,7 @@ void parser___ReduceAction341___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tmidstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tmidstringnode2*/, COLOR_TMidString, ID_TMidString)) /*cast TMidString*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction341___action, LOCATE_parser, 12691); nit_exit(1);}
-  variable5 = NEW_parser_prod___AMidStringExpr___init_amidstringexpr( variable3 /*tmidstringnode2*/); /*new AMidStringExpr*/
+  variable5 = NEW_AMidStringExpr_parser_prod___AMidStringExpr___init_amidstringexpr( variable3 /*tmidstringnode2*/); /*new AMidStringExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(52)) /*Parser::go_to*/;
@@ -24892,7 +24899,7 @@ void parser___ReduceAction342___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tendstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tendstringnode2*/, COLOR_TEndString, ID_TEndString)) /*cast TEndString*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 12707); nit_exit(1);}
-  variable5 = NEW_parser_prod___AEndStringExpr___init_aendstringexpr( variable3 /*tendstringnode2*/); /*new AEndStringExpr*/
+  variable5 = NEW_AEndStringExpr_parser_prod___AEndStringExpr___init_aendstringexpr( variable3 /*tendstringnode2*/); /*new AEndStringExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(53)) /*Parser::go_to*/;
@@ -24935,7 +24942,7 @@ void parser___ReduceAction343___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -24989,7 +24996,7 @@ void parser___ReduceAction344___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -25044,7 +25051,7 @@ void parser___ReduceAction345___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable1 =  variable5 /*listnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(54)) /*Parser::go_to*/;
@@ -25071,7 +25078,7 @@ void parser___ReduceAction346___action(val_t  self, val_t  param0) {
   trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable2 = variable3;
   variable1 =  variable2 /*listnode1*/ /*node_list=*/;
   variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(54)) /*Parser::go_to*/;
@@ -25114,7 +25121,7 @@ void parser___ReduceAction347___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -25168,7 +25175,7 @@ void parser___ReduceAction348___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -25218,7 +25225,7 @@ void parser___ReduceAction349___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -25261,7 +25268,7 @@ void parser___ReduceAction350___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable1 =  variable5 /*listnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(55)) /*Parser::go_to*/;
@@ -25288,7 +25295,7 @@ void parser___ReduceAction351___action(val_t  self, val_t  param0) {
   trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable2 = variable3;
   variable1 =  variable2 /*listnode1*/ /*node_list=*/;
   variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(55)) /*Parser::go_to*/;
@@ -25331,7 +25338,7 @@ void parser___ReduceAction352___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -25385,7 +25392,7 @@ void parser___ReduceAction353___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -25476,12 +25483,12 @@ void parser___ReduceAction355___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 12963); nit_exit(1);}
-  variable6 = NEW_parser_prod___AQualified___init_aqualified( variable3 /*listnode2*/,  variable4 /*tclassidnode3*/); /*new AQualified*/
+  variable6 = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable3 /*listnode2*/,  variable4 /*tclassidnode3*/); /*new AQualified*/
   variable5 = variable6;
   variable1 =  variable5 /*pqualifiednode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(58)) /*Parser::go_to*/;
@@ -25517,7 +25524,7 @@ void parser___ReduceAction356___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -25534,7 +25541,7 @@ void parser___ReduceAction356___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*tclassidnode4*/==NIT_NULL) || VAL_ISA( variable6 /*tclassidnode4*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 12991); nit_exit(1);}
-  variable8 = NEW_parser_prod___AQualified___init_aqualified( variable4 /*listnode3*/,  variable6 /*tclassidnode4*/); /*new AQualified*/
+  variable8 = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable4 /*listnode3*/,  variable6 /*tclassidnode4*/); /*new AQualified*/
   variable7 = variable8;
   variable1 =  variable7 /*pqualifiednode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(58)) /*Parser::go_to*/;
@@ -25566,7 +25573,7 @@ void parser___ReduceAction357___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -25580,7 +25587,7 @@ void parser___ReduceAction357___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/,  variable4 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
-  variable6 = NEW_parser_prod___AQualified___init_aqualified( variable3 /*listnode3*/,  NIT_NULL /*null*/); /*new AQualified*/
+  variable6 = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable3 /*listnode3*/,  NIT_NULL /*null*/); /*new AQualified*/
   variable5 = variable6;
   variable1 =  variable5 /*pqualifiednode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(58)) /*Parser::go_to*/;
@@ -25738,7 +25745,7 @@ void parser___ReduceAction362___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -25752,7 +25759,7 @@ void parser___ReduceAction362___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/,  variable4 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
-  variable6 = NEW_parser_prod___ADoc___init_adoc( variable3 /*listnode3*/); /*new ADoc*/
+  variable6 = NEW_ADoc_parser_prod___ADoc___init_adoc( variable3 /*listnode3*/); /*new ADoc*/
   variable5 = variable6;
   variable1 =  variable5 /*pdocnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(62)) /*Parser::go_to*/;
@@ -25787,7 +25794,7 @@ void parser___ReduceAction363___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -25801,7 +25808,7 @@ void parser___ReduceAction363___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = NEW_parser_prod___ADoc___init_adoc( variable4 /*listnode3*/); /*new ADoc*/
+  variable7 = NEW_ADoc_parser_prod___ADoc___init_adoc( variable4 /*listnode3*/); /*new ADoc*/
   variable6 = variable7;
   variable1 =  variable6 /*pdocnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(62)) /*Parser::go_to*/;
@@ -26002,12 +26009,12 @@ void parser___ReduceAction370___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction370___action, LOCATE_parser, 13200); nit_exit(1);}
-  variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/,  variable3 /*listnode3*/); /*new AType*/
+  variable6 = NEW_AType_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/,  variable3 /*listnode3*/); /*new AType*/
   variable5 = variable6;
   variable1 =  variable5 /*ptypenode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(65)) /*Parser::go_to*/;
@@ -26122,7 +26129,7 @@ void parser___ReduceAction372___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist11*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 13250); nit_exit(1);}
-  variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/,  variable14 /*pexprnode3*/,  variable15 /*tkwthennode4*/,  variable16 /*pexprnode5*/,  variable17 /*tkwelsenode6*/,  variable18 /*pexprnode7*/); /*new AIfexprExpr*/
+  variable20 = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/,  variable14 /*pexprnode3*/,  variable15 /*tkwthennode4*/,  variable16 /*pexprnode5*/,  variable17 /*tkwelsenode6*/,  variable18 /*pexprnode7*/); /*new AIfexprExpr*/
   variable19 = variable20;
   variable1 =  variable19 /*pexprnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(66)) /*Parser::go_to*/;
@@ -26200,7 +26207,7 @@ void parser___ReduceAction374___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction374___action, LOCATE_parser, 13289); nit_exit(1);}
-  variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AOrExpr*/
+  variable9 = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AOrExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(67)) /*Parser::go_to*/;
@@ -26247,7 +26254,7 @@ void parser___ReduceAction375___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction375___action, LOCATE_parser, 13311); nit_exit(1);}
-  variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AAndExpr*/
+  variable9 = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AAndExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(67)) /*Parser::go_to*/;
@@ -26322,7 +26329,7 @@ void parser___ReduceAction377___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction377___action, LOCATE_parser, 13345); nit_exit(1);}
-  variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/,  variable6 /*pexprnode3*/); /*new ANotExpr*/
+  variable8 = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/,  variable6 /*pexprnode3*/); /*new ANotExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(68)) /*Parser::go_to*/;
@@ -26400,7 +26407,7 @@ void parser___ReduceAction379___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction379___action, LOCATE_parser, 13380); nit_exit(1);}
-  variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEqExpr*/
+  variable9 = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEqExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(69)) /*Parser::go_to*/;
@@ -26447,7 +26454,7 @@ void parser___ReduceAction380___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction380___action, LOCATE_parser, 13402); nit_exit(1);}
-  variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEeExpr*/
+  variable9 = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(69)) /*Parser::go_to*/;
@@ -26494,7 +26501,7 @@ void parser___ReduceAction381___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction381___action, LOCATE_parser, 13424); nit_exit(1);}
-  variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ANeExpr*/
+  variable9 = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ANeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(69)) /*Parser::go_to*/;
@@ -26541,7 +26548,7 @@ void parser___ReduceAction382___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction382___action, LOCATE_parser, 13446); nit_exit(1);}
-  variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALtExpr*/
+  variable9 = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALtExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(69)) /*Parser::go_to*/;
@@ -26588,7 +26595,7 @@ void parser___ReduceAction383___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction383___action, LOCATE_parser, 13468); nit_exit(1);}
-  variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALeExpr*/
+  variable9 = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(69)) /*Parser::go_to*/;
@@ -26635,7 +26642,7 @@ void parser___ReduceAction384___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction384___action, LOCATE_parser, 13490); nit_exit(1);}
-  variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGtExpr*/
+  variable9 = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGtExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(69)) /*Parser::go_to*/;
@@ -26682,7 +26689,7 @@ void parser___ReduceAction385___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction385___action, LOCATE_parser, 13512); nit_exit(1);}
-  variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGeExpr*/
+  variable9 = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(69)) /*Parser::go_to*/;
@@ -26729,7 +26736,7 @@ void parser___ReduceAction386___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction386___action, LOCATE_parser, 13534); nit_exit(1);}
-  variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarshipExpr*/
+  variable9 = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarshipExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(69)) /*Parser::go_to*/;
@@ -26776,7 +26783,7 @@ void parser___ReduceAction387___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction387___action, LOCATE_parser, 13556); nit_exit(1);}
-  variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/,  variable7 /*ptypenode3*/); /*new AIsaExpr*/
+  variable9 = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/,  variable7 /*ptypenode3*/); /*new AIsaExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(69)) /*Parser::go_to*/;
@@ -26854,7 +26861,7 @@ void parser___ReduceAction389___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction389___action, LOCATE_parser, 13591); nit_exit(1);}
-  variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APlusExpr*/
+  variable9 = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APlusExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(70)) /*Parser::go_to*/;
@@ -26901,7 +26908,7 @@ void parser___ReduceAction390___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction390___action, LOCATE_parser, 13613); nit_exit(1);}
-  variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AMinusExpr*/
+  variable9 = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AMinusExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(70)) /*Parser::go_to*/;
@@ -26979,7 +26986,7 @@ void parser___ReduceAction392___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction392___action, LOCATE_parser, 13648); nit_exit(1);}
-  variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarExpr*/
+  variable9 = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(71)) /*Parser::go_to*/;
@@ -27026,7 +27033,7 @@ void parser___ReduceAction393___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction393___action, LOCATE_parser, 13670); nit_exit(1);}
-  variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ASlashExpr*/
+  variable9 = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ASlashExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(71)) /*Parser::go_to*/;
@@ -27073,7 +27080,7 @@ void parser___ReduceAction394___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction394___action, LOCATE_parser, 13692); nit_exit(1);}
-  variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APercentExpr*/
+  variable9 = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APercentExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(71)) /*Parser::go_to*/;
@@ -27148,7 +27155,7 @@ void parser___ReduceAction396___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction396___action, LOCATE_parser, 13726); nit_exit(1);}
-  variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/,  variable6 /*pexprnode3*/); /*new AUminusExpr*/
+  variable8 = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/,  variable6 /*pexprnode3*/); /*new AUminusExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(72)) /*Parser::go_to*/;
@@ -27192,7 +27199,7 @@ void parser___ReduceAction397___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction397___action, LOCATE_parser, 13747); nit_exit(1);}
-  variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/,  variable6 /*pexprnode3*/); /*new AOnceExpr*/
+  variable8 = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/,  variable6 /*pexprnode3*/); /*new AOnceExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(72)) /*Parser::go_to*/;
@@ -27266,7 +27273,7 @@ void parser___ReduceAction399___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
@@ -27286,7 +27293,7 @@ void parser___ReduceAction399___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable9 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/,  variable8 /*ptypenode3*/,  NIT_NULL /*null*/,  variable6 /*listnode6*/); /*new ANewExpr*/
+  variable11 = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/,  variable8 /*ptypenode3*/,  NIT_NULL /*null*/,  variable6 /*listnode6*/); /*new ANewExpr*/
   variable10 = variable11;
   variable1 =  variable10 /*pexprnode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(73)) /*Parser::go_to*/;
@@ -27333,7 +27340,7 @@ void parser___ReduceAction400___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction400___action, LOCATE_parser, 13816); nit_exit(1);}
-  variable9 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/,  variable7 /*tattridnode3*/); /*new AAttrExpr*/
+  variable9 = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/,  variable7 /*tattridnode3*/); /*new AAttrExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27365,12 +27372,12 @@ void parser___ReduceAction401___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable4 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction401___action, LOCATE_parser, 13835); nit_exit(1);}
-  variable6 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/,  variable4 /*tattridnode3*/); /*new AAttrExpr*/
+  variable6 = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/,  variable4 /*tattridnode3*/); /*new AAttrExpr*/
   variable5 = variable6;
   variable1 =  variable5 /*pexprnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27416,7 +27423,7 @@ void parser___ReduceAction402___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -27436,7 +27443,7 @@ void parser___ReduceAction402___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/,  variable9 /*tidnode3*/,  variable7 /*listnode5*/); /*new ACallExpr*/
+  variable12 = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/,  variable9 /*tidnode3*/,  variable7 /*listnode5*/); /*new ACallExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27473,9 +27480,9 @@ void parser___ReduceAction403___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
@@ -27492,7 +27499,7 @@ void parser___ReduceAction403___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/,  variable6 /*tidnode3*/,  variable4 /*listnode5*/); /*new ACallExpr*/
+  variable9 = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/,  variable6 /*tidnode3*/,  variable4 /*listnode5*/); /*new ACallExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27528,7 +27535,7 @@ void parser___ReduceAction404___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
@@ -27545,7 +27552,7 @@ void parser___ReduceAction404___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
+  variable8 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27585,7 +27592,7 @@ void parser___ReduceAction405___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
@@ -27605,7 +27612,7 @@ void parser___ReduceAction405___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
+  variable10 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27651,7 +27658,7 @@ void parser___ReduceAction406___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -27671,7 +27678,7 @@ void parser___ReduceAction406___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/,  variable9 /*tkwinitnode3*/,  variable7 /*listnode5*/); /*new AInitExpr*/
+  variable12 = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/,  variable9 /*tkwinitnode3*/,  variable7 /*listnode5*/); /*new AInitExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27708,9 +27715,9 @@ void parser___ReduceAction407___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
@@ -27727,7 +27734,7 @@ void parser___ReduceAction407___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/,  variable6 /*tkwinitnode3*/,  variable4 /*listnode5*/); /*new AInitExpr*/
+  variable9 = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/,  variable6 /*tkwinitnode3*/,  variable4 /*listnode5*/); /*new AInitExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27780,7 +27787,7 @@ void parser___ReduceAction408___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
@@ -27803,7 +27810,7 @@ void parser___ReduceAction408___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/,  variable13 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/,  variable11 /*ptypenode3*/,  variable12 /*tidnode4*/,  variable9 /*listnode6*/); /*new ANewExpr*/
+  variable15 = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/,  variable11 /*ptypenode3*/,  variable12 /*tidnode4*/,  variable9 /*listnode6*/); /*new ANewExpr*/
   variable14 = variable15;
   variable1 =  variable14 /*pexprnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27837,7 +27844,7 @@ void parser___ReduceAction409___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction409___action, LOCATE_parser, 14082); nit_exit(1);}
-  variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
+  variable5 = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27871,7 +27878,7 @@ void parser___ReduceAction410___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction410___action, LOCATE_parser, 14098); nit_exit(1);}
-  variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
+  variable5 = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27905,7 +27912,7 @@ void parser___ReduceAction411___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction411___action, LOCATE_parser, 14114); nit_exit(1);}
-  variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
+  variable5 = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27939,7 +27946,7 @@ void parser___ReduceAction412___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction412___action, LOCATE_parser, 14130); nit_exit(1);}
-  variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
+  variable5 = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -27973,7 +27980,7 @@ void parser___ReduceAction413___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction413___action, LOCATE_parser, 14146); nit_exit(1);}
-  variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
+  variable5 = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -28007,7 +28014,7 @@ void parser___ReduceAction414___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction414___action, LOCATE_parser, 14162); nit_exit(1);}
-  variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
+  variable5 = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -28041,7 +28048,7 @@ void parser___ReduceAction415___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction415___action, LOCATE_parser, 14178); nit_exit(1);}
-  variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
+  variable5 = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -28075,7 +28082,7 @@ void parser___ReduceAction416___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction416___action, LOCATE_parser, 14194); nit_exit(1);}
-  variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
+  variable5 = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -28212,7 +28219,7 @@ void parser___ReduceAction419___action(val_t  self, val_t  param0) {
   variable14 =  variable4 /*nodearraylist8*/;
   variable15 = TAG_Bool(( variable14 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction419___action, LOCATE_parser, 14251); nit_exit(1);}
-  variable16 = NEW_parser_prod___AAsCastExpr___init_aascastexpr( variable12 /*pexprnode2*/,  variable13 /*tkwasnode3*/,  variable14 /*ptypenode4*/); /*new AAsCastExpr*/
+  variable16 = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable12 /*pexprnode2*/,  variable13 /*tkwasnode3*/,  variable14 /*ptypenode4*/); /*new AAsCastExpr*/
   variable15 = variable16;
   variable1 =  variable15 /*pexprnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
@@ -28284,7 +28291,7 @@ void parser___ReduceAction421___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -28293,7 +28300,7 @@ void parser___ReduceAction421___action(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable8)) { /*if*/
     ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable7 /*pexprnode2*/) /*AbstractArray::add*/;
   }
-  variable9 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode3*/); /*new ABlockExpr*/
+  variable9 = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode3*/); /*new ABlockExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(75)) /*Parser::go_to*/;
@@ -28338,7 +28345,7 @@ void parser___ReduceAction422___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -28359,7 +28366,7 @@ void parser___ReduceAction422___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable9 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable11 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable7 /*listnode4*/); /*new ABlockExpr*/
+  variable11 = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable7 /*listnode4*/); /*new ABlockExpr*/
   variable10 = variable11;
   variable1 =  variable10 /*pexprnode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(75)) /*Parser::go_to*/;
@@ -28512,7 +28519,7 @@ void parser___ReduceAction427___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction427___action, LOCATE_parser, 14387); nit_exit(1);}
-  variable5 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable3 /*tkwreturnnode2*/,  NIT_NULL /*null*/); /*new AReturnExpr*/
+  variable5 = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable3 /*tkwreturnnode2*/,  NIT_NULL /*null*/); /*new AReturnExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
@@ -28553,7 +28560,7 @@ void parser___ReduceAction428___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction428___action, LOCATE_parser, 14407); nit_exit(1);}
-  variable7 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable4 /*tkwreturnnode2*/,  variable5 /*pexprnode3*/); /*new AReturnExpr*/
+  variable7 = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable4 /*tkwreturnnode2*/,  variable5 /*pexprnode3*/); /*new AReturnExpr*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
@@ -28587,7 +28594,7 @@ void parser___ReduceAction429___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction429___action, LOCATE_parser, 14424); nit_exit(1);}
-  variable5 = NEW_parser_prod___ABreakExpr___init_abreakexpr( variable3 /*tkwbreaknode2*/); /*new ABreakExpr*/
+  variable5 = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable3 /*tkwbreaknode2*/); /*new ABreakExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
@@ -28621,7 +28628,7 @@ void parser___ReduceAction430___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction430___action, LOCATE_parser, 14440); nit_exit(1);}
-  variable5 = NEW_parser_prod___AAbortExpr___init_aabortexpr( variable3 /*tkwabortnode2*/); /*new AAbortExpr*/
+  variable5 = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr( variable3 /*tkwabortnode2*/); /*new AAbortExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
@@ -28655,7 +28662,7 @@ void parser___ReduceAction431___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction431___action, LOCATE_parser, 14456); nit_exit(1);}
-  variable5 = NEW_parser_prod___AContinueExpr___init_acontinueexpr( variable3 /*tkwcontinuenode2*/); /*new AContinueExpr*/
+  variable5 = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable3 /*tkwcontinuenode2*/); /*new AContinueExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
@@ -28856,7 +28863,7 @@ void parser___ReduceAction437___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -28876,7 +28883,7 @@ void parser___ReduceAction437___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/,  variable9 /*tidnode3*/,  variable7 /*listnode5*/); /*new ACallExpr*/
+  variable12 = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/,  variable9 /*tidnode3*/,  variable7 /*listnode5*/); /*new ACallExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
@@ -28913,9 +28920,9 @@ void parser___ReduceAction438___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
@@ -28932,7 +28939,7 @@ void parser___ReduceAction438___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/,  variable6 /*tidnode3*/,  variable4 /*listnode5*/); /*new ACallExpr*/
+  variable9 = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/,  variable6 /*tidnode3*/,  variable4 /*listnode5*/); /*new ACallExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
@@ -28968,7 +28975,7 @@ void parser___ReduceAction439___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
@@ -28985,7 +28992,7 @@ void parser___ReduceAction439___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
+  variable8 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
@@ -29025,7 +29032,7 @@ void parser___ReduceAction440___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
@@ -29045,7 +29052,7 @@ void parser___ReduceAction440___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
+  variable10 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
@@ -29091,7 +29098,7 @@ void parser___ReduceAction441___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -29111,7 +29118,7 @@ void parser___ReduceAction441___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/,  variable9 /*tkwinitnode3*/,  variable7 /*listnode5*/); /*new AInitExpr*/
+  variable12 = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/,  variable9 /*tkwinitnode3*/,  variable7 /*listnode5*/); /*new AInitExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
@@ -29148,9 +29155,9 @@ void parser___ReduceAction442___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
@@ -29167,7 +29174,7 @@ void parser___ReduceAction442___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/,  variable6 /*tkwinitnode3*/,  variable4 /*listnode5*/); /*new AInitExpr*/
+  variable9 = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/,  variable6 /*tkwinitnode3*/,  variable4 /*listnode5*/); /*new AInitExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
@@ -29208,7 +29215,7 @@ void parser___ReduceAction443___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction443___action, LOCATE_parser, 14731); nit_exit(1);}
-  variable7 = NEW_parser_prod___ADoExpr___init_adoexpr( variable4 /*tkwdonode2*/,  variable5 /*pexprnode3*/); /*new ADoExpr*/
+  variable7 = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr( variable4 /*tkwdonode2*/,  variable5 /*pexprnode3*/); /*new ADoExpr*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(77)) /*Parser::go_to*/;
@@ -29275,7 +29282,7 @@ void parser___ReduceAction444___action(val_t  self, val_t  param0) {
   variable13 =  variable2 /*nodearraylist8*/;
   variable14 = TAG_Bool(( variable13 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 14761); nit_exit(1);}
-  variable15 = NEW_parser_prod___AIfExpr___init_aifexpr( variable10 /*tkwifnode2*/,  variable11 /*pexprnode3*/,  variable12 /*pexprnode4*/,  variable13 /*pexprnode5*/); /*new AIfExpr*/
+  variable15 = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable10 /*tkwifnode2*/,  variable11 /*pexprnode3*/,  variable12 /*pexprnode4*/,  variable13 /*pexprnode5*/); /*new AIfExpr*/
   variable14 = variable15;
   variable1 =  variable14 /*pexprnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(78)) /*Parser::go_to*/;
@@ -29336,7 +29343,7 @@ void parser___ReduceAction445___action(val_t  self, val_t  param0) {
   variable11 =  variable2 /*nodearraylist6*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction445___action, LOCATE_parser, 14791); nit_exit(1);}
-  variable13 = NEW_parser_prod___AWhileExpr___init_awhileexpr( variable8 /*tkwwhilenode2*/,  variable9 /*pexprnode3*/,  variable10 /*tkwdonode4*/,  variable11 /*pexprnode5*/); /*new AWhileExpr*/
+  variable13 = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr( variable8 /*tkwwhilenode2*/,  variable9 /*pexprnode3*/,  variable10 /*tkwdonode4*/,  variable11 /*pexprnode5*/); /*new AWhileExpr*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
   variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(79)) /*Parser::go_to*/;
@@ -29387,7 +29394,7 @@ void parser___ReduceAction446___action(val_t  self, val_t  param0) {
   variable8 =  variable2 /*nodearraylist4*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction446___action, LOCATE_parser, 14817); nit_exit(1);}
-  variable10 = NEW_parser_prod___AForExpr___init_aforexpr( variable6 /*pexprnode2*/,  variable7 /*tkwdonode3*/,  variable8 /*pexprnode4*/); /*new AForExpr*/
+  variable10 = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr( variable6 /*pexprnode2*/,  variable7 /*tkwdonode3*/,  variable8 /*pexprnode4*/); /*new AForExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(80)) /*Parser::go_to*/;
@@ -29419,12 +29426,12 @@ void parser___ReduceAction447___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction447___action, LOCATE_parser, 14836); nit_exit(1);}
-  variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/,  variable3 /*listnode3*/); /*new AType*/
+  variable6 = NEW_AType_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/,  variable3 /*listnode3*/); /*new AType*/
   variable5 = variable6;
   variable1 =  variable5 /*ptypenode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(81)) /*Parser::go_to*/;
@@ -29472,7 +29479,7 @@ void parser___ReduceAction448___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[E]*/
+  variable9 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable8 = variable9;
   variable9 =  variable7 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable9 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
@@ -29489,7 +29496,7 @@ void parser___ReduceAction448___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable10 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___AType___init_atype( variable9 /*tclassidnode2*/,  variable8 /*listnode4*/); /*new AType*/
+  variable12 = NEW_AType_parser_prod___AType___init_atype( variable9 /*tclassidnode2*/,  variable8 /*listnode4*/); /*new AType*/
   variable11 = variable12;
   variable1 =  variable11 /*ptypenode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(81)) /*Parser::go_to*/;
@@ -29604,7 +29611,7 @@ void parser___ReduceAction450___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist11*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction450___action, LOCATE_parser, 14918); nit_exit(1);}
-  variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/,  variable14 /*pexprnode3*/,  variable15 /*tkwthennode4*/,  variable16 /*pexprnode5*/,  variable17 /*tkwelsenode6*/,  variable18 /*pexprnode7*/); /*new AIfexprExpr*/
+  variable20 = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/,  variable14 /*pexprnode3*/,  variable15 /*tkwthennode4*/,  variable16 /*pexprnode5*/,  variable17 /*tkwelsenode6*/,  variable18 /*pexprnode7*/); /*new AIfexprExpr*/
   variable19 = variable20;
   variable1 =  variable19 /*pexprnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(82)) /*Parser::go_to*/;
@@ -29682,7 +29689,7 @@ void parser___ReduceAction452___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction452___action, LOCATE_parser, 14957); nit_exit(1);}
-  variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AOrExpr*/
+  variable9 = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AOrExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(83)) /*Parser::go_to*/;
@@ -29729,7 +29736,7 @@ void parser___ReduceAction453___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction453___action, LOCATE_parser, 14979); nit_exit(1);}
-  variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AAndExpr*/
+  variable9 = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AAndExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(83)) /*Parser::go_to*/;
@@ -29804,7 +29811,7 @@ void parser___ReduceAction455___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction455___action, LOCATE_parser, 15013); nit_exit(1);}
-  variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/,  variable6 /*pexprnode3*/); /*new ANotExpr*/
+  variable8 = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/,  variable6 /*pexprnode3*/); /*new ANotExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(84)) /*Parser::go_to*/;
@@ -29882,7 +29889,7 @@ void parser___ReduceAction457___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction457___action, LOCATE_parser, 15048); nit_exit(1);}
-  variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEqExpr*/
+  variable9 = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEqExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(85)) /*Parser::go_to*/;
@@ -29929,7 +29936,7 @@ void parser___ReduceAction458___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction458___action, LOCATE_parser, 15070); nit_exit(1);}
-  variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEeExpr*/
+  variable9 = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(85)) /*Parser::go_to*/;
@@ -29976,7 +29983,7 @@ void parser___ReduceAction459___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction459___action, LOCATE_parser, 15092); nit_exit(1);}
-  variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ANeExpr*/
+  variable9 = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ANeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(85)) /*Parser::go_to*/;
@@ -30023,7 +30030,7 @@ void parser___ReduceAction460___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction460___action, LOCATE_parser, 15114); nit_exit(1);}
-  variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALtExpr*/
+  variable9 = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALtExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(85)) /*Parser::go_to*/;
@@ -30070,7 +30077,7 @@ void parser___ReduceAction461___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction461___action, LOCATE_parser, 15136); nit_exit(1);}
-  variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALeExpr*/
+  variable9 = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(85)) /*Parser::go_to*/;
@@ -30117,7 +30124,7 @@ void parser___ReduceAction462___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction462___action, LOCATE_parser, 15158); nit_exit(1);}
-  variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGtExpr*/
+  variable9 = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGtExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(85)) /*Parser::go_to*/;
@@ -30164,7 +30171,7 @@ void parser___ReduceAction463___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction463___action, LOCATE_parser, 15180); nit_exit(1);}
-  variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGeExpr*/
+  variable9 = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(85)) /*Parser::go_to*/;
@@ -30211,7 +30218,7 @@ void parser___ReduceAction464___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction464___action, LOCATE_parser, 15202); nit_exit(1);}
-  variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarshipExpr*/
+  variable9 = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarshipExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(85)) /*Parser::go_to*/;
@@ -30258,7 +30265,7 @@ void parser___ReduceAction465___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction465___action, LOCATE_parser, 15224); nit_exit(1);}
-  variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/,  variable7 /*ptypenode3*/); /*new AIsaExpr*/
+  variable9 = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/,  variable7 /*ptypenode3*/); /*new AIsaExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(85)) /*Parser::go_to*/;
@@ -30336,7 +30343,7 @@ void parser___ReduceAction467___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction467___action, LOCATE_parser, 15259); nit_exit(1);}
-  variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APlusExpr*/
+  variable9 = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APlusExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(86)) /*Parser::go_to*/;
@@ -30383,7 +30390,7 @@ void parser___ReduceAction468___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction468___action, LOCATE_parser, 15281); nit_exit(1);}
-  variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AMinusExpr*/
+  variable9 = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AMinusExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(86)) /*Parser::go_to*/;
@@ -30461,7 +30468,7 @@ void parser___ReduceAction470___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction470___action, LOCATE_parser, 15316); nit_exit(1);}
-  variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarExpr*/
+  variable9 = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(87)) /*Parser::go_to*/;
@@ -30508,7 +30515,7 @@ void parser___ReduceAction471___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction471___action, LOCATE_parser, 15338); nit_exit(1);}
-  variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ASlashExpr*/
+  variable9 = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ASlashExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(87)) /*Parser::go_to*/;
@@ -30555,7 +30562,7 @@ void parser___ReduceAction472___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction472___action, LOCATE_parser, 15360); nit_exit(1);}
-  variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APercentExpr*/
+  variable9 = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APercentExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(87)) /*Parser::go_to*/;
@@ -30630,7 +30637,7 @@ void parser___ReduceAction474___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction474___action, LOCATE_parser, 15394); nit_exit(1);}
-  variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/,  variable6 /*pexprnode3*/); /*new AUminusExpr*/
+  variable8 = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/,  variable6 /*pexprnode3*/); /*new AUminusExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(88)) /*Parser::go_to*/;
@@ -30674,7 +30681,7 @@ void parser___ReduceAction475___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 15415); nit_exit(1);}
-  variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/,  variable6 /*pexprnode3*/); /*new AOnceExpr*/
+  variable8 = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/,  variable6 /*pexprnode3*/); /*new AOnceExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(88)) /*Parser::go_to*/;
@@ -30748,7 +30755,7 @@ void parser___ReduceAction477___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
@@ -30768,7 +30775,7 @@ void parser___ReduceAction477___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable9 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/,  variable8 /*ptypenode3*/,  NIT_NULL /*null*/,  variable6 /*listnode6*/); /*new ANewExpr*/
+  variable11 = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/,  variable8 /*ptypenode3*/,  NIT_NULL /*null*/,  variable6 /*listnode6*/); /*new ANewExpr*/
   variable10 = variable11;
   variable1 =  variable10 /*pexprnode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(89)) /*Parser::go_to*/;
@@ -30815,7 +30822,7 @@ void parser___ReduceAction478___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 15484); nit_exit(1);}
-  variable9 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/,  variable7 /*tattridnode3*/); /*new AAttrExpr*/
+  variable9 = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/,  variable7 /*tattridnode3*/); /*new AAttrExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -30847,12 +30854,12 @@ void parser___ReduceAction479___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable4 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 15503); nit_exit(1);}
-  variable6 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/,  variable4 /*tattridnode3*/); /*new AAttrExpr*/
+  variable6 = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/,  variable4 /*tattridnode3*/); /*new AAttrExpr*/
   variable5 = variable6;
   variable1 =  variable5 /*pexprnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -30898,7 +30905,7 @@ void parser___ReduceAction480___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -30918,7 +30925,7 @@ void parser___ReduceAction480___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/,  variable9 /*tidnode3*/,  variable7 /*listnode5*/); /*new ACallExpr*/
+  variable12 = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/,  variable9 /*tidnode3*/,  variable7 /*listnode5*/); /*new ACallExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -30955,9 +30962,9 @@ void parser___ReduceAction481___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
@@ -30974,7 +30981,7 @@ void parser___ReduceAction481___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/,  variable6 /*tidnode3*/,  variable4 /*listnode5*/); /*new ACallExpr*/
+  variable9 = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/,  variable6 /*tidnode3*/,  variable4 /*listnode5*/); /*new ACallExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31010,7 +31017,7 @@ void parser___ReduceAction482___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
@@ -31027,7 +31034,7 @@ void parser___ReduceAction482___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
+  variable8 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31067,7 +31074,7 @@ void parser___ReduceAction483___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
@@ -31087,7 +31094,7 @@ void parser___ReduceAction483___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
+  variable10 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31133,7 +31140,7 @@ void parser___ReduceAction484___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[E]*/
+  variable8 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -31153,7 +31160,7 @@ void parser___ReduceAction484___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/,  variable9 /*tkwinitnode3*/,  variable7 /*listnode5*/); /*new AInitExpr*/
+  variable12 = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/,  variable9 /*tkwinitnode3*/,  variable7 /*listnode5*/); /*new AInitExpr*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
   variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31190,9 +31197,9 @@ void parser___ReduceAction485___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
-  variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable6 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
@@ -31209,7 +31216,7 @@ void parser___ReduceAction485___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/,  variable6 /*tkwinitnode3*/,  variable4 /*listnode5*/); /*new AInitExpr*/
+  variable9 = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/,  variable6 /*tkwinitnode3*/,  variable4 /*listnode5*/); /*new AInitExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31262,7 +31269,7 @@ void parser___ReduceAction486___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
@@ -31285,7 +31292,7 @@ void parser___ReduceAction486___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/,  variable13 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/,  variable11 /*ptypenode3*/,  variable12 /*tidnode4*/,  variable9 /*listnode6*/); /*new ANewExpr*/
+  variable15 = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/,  variable11 /*ptypenode3*/,  variable12 /*tidnode4*/,  variable9 /*listnode6*/); /*new ANewExpr*/
   variable14 = variable15;
   variable1 =  variable14 /*pexprnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31319,7 +31326,7 @@ void parser___ReduceAction487___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction487___action, LOCATE_parser, 15750); nit_exit(1);}
-  variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
+  variable5 = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31353,7 +31360,7 @@ void parser___ReduceAction488___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction488___action, LOCATE_parser, 15766); nit_exit(1);}
-  variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
+  variable5 = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31387,7 +31394,7 @@ void parser___ReduceAction489___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction489___action, LOCATE_parser, 15782); nit_exit(1);}
-  variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
+  variable5 = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31421,7 +31428,7 @@ void parser___ReduceAction490___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction490___action, LOCATE_parser, 15798); nit_exit(1);}
-  variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
+  variable5 = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31455,7 +31462,7 @@ void parser___ReduceAction491___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction491___action, LOCATE_parser, 15814); nit_exit(1);}
-  variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
+  variable5 = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31489,7 +31496,7 @@ void parser___ReduceAction492___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction492___action, LOCATE_parser, 15830); nit_exit(1);}
-  variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
+  variable5 = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31523,7 +31530,7 @@ void parser___ReduceAction493___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction493___action, LOCATE_parser, 15846); nit_exit(1);}
-  variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
+  variable5 = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31557,7 +31564,7 @@ void parser___ReduceAction494___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction494___action, LOCATE_parser, 15862); nit_exit(1);}
-  variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
+  variable5 = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31657,7 +31664,7 @@ void parser___ReduceAction496___action(val_t  self, val_t  param0) {
   variable14 =  variable4 /*nodearraylist8*/;
   variable15 = TAG_Bool(( variable14 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction496___action, LOCATE_parser, 15904); nit_exit(1);}
-  variable16 = NEW_parser_prod___AAsCastExpr___init_aascastexpr( variable12 /*pexprnode2*/,  variable13 /*tkwasnode3*/,  variable14 /*ptypenode4*/); /*new AAsCastExpr*/
+  variable16 = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable12 /*pexprnode2*/,  variable13 /*tkwasnode3*/,  variable14 /*ptypenode4*/); /*new AAsCastExpr*/
   variable15 = variable16;
   variable1 =  variable15 /*pexprnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
@@ -31689,12 +31696,12 @@ void parser___ReduceAction497___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
   if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction497___action, LOCATE_parser, 15923); nit_exit(1);}
-  variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/,  variable3 /*listnode3*/); /*new AType*/
+  variable6 = NEW_AType_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/,  variable3 /*listnode3*/); /*new AType*/
   variable5 = variable6;
   variable1 =  variable5 /*ptypenode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(91)) /*Parser::go_to*/;
@@ -31809,7 +31816,7 @@ void parser___ReduceAction499___action(val_t  self, val_t  param0) {
   variable18 =  variable2 /*nodearraylist11*/;
   variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 15973); nit_exit(1);}
-  variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/,  variable14 /*pexprnode3*/,  variable15 /*tkwthennode4*/,  variable16 /*pexprnode5*/,  variable17 /*tkwelsenode6*/,  variable18 /*pexprnode7*/); /*new AIfexprExpr*/
+  variable20 = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/,  variable14 /*pexprnode3*/,  variable15 /*tkwthennode4*/,  variable16 /*pexprnode5*/,  variable17 /*tkwelsenode6*/,  variable18 /*pexprnode7*/); /*new AIfexprExpr*/
   variable19 = variable20;
   variable1 =  variable19 /*pexprnode1*/ /*node_list=*/;
   variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(92)) /*Parser::go_to*/;
@@ -31887,7 +31894,7 @@ void parser___ReduceAction501___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction501___action, LOCATE_parser, 16012); nit_exit(1);}
-  variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AOrExpr*/
+  variable9 = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AOrExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(93)) /*Parser::go_to*/;
@@ -31934,7 +31941,7 @@ void parser___ReduceAction502___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction502___action, LOCATE_parser, 16034); nit_exit(1);}
-  variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AAndExpr*/
+  variable9 = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AAndExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(93)) /*Parser::go_to*/;
@@ -32009,7 +32016,7 @@ void parser___ReduceAction504___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction504___action, LOCATE_parser, 16068); nit_exit(1);}
-  variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/,  variable6 /*pexprnode3*/); /*new ANotExpr*/
+  variable8 = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/,  variable6 /*pexprnode3*/); /*new ANotExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(94)) /*Parser::go_to*/;
@@ -32087,7 +32094,7 @@ void parser___ReduceAction506___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction506___action, LOCATE_parser, 16103); nit_exit(1);}
-  variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEqExpr*/
+  variable9 = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEqExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(95)) /*Parser::go_to*/;
@@ -32134,7 +32141,7 @@ void parser___ReduceAction507___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction507___action, LOCATE_parser, 16125); nit_exit(1);}
-  variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEeExpr*/
+  variable9 = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AEeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(95)) /*Parser::go_to*/;
@@ -32181,7 +32188,7 @@ void parser___ReduceAction508___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction508___action, LOCATE_parser, 16147); nit_exit(1);}
-  variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ANeExpr*/
+  variable9 = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ANeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(95)) /*Parser::go_to*/;
@@ -32228,7 +32235,7 @@ void parser___ReduceAction509___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction509___action, LOCATE_parser, 16169); nit_exit(1);}
-  variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALtExpr*/
+  variable9 = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALtExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(95)) /*Parser::go_to*/;
@@ -32275,7 +32282,7 @@ void parser___ReduceAction510___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction510___action, LOCATE_parser, 16191); nit_exit(1);}
-  variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALeExpr*/
+  variable9 = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ALeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(95)) /*Parser::go_to*/;
@@ -32322,7 +32329,7 @@ void parser___ReduceAction511___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction511___action, LOCATE_parser, 16213); nit_exit(1);}
-  variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGtExpr*/
+  variable9 = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGtExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(95)) /*Parser::go_to*/;
@@ -32369,7 +32376,7 @@ void parser___ReduceAction512___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction512___action, LOCATE_parser, 16235); nit_exit(1);}
-  variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGeExpr*/
+  variable9 = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AGeExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(95)) /*Parser::go_to*/;
@@ -32416,7 +32423,7 @@ void parser___ReduceAction513___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction513___action, LOCATE_parser, 16257); nit_exit(1);}
-  variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarshipExpr*/
+  variable9 = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarshipExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(95)) /*Parser::go_to*/;
@@ -32463,7 +32470,7 @@ void parser___ReduceAction514___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction514___action, LOCATE_parser, 16279); nit_exit(1);}
-  variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/,  variable7 /*ptypenode3*/); /*new AIsaExpr*/
+  variable9 = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/,  variable7 /*ptypenode3*/); /*new AIsaExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(95)) /*Parser::go_to*/;
@@ -32541,7 +32548,7 @@ void parser___ReduceAction516___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction516___action, LOCATE_parser, 16314); nit_exit(1);}
-  variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APlusExpr*/
+  variable9 = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APlusExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(96)) /*Parser::go_to*/;
@@ -32588,7 +32595,7 @@ void parser___ReduceAction517___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction517___action, LOCATE_parser, 16336); nit_exit(1);}
-  variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AMinusExpr*/
+  variable9 = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AMinusExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(96)) /*Parser::go_to*/;
@@ -32666,7 +32673,7 @@ void parser___ReduceAction519___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction519___action, LOCATE_parser, 16371); nit_exit(1);}
-  variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarExpr*/
+  variable9 = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new AStarExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(97)) /*Parser::go_to*/;
@@ -32713,7 +32720,7 @@ void parser___ReduceAction520___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 16393); nit_exit(1);}
-  variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ASlashExpr*/
+  variable9 = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new ASlashExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(97)) /*Parser::go_to*/;
@@ -32760,7 +32767,7 @@ void parser___ReduceAction521___action(val_t  self, val_t  param0) {
   variable7 =  variable2 /*nodearraylist4*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction521___action, LOCATE_parser, 16415); nit_exit(1);}
-  variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APercentExpr*/
+  variable9 = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/,  variable7 /*pexprnode3*/); /*new APercentExpr*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(97)) /*Parser::go_to*/;
@@ -32835,7 +32842,7 @@ void parser___ReduceAction523___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction523___action, LOCATE_parser, 16449); nit_exit(1);}
-  variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/,  variable6 /*pexprnode3*/); /*new AUminusExpr*/
+  variable8 = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/,  variable6 /*pexprnode3*/); /*new AUminusExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(98)) /*Parser::go_to*/;
@@ -32879,7 +32886,7 @@ void parser___ReduceAction524___action(val_t  self, val_t  param0) {
   variable6 =  variable2 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
   if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction524___action, LOCATE_parser, 16470); nit_exit(1);}
-  variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/,  variable6 /*pexprnode3*/); /*new AOnceExpr*/
+  variable8 = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/,  variable6 /*pexprnode3*/); /*new AOnceExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(98)) /*Parser::go_to*/;
@@ -32953,7 +32960,7 @@ void parser___ReduceAction526___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[E]*/
+  variable7 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
@@ -32973,7 +32980,7 @@ void parser___ReduceAction526___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable9 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/,  variable8 /*ptypenode3*/,  NIT_NULL /*null*/,  variable6 /*listnode6*/); /*new ANewExpr*/
+  variable11 = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/,  variable8 /*ptypenode3*/,  NIT_NULL /*null*/,  variable6 /*listnode6*/); /*new ANewExpr*/
   variable10 = variable11;
   variable1 =  variable10 /*pexprnode1*/ /*node_list=*/;
   variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(99)) /*Parser::go_to*/;
@@ -33014,7 +33021,7 @@ void parser___ReduceAction527___action(val_t  self, val_t  param0) {
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
   if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction527___action, LOCATE_parser, 16537); nit_exit(1);}
-  variable7 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable4 /*pexprnode2*/,  variable5 /*tattridnode3*/); /*new AAttrExpr*/
+  variable7 = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable4 /*pexprnode2*/,  variable5 /*tattridnode3*/); /*new AAttrExpr*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33054,7 +33061,7 @@ void parser___ReduceAction528___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -33074,7 +33081,7 @@ void parser___ReduceAction528___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = NEW_parser_prod___ACallExpr___init_acallexpr( variable6 /*pexprnode2*/,  variable7 /*tidnode3*/,  variable5 /*listnode5*/); /*new ACallExpr*/
+  variable10 = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable6 /*pexprnode2*/,  variable7 /*tidnode3*/,  variable5 /*listnode5*/); /*new ACallExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33110,7 +33117,7 @@ void parser___ReduceAction529___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
@@ -33127,7 +33134,7 @@ void parser___ReduceAction529___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
+  variable8 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/,  variable5 /*tkwsupernode3*/,  variable4 /*listnode5*/); /*new ASuperExpr*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
   variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33167,7 +33174,7 @@ void parser___ReduceAction530___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
@@ -33187,7 +33194,7 @@ void parser___ReduceAction530___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
+  variable10 = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/,  variable7 /*tkwsupernode3*/,  variable5 /*listnode5*/); /*new ASuperExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33227,7 +33234,7 @@ void parser___ReduceAction531___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -33247,7 +33254,7 @@ void parser___ReduceAction531___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable6 /*pexprnode2*/,  variable7 /*tkwinitnode3*/,  variable5 /*listnode5*/); /*new AInitExpr*/
+  variable10 = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable6 /*pexprnode2*/,  variable7 /*tkwinitnode3*/,  variable5 /*listnode5*/); /*new AInitExpr*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
   variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33300,7 +33307,7 @@ void parser___ReduceAction532___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
@@ -33323,7 +33330,7 @@ void parser___ReduceAction532___action(val_t  self, val_t  param0) {
       ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/,  variable13 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/,  variable11 /*ptypenode3*/,  variable12 /*tidnode4*/,  variable9 /*listnode6*/); /*new ANewExpr*/
+  variable15 = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/,  variable11 /*ptypenode3*/,  variable12 /*tidnode4*/,  variable9 /*listnode6*/); /*new ANewExpr*/
   variable14 = variable15;
   variable1 =  variable14 /*pexprnode1*/ /*node_list=*/;
   variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33357,7 +33364,7 @@ void parser___ReduceAction533___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction533___action, LOCATE_parser, 16718); nit_exit(1);}
-  variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
+  variable5 = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33391,7 +33398,7 @@ void parser___ReduceAction534___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction534___action, LOCATE_parser, 16734); nit_exit(1);}
-  variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
+  variable5 = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33425,7 +33432,7 @@ void parser___ReduceAction535___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction535___action, LOCATE_parser, 16750); nit_exit(1);}
-  variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
+  variable5 = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33459,7 +33466,7 @@ void parser___ReduceAction536___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction536___action, LOCATE_parser, 16766); nit_exit(1);}
-  variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
+  variable5 = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33493,7 +33500,7 @@ void parser___ReduceAction537___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction537___action, LOCATE_parser, 16782); nit_exit(1);}
-  variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
+  variable5 = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33527,7 +33534,7 @@ void parser___ReduceAction538___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction538___action, LOCATE_parser, 16798); nit_exit(1);}
-  variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
+  variable5 = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33561,7 +33568,7 @@ void parser___ReduceAction539___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction539___action, LOCATE_parser, 16814); nit_exit(1);}
-  variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
+  variable5 = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33595,7 +33602,7 @@ void parser___ReduceAction540___action(val_t  self, val_t  param0) {
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
   if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction540___action, LOCATE_parser, 16830); nit_exit(1);}
-  variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
+  variable5 = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33695,7 +33702,7 @@ void parser___ReduceAction542___action(val_t  self, val_t  param0) {
   variable14 =  variable4 /*nodearraylist8*/;
   variable15 = TAG_Bool(( variable14 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
   if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction542___action, LOCATE_parser, 16872); nit_exit(1);}
-  variable16 = NEW_parser_prod___AAsCastExpr___init_aascastexpr( variable12 /*pexprnode2*/,  variable13 /*tkwasnode3*/,  variable14 /*ptypenode4*/); /*new AAsCastExpr*/
+  variable16 = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable12 /*pexprnode2*/,  variable13 /*tkwasnode3*/,  variable14 /*ptypenode4*/); /*new AAsCastExpr*/
   variable15 = variable16;
   variable1 =  variable15 /*pexprnode1*/ /*node_list=*/;
   variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
@@ -33759,7 +33766,7 @@ void parser___ReduceAction544___action(val_t  self, val_t  param0) {
   trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
-  variable3 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
+  variable3 = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
   variable2 = variable3;
   variable1 =  variable2 /*pexprnode1*/ /*node_list=*/;
   variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(101)) /*Parser::go_to*/;
@@ -33790,7 +33797,7 @@ void parser___ReduceAction545___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pimportnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pimportnode1*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
@@ -33832,7 +33839,7 @@ void parser___ReduceAction546___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -33882,7 +33889,7 @@ void parser___ReduceAction547___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pclassdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pclassdefnode1*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
@@ -33924,7 +33931,7 @@ void parser___ReduceAction548___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -33974,7 +33981,7 @@ void parser___ReduceAction549___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*psuperclassnode1*/==NIT_NULL) || VAL_ISA( variable4 /*psuperclassnode1*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
@@ -34016,7 +34023,7 @@ void parser___ReduceAction550___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34066,7 +34073,7 @@ void parser___ReduceAction551___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
@@ -34108,7 +34115,7 @@ void parser___ReduceAction552___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34158,7 +34165,7 @@ void parser___ReduceAction553___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -34200,7 +34207,7 @@ void parser___ReduceAction554___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34250,7 +34257,7 @@ void parser___ReduceAction555___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
@@ -34292,7 +34299,7 @@ void parser___ReduceAction556___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34342,7 +34349,7 @@ void parser___ReduceAction557___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
@@ -34384,7 +34391,7 @@ void parser___ReduceAction558___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34434,7 +34441,7 @@ void parser___ReduceAction559___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable4 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
@@ -34476,7 +34483,7 @@ void parser___ReduceAction560___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34526,7 +34533,7 @@ void parser___ReduceAction561___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -34568,7 +34575,7 @@ void parser___ReduceAction562___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34618,7 +34625,7 @@ void parser___ReduceAction563___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*listnode1*/==NIT_NULL) || VAL_ISA( variable4 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34665,7 +34672,7 @@ void parser___ReduceAction564___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34720,7 +34727,7 @@ void parser___ReduceAction565___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
@@ -34762,7 +34769,7 @@ void parser___ReduceAction566___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34812,7 +34819,7 @@ void parser___ReduceAction567___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tidnode1*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
@@ -34854,7 +34861,7 @@ void parser___ReduceAction568___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34904,7 +34911,7 @@ void parser___ReduceAction569___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tcommentnode1*/==NIT_NULL) || VAL_ISA( variable4 /*tcommentnode1*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
@@ -34946,7 +34953,7 @@ void parser___ReduceAction570___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
@@ -34996,7 +35003,7 @@ void parser___ReduceAction571___action(val_t  self, val_t  param0) {
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*teolnode1*/==NIT_NULL) || VAL_ISA( variable4 /*teolnode1*/, COLOR_TEol, ID_TEol)) /*cast TEol*/;
@@ -35038,7 +35045,7 @@ void parser___ReduceAction572___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[Object]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
index f42c0a0..183ca83 100644 (file)
@@ -1194,2298 +1194,2299 @@ extern const int SFT_parser[];
 #define COLOR_ReduceAction SFT_parser[31]
 #define INIT_TABLE_POS_ReduceAction SFT_parser[32]
 #define COLOR_parser___ReduceAction___action SFT_parser[33]
-#define ID_ReduceAction0 SFT_parser[34]
-#define COLOR_ReduceAction0 SFT_parser[35]
-#define INIT_TABLE_POS_ReduceAction0 SFT_parser[36]
-#define COLOR_parser___ReduceAction0___init SFT_parser[37]
-#define ID_ReduceAction1 SFT_parser[38]
-#define COLOR_ReduceAction1 SFT_parser[39]
-#define INIT_TABLE_POS_ReduceAction1 SFT_parser[40]
-#define COLOR_parser___ReduceAction1___init SFT_parser[41]
-#define ID_ReduceAction2 SFT_parser[42]
-#define COLOR_ReduceAction2 SFT_parser[43]
-#define INIT_TABLE_POS_ReduceAction2 SFT_parser[44]
-#define COLOR_parser___ReduceAction2___init SFT_parser[45]
-#define ID_ReduceAction3 SFT_parser[46]
-#define COLOR_ReduceAction3 SFT_parser[47]
-#define INIT_TABLE_POS_ReduceAction3 SFT_parser[48]
-#define COLOR_parser___ReduceAction3___init SFT_parser[49]
-#define ID_ReduceAction4 SFT_parser[50]
-#define COLOR_ReduceAction4 SFT_parser[51]
-#define INIT_TABLE_POS_ReduceAction4 SFT_parser[52]
-#define COLOR_parser___ReduceAction4___init SFT_parser[53]
-#define ID_ReduceAction5 SFT_parser[54]
-#define COLOR_ReduceAction5 SFT_parser[55]
-#define INIT_TABLE_POS_ReduceAction5 SFT_parser[56]
-#define COLOR_parser___ReduceAction5___init SFT_parser[57]
-#define ID_ReduceAction6 SFT_parser[58]
-#define COLOR_ReduceAction6 SFT_parser[59]
-#define INIT_TABLE_POS_ReduceAction6 SFT_parser[60]
-#define COLOR_parser___ReduceAction6___init SFT_parser[61]
-#define ID_ReduceAction7 SFT_parser[62]
-#define COLOR_ReduceAction7 SFT_parser[63]
-#define INIT_TABLE_POS_ReduceAction7 SFT_parser[64]
-#define COLOR_parser___ReduceAction7___init SFT_parser[65]
-#define ID_ReduceAction8 SFT_parser[66]
-#define COLOR_ReduceAction8 SFT_parser[67]
-#define INIT_TABLE_POS_ReduceAction8 SFT_parser[68]
-#define COLOR_parser___ReduceAction8___init SFT_parser[69]
-#define ID_ReduceAction9 SFT_parser[70]
-#define COLOR_ReduceAction9 SFT_parser[71]
-#define INIT_TABLE_POS_ReduceAction9 SFT_parser[72]
-#define COLOR_parser___ReduceAction9___init SFT_parser[73]
-#define ID_ReduceAction10 SFT_parser[74]
-#define COLOR_ReduceAction10 SFT_parser[75]
-#define INIT_TABLE_POS_ReduceAction10 SFT_parser[76]
-#define COLOR_parser___ReduceAction10___init SFT_parser[77]
-#define ID_ReduceAction11 SFT_parser[78]
-#define COLOR_ReduceAction11 SFT_parser[79]
-#define INIT_TABLE_POS_ReduceAction11 SFT_parser[80]
-#define COLOR_parser___ReduceAction11___init SFT_parser[81]
-#define ID_ReduceAction12 SFT_parser[82]
-#define COLOR_ReduceAction12 SFT_parser[83]
-#define INIT_TABLE_POS_ReduceAction12 SFT_parser[84]
-#define COLOR_parser___ReduceAction12___init SFT_parser[85]
-#define ID_ReduceAction13 SFT_parser[86]
-#define COLOR_ReduceAction13 SFT_parser[87]
-#define INIT_TABLE_POS_ReduceAction13 SFT_parser[88]
-#define COLOR_parser___ReduceAction13___init SFT_parser[89]
-#define ID_ReduceAction14 SFT_parser[90]
-#define COLOR_ReduceAction14 SFT_parser[91]
-#define INIT_TABLE_POS_ReduceAction14 SFT_parser[92]
-#define COLOR_parser___ReduceAction14___init SFT_parser[93]
-#define ID_ReduceAction15 SFT_parser[94]
-#define COLOR_ReduceAction15 SFT_parser[95]
-#define INIT_TABLE_POS_ReduceAction15 SFT_parser[96]
-#define COLOR_parser___ReduceAction15___init SFT_parser[97]
-#define ID_ReduceAction16 SFT_parser[98]
-#define COLOR_ReduceAction16 SFT_parser[99]
-#define INIT_TABLE_POS_ReduceAction16 SFT_parser[100]
-#define COLOR_parser___ReduceAction16___init SFT_parser[101]
-#define ID_ReduceAction17 SFT_parser[102]
-#define COLOR_ReduceAction17 SFT_parser[103]
-#define INIT_TABLE_POS_ReduceAction17 SFT_parser[104]
-#define COLOR_parser___ReduceAction17___init SFT_parser[105]
-#define ID_ReduceAction18 SFT_parser[106]
-#define COLOR_ReduceAction18 SFT_parser[107]
-#define INIT_TABLE_POS_ReduceAction18 SFT_parser[108]
-#define COLOR_parser___ReduceAction18___init SFT_parser[109]
-#define ID_ReduceAction19 SFT_parser[110]
-#define COLOR_ReduceAction19 SFT_parser[111]
-#define INIT_TABLE_POS_ReduceAction19 SFT_parser[112]
-#define COLOR_parser___ReduceAction19___init SFT_parser[113]
-#define ID_ReduceAction20 SFT_parser[114]
-#define COLOR_ReduceAction20 SFT_parser[115]
-#define INIT_TABLE_POS_ReduceAction20 SFT_parser[116]
-#define COLOR_parser___ReduceAction20___init SFT_parser[117]
-#define ID_ReduceAction21 SFT_parser[118]
-#define COLOR_ReduceAction21 SFT_parser[119]
-#define INIT_TABLE_POS_ReduceAction21 SFT_parser[120]
-#define COLOR_parser___ReduceAction21___init SFT_parser[121]
-#define ID_ReduceAction22 SFT_parser[122]
-#define COLOR_ReduceAction22 SFT_parser[123]
-#define INIT_TABLE_POS_ReduceAction22 SFT_parser[124]
-#define COLOR_parser___ReduceAction22___init SFT_parser[125]
-#define ID_ReduceAction23 SFT_parser[126]
-#define COLOR_ReduceAction23 SFT_parser[127]
-#define INIT_TABLE_POS_ReduceAction23 SFT_parser[128]
-#define COLOR_parser___ReduceAction23___init SFT_parser[129]
-#define ID_ReduceAction24 SFT_parser[130]
-#define COLOR_ReduceAction24 SFT_parser[131]
-#define INIT_TABLE_POS_ReduceAction24 SFT_parser[132]
-#define COLOR_parser___ReduceAction24___init SFT_parser[133]
-#define ID_ReduceAction25 SFT_parser[134]
-#define COLOR_ReduceAction25 SFT_parser[135]
-#define INIT_TABLE_POS_ReduceAction25 SFT_parser[136]
-#define COLOR_parser___ReduceAction25___init SFT_parser[137]
-#define ID_ReduceAction26 SFT_parser[138]
-#define COLOR_ReduceAction26 SFT_parser[139]
-#define INIT_TABLE_POS_ReduceAction26 SFT_parser[140]
-#define COLOR_parser___ReduceAction26___init SFT_parser[141]
-#define ID_ReduceAction27 SFT_parser[142]
-#define COLOR_ReduceAction27 SFT_parser[143]
-#define INIT_TABLE_POS_ReduceAction27 SFT_parser[144]
-#define COLOR_parser___ReduceAction27___init SFT_parser[145]
-#define ID_ReduceAction28 SFT_parser[146]
-#define COLOR_ReduceAction28 SFT_parser[147]
-#define INIT_TABLE_POS_ReduceAction28 SFT_parser[148]
-#define COLOR_parser___ReduceAction28___init SFT_parser[149]
-#define ID_ReduceAction29 SFT_parser[150]
-#define COLOR_ReduceAction29 SFT_parser[151]
-#define INIT_TABLE_POS_ReduceAction29 SFT_parser[152]
-#define COLOR_parser___ReduceAction29___init SFT_parser[153]
-#define ID_ReduceAction30 SFT_parser[154]
-#define COLOR_ReduceAction30 SFT_parser[155]
-#define INIT_TABLE_POS_ReduceAction30 SFT_parser[156]
-#define COLOR_parser___ReduceAction30___init SFT_parser[157]
-#define ID_ReduceAction31 SFT_parser[158]
-#define COLOR_ReduceAction31 SFT_parser[159]
-#define INIT_TABLE_POS_ReduceAction31 SFT_parser[160]
-#define COLOR_parser___ReduceAction31___init SFT_parser[161]
-#define ID_ReduceAction32 SFT_parser[162]
-#define COLOR_ReduceAction32 SFT_parser[163]
-#define INIT_TABLE_POS_ReduceAction32 SFT_parser[164]
-#define COLOR_parser___ReduceAction32___init SFT_parser[165]
-#define ID_ReduceAction33 SFT_parser[166]
-#define COLOR_ReduceAction33 SFT_parser[167]
-#define INIT_TABLE_POS_ReduceAction33 SFT_parser[168]
-#define COLOR_parser___ReduceAction33___init SFT_parser[169]
-#define ID_ReduceAction34 SFT_parser[170]
-#define COLOR_ReduceAction34 SFT_parser[171]
-#define INIT_TABLE_POS_ReduceAction34 SFT_parser[172]
-#define COLOR_parser___ReduceAction34___init SFT_parser[173]
-#define ID_ReduceAction35 SFT_parser[174]
-#define COLOR_ReduceAction35 SFT_parser[175]
-#define INIT_TABLE_POS_ReduceAction35 SFT_parser[176]
-#define COLOR_parser___ReduceAction35___init SFT_parser[177]
-#define ID_ReduceAction36 SFT_parser[178]
-#define COLOR_ReduceAction36 SFT_parser[179]
-#define INIT_TABLE_POS_ReduceAction36 SFT_parser[180]
-#define COLOR_parser___ReduceAction36___init SFT_parser[181]
-#define ID_ReduceAction37 SFT_parser[182]
-#define COLOR_ReduceAction37 SFT_parser[183]
-#define INIT_TABLE_POS_ReduceAction37 SFT_parser[184]
-#define COLOR_parser___ReduceAction37___init SFT_parser[185]
-#define ID_ReduceAction38 SFT_parser[186]
-#define COLOR_ReduceAction38 SFT_parser[187]
-#define INIT_TABLE_POS_ReduceAction38 SFT_parser[188]
-#define COLOR_parser___ReduceAction38___init SFT_parser[189]
-#define ID_ReduceAction39 SFT_parser[190]
-#define COLOR_ReduceAction39 SFT_parser[191]
-#define INIT_TABLE_POS_ReduceAction39 SFT_parser[192]
-#define COLOR_parser___ReduceAction39___init SFT_parser[193]
-#define ID_ReduceAction40 SFT_parser[194]
-#define COLOR_ReduceAction40 SFT_parser[195]
-#define INIT_TABLE_POS_ReduceAction40 SFT_parser[196]
-#define COLOR_parser___ReduceAction40___init SFT_parser[197]
-#define ID_ReduceAction41 SFT_parser[198]
-#define COLOR_ReduceAction41 SFT_parser[199]
-#define INIT_TABLE_POS_ReduceAction41 SFT_parser[200]
-#define COLOR_parser___ReduceAction41___init SFT_parser[201]
-#define ID_ReduceAction42 SFT_parser[202]
-#define COLOR_ReduceAction42 SFT_parser[203]
-#define INIT_TABLE_POS_ReduceAction42 SFT_parser[204]
-#define COLOR_parser___ReduceAction42___init SFT_parser[205]
-#define ID_ReduceAction43 SFT_parser[206]
-#define COLOR_ReduceAction43 SFT_parser[207]
-#define INIT_TABLE_POS_ReduceAction43 SFT_parser[208]
-#define COLOR_parser___ReduceAction43___init SFT_parser[209]
-#define ID_ReduceAction44 SFT_parser[210]
-#define COLOR_ReduceAction44 SFT_parser[211]
-#define INIT_TABLE_POS_ReduceAction44 SFT_parser[212]
-#define COLOR_parser___ReduceAction44___init SFT_parser[213]
-#define ID_ReduceAction45 SFT_parser[214]
-#define COLOR_ReduceAction45 SFT_parser[215]
-#define INIT_TABLE_POS_ReduceAction45 SFT_parser[216]
-#define COLOR_parser___ReduceAction45___init SFT_parser[217]
-#define ID_ReduceAction46 SFT_parser[218]
-#define COLOR_ReduceAction46 SFT_parser[219]
-#define INIT_TABLE_POS_ReduceAction46 SFT_parser[220]
-#define COLOR_parser___ReduceAction46___init SFT_parser[221]
-#define ID_ReduceAction47 SFT_parser[222]
-#define COLOR_ReduceAction47 SFT_parser[223]
-#define INIT_TABLE_POS_ReduceAction47 SFT_parser[224]
-#define COLOR_parser___ReduceAction47___init SFT_parser[225]
-#define ID_ReduceAction48 SFT_parser[226]
-#define COLOR_ReduceAction48 SFT_parser[227]
-#define INIT_TABLE_POS_ReduceAction48 SFT_parser[228]
-#define COLOR_parser___ReduceAction48___init SFT_parser[229]
-#define ID_ReduceAction49 SFT_parser[230]
-#define COLOR_ReduceAction49 SFT_parser[231]
-#define INIT_TABLE_POS_ReduceAction49 SFT_parser[232]
-#define COLOR_parser___ReduceAction49___init SFT_parser[233]
-#define ID_ReduceAction50 SFT_parser[234]
-#define COLOR_ReduceAction50 SFT_parser[235]
-#define INIT_TABLE_POS_ReduceAction50 SFT_parser[236]
-#define COLOR_parser___ReduceAction50___init SFT_parser[237]
-#define ID_ReduceAction51 SFT_parser[238]
-#define COLOR_ReduceAction51 SFT_parser[239]
-#define INIT_TABLE_POS_ReduceAction51 SFT_parser[240]
-#define COLOR_parser___ReduceAction51___init SFT_parser[241]
-#define ID_ReduceAction52 SFT_parser[242]
-#define COLOR_ReduceAction52 SFT_parser[243]
-#define INIT_TABLE_POS_ReduceAction52 SFT_parser[244]
-#define COLOR_parser___ReduceAction52___init SFT_parser[245]
-#define ID_ReduceAction53 SFT_parser[246]
-#define COLOR_ReduceAction53 SFT_parser[247]
-#define INIT_TABLE_POS_ReduceAction53 SFT_parser[248]
-#define COLOR_parser___ReduceAction53___init SFT_parser[249]
-#define ID_ReduceAction54 SFT_parser[250]
-#define COLOR_ReduceAction54 SFT_parser[251]
-#define INIT_TABLE_POS_ReduceAction54 SFT_parser[252]
-#define COLOR_parser___ReduceAction54___init SFT_parser[253]
-#define ID_ReduceAction55 SFT_parser[254]
-#define COLOR_ReduceAction55 SFT_parser[255]
-#define INIT_TABLE_POS_ReduceAction55 SFT_parser[256]
-#define COLOR_parser___ReduceAction55___init SFT_parser[257]
-#define ID_ReduceAction56 SFT_parser[258]
-#define COLOR_ReduceAction56 SFT_parser[259]
-#define INIT_TABLE_POS_ReduceAction56 SFT_parser[260]
-#define COLOR_parser___ReduceAction56___init SFT_parser[261]
-#define ID_ReduceAction57 SFT_parser[262]
-#define COLOR_ReduceAction57 SFT_parser[263]
-#define INIT_TABLE_POS_ReduceAction57 SFT_parser[264]
-#define COLOR_parser___ReduceAction57___init SFT_parser[265]
-#define ID_ReduceAction58 SFT_parser[266]
-#define COLOR_ReduceAction58 SFT_parser[267]
-#define INIT_TABLE_POS_ReduceAction58 SFT_parser[268]
-#define COLOR_parser___ReduceAction58___init SFT_parser[269]
-#define ID_ReduceAction59 SFT_parser[270]
-#define COLOR_ReduceAction59 SFT_parser[271]
-#define INIT_TABLE_POS_ReduceAction59 SFT_parser[272]
-#define COLOR_parser___ReduceAction59___init SFT_parser[273]
-#define ID_ReduceAction60 SFT_parser[274]
-#define COLOR_ReduceAction60 SFT_parser[275]
-#define INIT_TABLE_POS_ReduceAction60 SFT_parser[276]
-#define COLOR_parser___ReduceAction60___init SFT_parser[277]
-#define ID_ReduceAction61 SFT_parser[278]
-#define COLOR_ReduceAction61 SFT_parser[279]
-#define INIT_TABLE_POS_ReduceAction61 SFT_parser[280]
-#define COLOR_parser___ReduceAction61___init SFT_parser[281]
-#define ID_ReduceAction62 SFT_parser[282]
-#define COLOR_ReduceAction62 SFT_parser[283]
-#define INIT_TABLE_POS_ReduceAction62 SFT_parser[284]
-#define COLOR_parser___ReduceAction62___init SFT_parser[285]
-#define ID_ReduceAction63 SFT_parser[286]
-#define COLOR_ReduceAction63 SFT_parser[287]
-#define INIT_TABLE_POS_ReduceAction63 SFT_parser[288]
-#define COLOR_parser___ReduceAction63___init SFT_parser[289]
-#define ID_ReduceAction64 SFT_parser[290]
-#define COLOR_ReduceAction64 SFT_parser[291]
-#define INIT_TABLE_POS_ReduceAction64 SFT_parser[292]
-#define COLOR_parser___ReduceAction64___init SFT_parser[293]
-#define ID_ReduceAction65 SFT_parser[294]
-#define COLOR_ReduceAction65 SFT_parser[295]
-#define INIT_TABLE_POS_ReduceAction65 SFT_parser[296]
-#define COLOR_parser___ReduceAction65___init SFT_parser[297]
-#define ID_ReduceAction66 SFT_parser[298]
-#define COLOR_ReduceAction66 SFT_parser[299]
-#define INIT_TABLE_POS_ReduceAction66 SFT_parser[300]
-#define COLOR_parser___ReduceAction66___init SFT_parser[301]
-#define ID_ReduceAction67 SFT_parser[302]
-#define COLOR_ReduceAction67 SFT_parser[303]
-#define INIT_TABLE_POS_ReduceAction67 SFT_parser[304]
-#define COLOR_parser___ReduceAction67___init SFT_parser[305]
-#define ID_ReduceAction68 SFT_parser[306]
-#define COLOR_ReduceAction68 SFT_parser[307]
-#define INIT_TABLE_POS_ReduceAction68 SFT_parser[308]
-#define COLOR_parser___ReduceAction68___init SFT_parser[309]
-#define ID_ReduceAction69 SFT_parser[310]
-#define COLOR_ReduceAction69 SFT_parser[311]
-#define INIT_TABLE_POS_ReduceAction69 SFT_parser[312]
-#define COLOR_parser___ReduceAction69___init SFT_parser[313]
-#define ID_ReduceAction70 SFT_parser[314]
-#define COLOR_ReduceAction70 SFT_parser[315]
-#define INIT_TABLE_POS_ReduceAction70 SFT_parser[316]
-#define COLOR_parser___ReduceAction70___init SFT_parser[317]
-#define ID_ReduceAction71 SFT_parser[318]
-#define COLOR_ReduceAction71 SFT_parser[319]
-#define INIT_TABLE_POS_ReduceAction71 SFT_parser[320]
-#define COLOR_parser___ReduceAction71___init SFT_parser[321]
-#define ID_ReduceAction72 SFT_parser[322]
-#define COLOR_ReduceAction72 SFT_parser[323]
-#define INIT_TABLE_POS_ReduceAction72 SFT_parser[324]
-#define COLOR_parser___ReduceAction72___init SFT_parser[325]
-#define ID_ReduceAction73 SFT_parser[326]
-#define COLOR_ReduceAction73 SFT_parser[327]
-#define INIT_TABLE_POS_ReduceAction73 SFT_parser[328]
-#define COLOR_parser___ReduceAction73___init SFT_parser[329]
-#define ID_ReduceAction74 SFT_parser[330]
-#define COLOR_ReduceAction74 SFT_parser[331]
-#define INIT_TABLE_POS_ReduceAction74 SFT_parser[332]
-#define COLOR_parser___ReduceAction74___init SFT_parser[333]
-#define ID_ReduceAction75 SFT_parser[334]
-#define COLOR_ReduceAction75 SFT_parser[335]
-#define INIT_TABLE_POS_ReduceAction75 SFT_parser[336]
-#define COLOR_parser___ReduceAction75___init SFT_parser[337]
-#define ID_ReduceAction76 SFT_parser[338]
-#define COLOR_ReduceAction76 SFT_parser[339]
-#define INIT_TABLE_POS_ReduceAction76 SFT_parser[340]
-#define COLOR_parser___ReduceAction76___init SFT_parser[341]
-#define ID_ReduceAction77 SFT_parser[342]
-#define COLOR_ReduceAction77 SFT_parser[343]
-#define INIT_TABLE_POS_ReduceAction77 SFT_parser[344]
-#define COLOR_parser___ReduceAction77___init SFT_parser[345]
-#define ID_ReduceAction78 SFT_parser[346]
-#define COLOR_ReduceAction78 SFT_parser[347]
-#define INIT_TABLE_POS_ReduceAction78 SFT_parser[348]
-#define COLOR_parser___ReduceAction78___init SFT_parser[349]
-#define ID_ReduceAction79 SFT_parser[350]
-#define COLOR_ReduceAction79 SFT_parser[351]
-#define INIT_TABLE_POS_ReduceAction79 SFT_parser[352]
-#define COLOR_parser___ReduceAction79___init SFT_parser[353]
-#define ID_ReduceAction80 SFT_parser[354]
-#define COLOR_ReduceAction80 SFT_parser[355]
-#define INIT_TABLE_POS_ReduceAction80 SFT_parser[356]
-#define COLOR_parser___ReduceAction80___init SFT_parser[357]
-#define ID_ReduceAction81 SFT_parser[358]
-#define COLOR_ReduceAction81 SFT_parser[359]
-#define INIT_TABLE_POS_ReduceAction81 SFT_parser[360]
-#define COLOR_parser___ReduceAction81___init SFT_parser[361]
-#define ID_ReduceAction82 SFT_parser[362]
-#define COLOR_ReduceAction82 SFT_parser[363]
-#define INIT_TABLE_POS_ReduceAction82 SFT_parser[364]
-#define COLOR_parser___ReduceAction82___init SFT_parser[365]
-#define ID_ReduceAction83 SFT_parser[366]
-#define COLOR_ReduceAction83 SFT_parser[367]
-#define INIT_TABLE_POS_ReduceAction83 SFT_parser[368]
-#define COLOR_parser___ReduceAction83___init SFT_parser[369]
-#define ID_ReduceAction84 SFT_parser[370]
-#define COLOR_ReduceAction84 SFT_parser[371]
-#define INIT_TABLE_POS_ReduceAction84 SFT_parser[372]
-#define COLOR_parser___ReduceAction84___init SFT_parser[373]
-#define ID_ReduceAction85 SFT_parser[374]
-#define COLOR_ReduceAction85 SFT_parser[375]
-#define INIT_TABLE_POS_ReduceAction85 SFT_parser[376]
-#define COLOR_parser___ReduceAction85___init SFT_parser[377]
-#define ID_ReduceAction86 SFT_parser[378]
-#define COLOR_ReduceAction86 SFT_parser[379]
-#define INIT_TABLE_POS_ReduceAction86 SFT_parser[380]
-#define COLOR_parser___ReduceAction86___init SFT_parser[381]
-#define ID_ReduceAction87 SFT_parser[382]
-#define COLOR_ReduceAction87 SFT_parser[383]
-#define INIT_TABLE_POS_ReduceAction87 SFT_parser[384]
-#define COLOR_parser___ReduceAction87___init SFT_parser[385]
-#define ID_ReduceAction88 SFT_parser[386]
-#define COLOR_ReduceAction88 SFT_parser[387]
-#define INIT_TABLE_POS_ReduceAction88 SFT_parser[388]
-#define COLOR_parser___ReduceAction88___init SFT_parser[389]
-#define ID_ReduceAction89 SFT_parser[390]
-#define COLOR_ReduceAction89 SFT_parser[391]
-#define INIT_TABLE_POS_ReduceAction89 SFT_parser[392]
-#define COLOR_parser___ReduceAction89___init SFT_parser[393]
-#define ID_ReduceAction90 SFT_parser[394]
-#define COLOR_ReduceAction90 SFT_parser[395]
-#define INIT_TABLE_POS_ReduceAction90 SFT_parser[396]
-#define COLOR_parser___ReduceAction90___init SFT_parser[397]
-#define ID_ReduceAction91 SFT_parser[398]
-#define COLOR_ReduceAction91 SFT_parser[399]
-#define INIT_TABLE_POS_ReduceAction91 SFT_parser[400]
-#define COLOR_parser___ReduceAction91___init SFT_parser[401]
-#define ID_ReduceAction92 SFT_parser[402]
-#define COLOR_ReduceAction92 SFT_parser[403]
-#define INIT_TABLE_POS_ReduceAction92 SFT_parser[404]
-#define COLOR_parser___ReduceAction92___init SFT_parser[405]
-#define ID_ReduceAction93 SFT_parser[406]
-#define COLOR_ReduceAction93 SFT_parser[407]
-#define INIT_TABLE_POS_ReduceAction93 SFT_parser[408]
-#define COLOR_parser___ReduceAction93___init SFT_parser[409]
-#define ID_ReduceAction94 SFT_parser[410]
-#define COLOR_ReduceAction94 SFT_parser[411]
-#define INIT_TABLE_POS_ReduceAction94 SFT_parser[412]
-#define COLOR_parser___ReduceAction94___init SFT_parser[413]
-#define ID_ReduceAction95 SFT_parser[414]
-#define COLOR_ReduceAction95 SFT_parser[415]
-#define INIT_TABLE_POS_ReduceAction95 SFT_parser[416]
-#define COLOR_parser___ReduceAction95___init SFT_parser[417]
-#define ID_ReduceAction96 SFT_parser[418]
-#define COLOR_ReduceAction96 SFT_parser[419]
-#define INIT_TABLE_POS_ReduceAction96 SFT_parser[420]
-#define COLOR_parser___ReduceAction96___init SFT_parser[421]
-#define ID_ReduceAction97 SFT_parser[422]
-#define COLOR_ReduceAction97 SFT_parser[423]
-#define INIT_TABLE_POS_ReduceAction97 SFT_parser[424]
-#define COLOR_parser___ReduceAction97___init SFT_parser[425]
-#define ID_ReduceAction98 SFT_parser[426]
-#define COLOR_ReduceAction98 SFT_parser[427]
-#define INIT_TABLE_POS_ReduceAction98 SFT_parser[428]
-#define COLOR_parser___ReduceAction98___init SFT_parser[429]
-#define ID_ReduceAction99 SFT_parser[430]
-#define COLOR_ReduceAction99 SFT_parser[431]
-#define INIT_TABLE_POS_ReduceAction99 SFT_parser[432]
-#define COLOR_parser___ReduceAction99___init SFT_parser[433]
-#define ID_ReduceAction100 SFT_parser[434]
-#define COLOR_ReduceAction100 SFT_parser[435]
-#define INIT_TABLE_POS_ReduceAction100 SFT_parser[436]
-#define COLOR_parser___ReduceAction100___init SFT_parser[437]
-#define ID_ReduceAction101 SFT_parser[438]
-#define COLOR_ReduceAction101 SFT_parser[439]
-#define INIT_TABLE_POS_ReduceAction101 SFT_parser[440]
-#define COLOR_parser___ReduceAction101___init SFT_parser[441]
-#define ID_ReduceAction102 SFT_parser[442]
-#define COLOR_ReduceAction102 SFT_parser[443]
-#define INIT_TABLE_POS_ReduceAction102 SFT_parser[444]
-#define COLOR_parser___ReduceAction102___init SFT_parser[445]
-#define ID_ReduceAction103 SFT_parser[446]
-#define COLOR_ReduceAction103 SFT_parser[447]
-#define INIT_TABLE_POS_ReduceAction103 SFT_parser[448]
-#define COLOR_parser___ReduceAction103___init SFT_parser[449]
-#define ID_ReduceAction104 SFT_parser[450]
-#define COLOR_ReduceAction104 SFT_parser[451]
-#define INIT_TABLE_POS_ReduceAction104 SFT_parser[452]
-#define COLOR_parser___ReduceAction104___init SFT_parser[453]
-#define ID_ReduceAction105 SFT_parser[454]
-#define COLOR_ReduceAction105 SFT_parser[455]
-#define INIT_TABLE_POS_ReduceAction105 SFT_parser[456]
-#define COLOR_parser___ReduceAction105___init SFT_parser[457]
-#define ID_ReduceAction106 SFT_parser[458]
-#define COLOR_ReduceAction106 SFT_parser[459]
-#define INIT_TABLE_POS_ReduceAction106 SFT_parser[460]
-#define COLOR_parser___ReduceAction106___init SFT_parser[461]
-#define ID_ReduceAction107 SFT_parser[462]
-#define COLOR_ReduceAction107 SFT_parser[463]
-#define INIT_TABLE_POS_ReduceAction107 SFT_parser[464]
-#define COLOR_parser___ReduceAction107___init SFT_parser[465]
-#define ID_ReduceAction108 SFT_parser[466]
-#define COLOR_ReduceAction108 SFT_parser[467]
-#define INIT_TABLE_POS_ReduceAction108 SFT_parser[468]
-#define COLOR_parser___ReduceAction108___init SFT_parser[469]
-#define ID_ReduceAction109 SFT_parser[470]
-#define COLOR_ReduceAction109 SFT_parser[471]
-#define INIT_TABLE_POS_ReduceAction109 SFT_parser[472]
-#define COLOR_parser___ReduceAction109___init SFT_parser[473]
-#define ID_ReduceAction110 SFT_parser[474]
-#define COLOR_ReduceAction110 SFT_parser[475]
-#define INIT_TABLE_POS_ReduceAction110 SFT_parser[476]
-#define COLOR_parser___ReduceAction110___init SFT_parser[477]
-#define ID_ReduceAction111 SFT_parser[478]
-#define COLOR_ReduceAction111 SFT_parser[479]
-#define INIT_TABLE_POS_ReduceAction111 SFT_parser[480]
-#define COLOR_parser___ReduceAction111___init SFT_parser[481]
-#define ID_ReduceAction112 SFT_parser[482]
-#define COLOR_ReduceAction112 SFT_parser[483]
-#define INIT_TABLE_POS_ReduceAction112 SFT_parser[484]
-#define COLOR_parser___ReduceAction112___init SFT_parser[485]
-#define ID_ReduceAction113 SFT_parser[486]
-#define COLOR_ReduceAction113 SFT_parser[487]
-#define INIT_TABLE_POS_ReduceAction113 SFT_parser[488]
-#define COLOR_parser___ReduceAction113___init SFT_parser[489]
-#define ID_ReduceAction114 SFT_parser[490]
-#define COLOR_ReduceAction114 SFT_parser[491]
-#define INIT_TABLE_POS_ReduceAction114 SFT_parser[492]
-#define COLOR_parser___ReduceAction114___init SFT_parser[493]
-#define ID_ReduceAction115 SFT_parser[494]
-#define COLOR_ReduceAction115 SFT_parser[495]
-#define INIT_TABLE_POS_ReduceAction115 SFT_parser[496]
-#define COLOR_parser___ReduceAction115___init SFT_parser[497]
-#define ID_ReduceAction116 SFT_parser[498]
-#define COLOR_ReduceAction116 SFT_parser[499]
-#define INIT_TABLE_POS_ReduceAction116 SFT_parser[500]
-#define COLOR_parser___ReduceAction116___init SFT_parser[501]
-#define ID_ReduceAction117 SFT_parser[502]
-#define COLOR_ReduceAction117 SFT_parser[503]
-#define INIT_TABLE_POS_ReduceAction117 SFT_parser[504]
-#define COLOR_parser___ReduceAction117___init SFT_parser[505]
-#define ID_ReduceAction118 SFT_parser[506]
-#define COLOR_ReduceAction118 SFT_parser[507]
-#define INIT_TABLE_POS_ReduceAction118 SFT_parser[508]
-#define COLOR_parser___ReduceAction118___init SFT_parser[509]
-#define ID_ReduceAction119 SFT_parser[510]
-#define COLOR_ReduceAction119 SFT_parser[511]
-#define INIT_TABLE_POS_ReduceAction119 SFT_parser[512]
-#define COLOR_parser___ReduceAction119___init SFT_parser[513]
-#define ID_ReduceAction120 SFT_parser[514]
-#define COLOR_ReduceAction120 SFT_parser[515]
-#define INIT_TABLE_POS_ReduceAction120 SFT_parser[516]
-#define COLOR_parser___ReduceAction120___init SFT_parser[517]
-#define ID_ReduceAction121 SFT_parser[518]
-#define COLOR_ReduceAction121 SFT_parser[519]
-#define INIT_TABLE_POS_ReduceAction121 SFT_parser[520]
-#define COLOR_parser___ReduceAction121___init SFT_parser[521]
-#define ID_ReduceAction122 SFT_parser[522]
-#define COLOR_ReduceAction122 SFT_parser[523]
-#define INIT_TABLE_POS_ReduceAction122 SFT_parser[524]
-#define COLOR_parser___ReduceAction122___init SFT_parser[525]
-#define ID_ReduceAction123 SFT_parser[526]
-#define COLOR_ReduceAction123 SFT_parser[527]
-#define INIT_TABLE_POS_ReduceAction123 SFT_parser[528]
-#define COLOR_parser___ReduceAction123___init SFT_parser[529]
-#define ID_ReduceAction124 SFT_parser[530]
-#define COLOR_ReduceAction124 SFT_parser[531]
-#define INIT_TABLE_POS_ReduceAction124 SFT_parser[532]
-#define COLOR_parser___ReduceAction124___init SFT_parser[533]
-#define ID_ReduceAction125 SFT_parser[534]
-#define COLOR_ReduceAction125 SFT_parser[535]
-#define INIT_TABLE_POS_ReduceAction125 SFT_parser[536]
-#define COLOR_parser___ReduceAction125___init SFT_parser[537]
-#define ID_ReduceAction126 SFT_parser[538]
-#define COLOR_ReduceAction126 SFT_parser[539]
-#define INIT_TABLE_POS_ReduceAction126 SFT_parser[540]
-#define COLOR_parser___ReduceAction126___init SFT_parser[541]
-#define ID_ReduceAction127 SFT_parser[542]
-#define COLOR_ReduceAction127 SFT_parser[543]
-#define INIT_TABLE_POS_ReduceAction127 SFT_parser[544]
-#define COLOR_parser___ReduceAction127___init SFT_parser[545]
-#define ID_ReduceAction128 SFT_parser[546]
-#define COLOR_ReduceAction128 SFT_parser[547]
-#define INIT_TABLE_POS_ReduceAction128 SFT_parser[548]
-#define COLOR_parser___ReduceAction128___init SFT_parser[549]
-#define ID_ReduceAction129 SFT_parser[550]
-#define COLOR_ReduceAction129 SFT_parser[551]
-#define INIT_TABLE_POS_ReduceAction129 SFT_parser[552]
-#define COLOR_parser___ReduceAction129___init SFT_parser[553]
-#define ID_ReduceAction130 SFT_parser[554]
-#define COLOR_ReduceAction130 SFT_parser[555]
-#define INIT_TABLE_POS_ReduceAction130 SFT_parser[556]
-#define COLOR_parser___ReduceAction130___init SFT_parser[557]
-#define ID_ReduceAction131 SFT_parser[558]
-#define COLOR_ReduceAction131 SFT_parser[559]
-#define INIT_TABLE_POS_ReduceAction131 SFT_parser[560]
-#define COLOR_parser___ReduceAction131___init SFT_parser[561]
-#define ID_ReduceAction132 SFT_parser[562]
-#define COLOR_ReduceAction132 SFT_parser[563]
-#define INIT_TABLE_POS_ReduceAction132 SFT_parser[564]
-#define COLOR_parser___ReduceAction132___init SFT_parser[565]
-#define ID_ReduceAction133 SFT_parser[566]
-#define COLOR_ReduceAction133 SFT_parser[567]
-#define INIT_TABLE_POS_ReduceAction133 SFT_parser[568]
-#define COLOR_parser___ReduceAction133___init SFT_parser[569]
-#define ID_ReduceAction134 SFT_parser[570]
-#define COLOR_ReduceAction134 SFT_parser[571]
-#define INIT_TABLE_POS_ReduceAction134 SFT_parser[572]
-#define COLOR_parser___ReduceAction134___init SFT_parser[573]
-#define ID_ReduceAction135 SFT_parser[574]
-#define COLOR_ReduceAction135 SFT_parser[575]
-#define INIT_TABLE_POS_ReduceAction135 SFT_parser[576]
-#define COLOR_parser___ReduceAction135___init SFT_parser[577]
-#define ID_ReduceAction136 SFT_parser[578]
-#define COLOR_ReduceAction136 SFT_parser[579]
-#define INIT_TABLE_POS_ReduceAction136 SFT_parser[580]
-#define COLOR_parser___ReduceAction136___init SFT_parser[581]
-#define ID_ReduceAction137 SFT_parser[582]
-#define COLOR_ReduceAction137 SFT_parser[583]
-#define INIT_TABLE_POS_ReduceAction137 SFT_parser[584]
-#define COLOR_parser___ReduceAction137___init SFT_parser[585]
-#define ID_ReduceAction138 SFT_parser[586]
-#define COLOR_ReduceAction138 SFT_parser[587]
-#define INIT_TABLE_POS_ReduceAction138 SFT_parser[588]
-#define COLOR_parser___ReduceAction138___init SFT_parser[589]
-#define ID_ReduceAction139 SFT_parser[590]
-#define COLOR_ReduceAction139 SFT_parser[591]
-#define INIT_TABLE_POS_ReduceAction139 SFT_parser[592]
-#define COLOR_parser___ReduceAction139___init SFT_parser[593]
-#define ID_ReduceAction140 SFT_parser[594]
-#define COLOR_ReduceAction140 SFT_parser[595]
-#define INIT_TABLE_POS_ReduceAction140 SFT_parser[596]
-#define COLOR_parser___ReduceAction140___init SFT_parser[597]
-#define ID_ReduceAction141 SFT_parser[598]
-#define COLOR_ReduceAction141 SFT_parser[599]
-#define INIT_TABLE_POS_ReduceAction141 SFT_parser[600]
-#define COLOR_parser___ReduceAction141___init SFT_parser[601]
-#define ID_ReduceAction142 SFT_parser[602]
-#define COLOR_ReduceAction142 SFT_parser[603]
-#define INIT_TABLE_POS_ReduceAction142 SFT_parser[604]
-#define COLOR_parser___ReduceAction142___init SFT_parser[605]
-#define ID_ReduceAction143 SFT_parser[606]
-#define COLOR_ReduceAction143 SFT_parser[607]
-#define INIT_TABLE_POS_ReduceAction143 SFT_parser[608]
-#define COLOR_parser___ReduceAction143___init SFT_parser[609]
-#define ID_ReduceAction144 SFT_parser[610]
-#define COLOR_ReduceAction144 SFT_parser[611]
-#define INIT_TABLE_POS_ReduceAction144 SFT_parser[612]
-#define COLOR_parser___ReduceAction144___init SFT_parser[613]
-#define ID_ReduceAction145 SFT_parser[614]
-#define COLOR_ReduceAction145 SFT_parser[615]
-#define INIT_TABLE_POS_ReduceAction145 SFT_parser[616]
-#define COLOR_parser___ReduceAction145___init SFT_parser[617]
-#define ID_ReduceAction146 SFT_parser[618]
-#define COLOR_ReduceAction146 SFT_parser[619]
-#define INIT_TABLE_POS_ReduceAction146 SFT_parser[620]
-#define COLOR_parser___ReduceAction146___init SFT_parser[621]
-#define ID_ReduceAction147 SFT_parser[622]
-#define COLOR_ReduceAction147 SFT_parser[623]
-#define INIT_TABLE_POS_ReduceAction147 SFT_parser[624]
-#define COLOR_parser___ReduceAction147___init SFT_parser[625]
-#define ID_ReduceAction148 SFT_parser[626]
-#define COLOR_ReduceAction148 SFT_parser[627]
-#define INIT_TABLE_POS_ReduceAction148 SFT_parser[628]
-#define COLOR_parser___ReduceAction148___init SFT_parser[629]
-#define ID_ReduceAction149 SFT_parser[630]
-#define COLOR_ReduceAction149 SFT_parser[631]
-#define INIT_TABLE_POS_ReduceAction149 SFT_parser[632]
-#define COLOR_parser___ReduceAction149___init SFT_parser[633]
-#define ID_ReduceAction150 SFT_parser[634]
-#define COLOR_ReduceAction150 SFT_parser[635]
-#define INIT_TABLE_POS_ReduceAction150 SFT_parser[636]
-#define COLOR_parser___ReduceAction150___init SFT_parser[637]
-#define ID_ReduceAction151 SFT_parser[638]
-#define COLOR_ReduceAction151 SFT_parser[639]
-#define INIT_TABLE_POS_ReduceAction151 SFT_parser[640]
-#define COLOR_parser___ReduceAction151___init SFT_parser[641]
-#define ID_ReduceAction152 SFT_parser[642]
-#define COLOR_ReduceAction152 SFT_parser[643]
-#define INIT_TABLE_POS_ReduceAction152 SFT_parser[644]
-#define COLOR_parser___ReduceAction152___init SFT_parser[645]
-#define ID_ReduceAction153 SFT_parser[646]
-#define COLOR_ReduceAction153 SFT_parser[647]
-#define INIT_TABLE_POS_ReduceAction153 SFT_parser[648]
-#define COLOR_parser___ReduceAction153___init SFT_parser[649]
-#define ID_ReduceAction154 SFT_parser[650]
-#define COLOR_ReduceAction154 SFT_parser[651]
-#define INIT_TABLE_POS_ReduceAction154 SFT_parser[652]
-#define COLOR_parser___ReduceAction154___init SFT_parser[653]
-#define ID_ReduceAction155 SFT_parser[654]
-#define COLOR_ReduceAction155 SFT_parser[655]
-#define INIT_TABLE_POS_ReduceAction155 SFT_parser[656]
-#define COLOR_parser___ReduceAction155___init SFT_parser[657]
-#define ID_ReduceAction156 SFT_parser[658]
-#define COLOR_ReduceAction156 SFT_parser[659]
-#define INIT_TABLE_POS_ReduceAction156 SFT_parser[660]
-#define COLOR_parser___ReduceAction156___init SFT_parser[661]
-#define ID_ReduceAction157 SFT_parser[662]
-#define COLOR_ReduceAction157 SFT_parser[663]
-#define INIT_TABLE_POS_ReduceAction157 SFT_parser[664]
-#define COLOR_parser___ReduceAction157___init SFT_parser[665]
-#define ID_ReduceAction158 SFT_parser[666]
-#define COLOR_ReduceAction158 SFT_parser[667]
-#define INIT_TABLE_POS_ReduceAction158 SFT_parser[668]
-#define COLOR_parser___ReduceAction158___init SFT_parser[669]
-#define ID_ReduceAction159 SFT_parser[670]
-#define COLOR_ReduceAction159 SFT_parser[671]
-#define INIT_TABLE_POS_ReduceAction159 SFT_parser[672]
-#define COLOR_parser___ReduceAction159___init SFT_parser[673]
-#define ID_ReduceAction160 SFT_parser[674]
-#define COLOR_ReduceAction160 SFT_parser[675]
-#define INIT_TABLE_POS_ReduceAction160 SFT_parser[676]
-#define COLOR_parser___ReduceAction160___init SFT_parser[677]
-#define ID_ReduceAction161 SFT_parser[678]
-#define COLOR_ReduceAction161 SFT_parser[679]
-#define INIT_TABLE_POS_ReduceAction161 SFT_parser[680]
-#define COLOR_parser___ReduceAction161___init SFT_parser[681]
-#define ID_ReduceAction162 SFT_parser[682]
-#define COLOR_ReduceAction162 SFT_parser[683]
-#define INIT_TABLE_POS_ReduceAction162 SFT_parser[684]
-#define COLOR_parser___ReduceAction162___init SFT_parser[685]
-#define ID_ReduceAction163 SFT_parser[686]
-#define COLOR_ReduceAction163 SFT_parser[687]
-#define INIT_TABLE_POS_ReduceAction163 SFT_parser[688]
-#define COLOR_parser___ReduceAction163___init SFT_parser[689]
-#define ID_ReduceAction164 SFT_parser[690]
-#define COLOR_ReduceAction164 SFT_parser[691]
-#define INIT_TABLE_POS_ReduceAction164 SFT_parser[692]
-#define COLOR_parser___ReduceAction164___init SFT_parser[693]
-#define ID_ReduceAction165 SFT_parser[694]
-#define COLOR_ReduceAction165 SFT_parser[695]
-#define INIT_TABLE_POS_ReduceAction165 SFT_parser[696]
-#define COLOR_parser___ReduceAction165___init SFT_parser[697]
-#define ID_ReduceAction166 SFT_parser[698]
-#define COLOR_ReduceAction166 SFT_parser[699]
-#define INIT_TABLE_POS_ReduceAction166 SFT_parser[700]
-#define COLOR_parser___ReduceAction166___init SFT_parser[701]
-#define ID_ReduceAction167 SFT_parser[702]
-#define COLOR_ReduceAction167 SFT_parser[703]
-#define INIT_TABLE_POS_ReduceAction167 SFT_parser[704]
-#define COLOR_parser___ReduceAction167___init SFT_parser[705]
-#define ID_ReduceAction168 SFT_parser[706]
-#define COLOR_ReduceAction168 SFT_parser[707]
-#define INIT_TABLE_POS_ReduceAction168 SFT_parser[708]
-#define COLOR_parser___ReduceAction168___init SFT_parser[709]
-#define ID_ReduceAction169 SFT_parser[710]
-#define COLOR_ReduceAction169 SFT_parser[711]
-#define INIT_TABLE_POS_ReduceAction169 SFT_parser[712]
-#define COLOR_parser___ReduceAction169___init SFT_parser[713]
-#define ID_ReduceAction170 SFT_parser[714]
-#define COLOR_ReduceAction170 SFT_parser[715]
-#define INIT_TABLE_POS_ReduceAction170 SFT_parser[716]
-#define COLOR_parser___ReduceAction170___init SFT_parser[717]
-#define ID_ReduceAction171 SFT_parser[718]
-#define COLOR_ReduceAction171 SFT_parser[719]
-#define INIT_TABLE_POS_ReduceAction171 SFT_parser[720]
-#define COLOR_parser___ReduceAction171___init SFT_parser[721]
-#define ID_ReduceAction172 SFT_parser[722]
-#define COLOR_ReduceAction172 SFT_parser[723]
-#define INIT_TABLE_POS_ReduceAction172 SFT_parser[724]
-#define COLOR_parser___ReduceAction172___init SFT_parser[725]
-#define ID_ReduceAction173 SFT_parser[726]
-#define COLOR_ReduceAction173 SFT_parser[727]
-#define INIT_TABLE_POS_ReduceAction173 SFT_parser[728]
-#define COLOR_parser___ReduceAction173___init SFT_parser[729]
-#define ID_ReduceAction174 SFT_parser[730]
-#define COLOR_ReduceAction174 SFT_parser[731]
-#define INIT_TABLE_POS_ReduceAction174 SFT_parser[732]
-#define COLOR_parser___ReduceAction174___init SFT_parser[733]
-#define ID_ReduceAction175 SFT_parser[734]
-#define COLOR_ReduceAction175 SFT_parser[735]
-#define INIT_TABLE_POS_ReduceAction175 SFT_parser[736]
-#define COLOR_parser___ReduceAction175___init SFT_parser[737]
-#define ID_ReduceAction176 SFT_parser[738]
-#define COLOR_ReduceAction176 SFT_parser[739]
-#define INIT_TABLE_POS_ReduceAction176 SFT_parser[740]
-#define COLOR_parser___ReduceAction176___init SFT_parser[741]
-#define ID_ReduceAction177 SFT_parser[742]
-#define COLOR_ReduceAction177 SFT_parser[743]
-#define INIT_TABLE_POS_ReduceAction177 SFT_parser[744]
-#define COLOR_parser___ReduceAction177___init SFT_parser[745]
-#define ID_ReduceAction178 SFT_parser[746]
-#define COLOR_ReduceAction178 SFT_parser[747]
-#define INIT_TABLE_POS_ReduceAction178 SFT_parser[748]
-#define COLOR_parser___ReduceAction178___init SFT_parser[749]
-#define ID_ReduceAction179 SFT_parser[750]
-#define COLOR_ReduceAction179 SFT_parser[751]
-#define INIT_TABLE_POS_ReduceAction179 SFT_parser[752]
-#define COLOR_parser___ReduceAction179___init SFT_parser[753]
-#define ID_ReduceAction180 SFT_parser[754]
-#define COLOR_ReduceAction180 SFT_parser[755]
-#define INIT_TABLE_POS_ReduceAction180 SFT_parser[756]
-#define COLOR_parser___ReduceAction180___init SFT_parser[757]
-#define ID_ReduceAction181 SFT_parser[758]
-#define COLOR_ReduceAction181 SFT_parser[759]
-#define INIT_TABLE_POS_ReduceAction181 SFT_parser[760]
-#define COLOR_parser___ReduceAction181___init SFT_parser[761]
-#define ID_ReduceAction182 SFT_parser[762]
-#define COLOR_ReduceAction182 SFT_parser[763]
-#define INIT_TABLE_POS_ReduceAction182 SFT_parser[764]
-#define COLOR_parser___ReduceAction182___init SFT_parser[765]
-#define ID_ReduceAction183 SFT_parser[766]
-#define COLOR_ReduceAction183 SFT_parser[767]
-#define INIT_TABLE_POS_ReduceAction183 SFT_parser[768]
-#define COLOR_parser___ReduceAction183___init SFT_parser[769]
-#define ID_ReduceAction184 SFT_parser[770]
-#define COLOR_ReduceAction184 SFT_parser[771]
-#define INIT_TABLE_POS_ReduceAction184 SFT_parser[772]
-#define COLOR_parser___ReduceAction184___init SFT_parser[773]
-#define ID_ReduceAction185 SFT_parser[774]
-#define COLOR_ReduceAction185 SFT_parser[775]
-#define INIT_TABLE_POS_ReduceAction185 SFT_parser[776]
-#define COLOR_parser___ReduceAction185___init SFT_parser[777]
-#define ID_ReduceAction186 SFT_parser[778]
-#define COLOR_ReduceAction186 SFT_parser[779]
-#define INIT_TABLE_POS_ReduceAction186 SFT_parser[780]
-#define COLOR_parser___ReduceAction186___init SFT_parser[781]
-#define ID_ReduceAction187 SFT_parser[782]
-#define COLOR_ReduceAction187 SFT_parser[783]
-#define INIT_TABLE_POS_ReduceAction187 SFT_parser[784]
-#define COLOR_parser___ReduceAction187___init SFT_parser[785]
-#define ID_ReduceAction188 SFT_parser[786]
-#define COLOR_ReduceAction188 SFT_parser[787]
-#define INIT_TABLE_POS_ReduceAction188 SFT_parser[788]
-#define COLOR_parser___ReduceAction188___init SFT_parser[789]
-#define ID_ReduceAction189 SFT_parser[790]
-#define COLOR_ReduceAction189 SFT_parser[791]
-#define INIT_TABLE_POS_ReduceAction189 SFT_parser[792]
-#define COLOR_parser___ReduceAction189___init SFT_parser[793]
-#define ID_ReduceAction190 SFT_parser[794]
-#define COLOR_ReduceAction190 SFT_parser[795]
-#define INIT_TABLE_POS_ReduceAction190 SFT_parser[796]
-#define COLOR_parser___ReduceAction190___init SFT_parser[797]
-#define ID_ReduceAction191 SFT_parser[798]
-#define COLOR_ReduceAction191 SFT_parser[799]
-#define INIT_TABLE_POS_ReduceAction191 SFT_parser[800]
-#define COLOR_parser___ReduceAction191___init SFT_parser[801]
-#define ID_ReduceAction192 SFT_parser[802]
-#define COLOR_ReduceAction192 SFT_parser[803]
-#define INIT_TABLE_POS_ReduceAction192 SFT_parser[804]
-#define COLOR_parser___ReduceAction192___init SFT_parser[805]
-#define ID_ReduceAction193 SFT_parser[806]
-#define COLOR_ReduceAction193 SFT_parser[807]
-#define INIT_TABLE_POS_ReduceAction193 SFT_parser[808]
-#define COLOR_parser___ReduceAction193___init SFT_parser[809]
-#define ID_ReduceAction194 SFT_parser[810]
-#define COLOR_ReduceAction194 SFT_parser[811]
-#define INIT_TABLE_POS_ReduceAction194 SFT_parser[812]
-#define COLOR_parser___ReduceAction194___init SFT_parser[813]
-#define ID_ReduceAction195 SFT_parser[814]
-#define COLOR_ReduceAction195 SFT_parser[815]
-#define INIT_TABLE_POS_ReduceAction195 SFT_parser[816]
-#define COLOR_parser___ReduceAction195___init SFT_parser[817]
-#define ID_ReduceAction196 SFT_parser[818]
-#define COLOR_ReduceAction196 SFT_parser[819]
-#define INIT_TABLE_POS_ReduceAction196 SFT_parser[820]
-#define COLOR_parser___ReduceAction196___init SFT_parser[821]
-#define ID_ReduceAction197 SFT_parser[822]
-#define COLOR_ReduceAction197 SFT_parser[823]
-#define INIT_TABLE_POS_ReduceAction197 SFT_parser[824]
-#define COLOR_parser___ReduceAction197___init SFT_parser[825]
-#define ID_ReduceAction198 SFT_parser[826]
-#define COLOR_ReduceAction198 SFT_parser[827]
-#define INIT_TABLE_POS_ReduceAction198 SFT_parser[828]
-#define COLOR_parser___ReduceAction198___init SFT_parser[829]
-#define ID_ReduceAction199 SFT_parser[830]
-#define COLOR_ReduceAction199 SFT_parser[831]
-#define INIT_TABLE_POS_ReduceAction199 SFT_parser[832]
-#define COLOR_parser___ReduceAction199___init SFT_parser[833]
-#define ID_ReduceAction200 SFT_parser[834]
-#define COLOR_ReduceAction200 SFT_parser[835]
-#define INIT_TABLE_POS_ReduceAction200 SFT_parser[836]
-#define COLOR_parser___ReduceAction200___init SFT_parser[837]
-#define ID_ReduceAction201 SFT_parser[838]
-#define COLOR_ReduceAction201 SFT_parser[839]
-#define INIT_TABLE_POS_ReduceAction201 SFT_parser[840]
-#define COLOR_parser___ReduceAction201___init SFT_parser[841]
-#define ID_ReduceAction202 SFT_parser[842]
-#define COLOR_ReduceAction202 SFT_parser[843]
-#define INIT_TABLE_POS_ReduceAction202 SFT_parser[844]
-#define COLOR_parser___ReduceAction202___init SFT_parser[845]
-#define ID_ReduceAction203 SFT_parser[846]
-#define COLOR_ReduceAction203 SFT_parser[847]
-#define INIT_TABLE_POS_ReduceAction203 SFT_parser[848]
-#define COLOR_parser___ReduceAction203___init SFT_parser[849]
-#define ID_ReduceAction204 SFT_parser[850]
-#define COLOR_ReduceAction204 SFT_parser[851]
-#define INIT_TABLE_POS_ReduceAction204 SFT_parser[852]
-#define COLOR_parser___ReduceAction204___init SFT_parser[853]
-#define ID_ReduceAction205 SFT_parser[854]
-#define COLOR_ReduceAction205 SFT_parser[855]
-#define INIT_TABLE_POS_ReduceAction205 SFT_parser[856]
-#define COLOR_parser___ReduceAction205___init SFT_parser[857]
-#define ID_ReduceAction206 SFT_parser[858]
-#define COLOR_ReduceAction206 SFT_parser[859]
-#define INIT_TABLE_POS_ReduceAction206 SFT_parser[860]
-#define COLOR_parser___ReduceAction206___init SFT_parser[861]
-#define ID_ReduceAction207 SFT_parser[862]
-#define COLOR_ReduceAction207 SFT_parser[863]
-#define INIT_TABLE_POS_ReduceAction207 SFT_parser[864]
-#define COLOR_parser___ReduceAction207___init SFT_parser[865]
-#define ID_ReduceAction208 SFT_parser[866]
-#define COLOR_ReduceAction208 SFT_parser[867]
-#define INIT_TABLE_POS_ReduceAction208 SFT_parser[868]
-#define COLOR_parser___ReduceAction208___init SFT_parser[869]
-#define ID_ReduceAction209 SFT_parser[870]
-#define COLOR_ReduceAction209 SFT_parser[871]
-#define INIT_TABLE_POS_ReduceAction209 SFT_parser[872]
-#define COLOR_parser___ReduceAction209___init SFT_parser[873]
-#define ID_ReduceAction210 SFT_parser[874]
-#define COLOR_ReduceAction210 SFT_parser[875]
-#define INIT_TABLE_POS_ReduceAction210 SFT_parser[876]
-#define COLOR_parser___ReduceAction210___init SFT_parser[877]
-#define ID_ReduceAction211 SFT_parser[878]
-#define COLOR_ReduceAction211 SFT_parser[879]
-#define INIT_TABLE_POS_ReduceAction211 SFT_parser[880]
-#define COLOR_parser___ReduceAction211___init SFT_parser[881]
-#define ID_ReduceAction212 SFT_parser[882]
-#define COLOR_ReduceAction212 SFT_parser[883]
-#define INIT_TABLE_POS_ReduceAction212 SFT_parser[884]
-#define COLOR_parser___ReduceAction212___init SFT_parser[885]
-#define ID_ReduceAction213 SFT_parser[886]
-#define COLOR_ReduceAction213 SFT_parser[887]
-#define INIT_TABLE_POS_ReduceAction213 SFT_parser[888]
-#define COLOR_parser___ReduceAction213___init SFT_parser[889]
-#define ID_ReduceAction214 SFT_parser[890]
-#define COLOR_ReduceAction214 SFT_parser[891]
-#define INIT_TABLE_POS_ReduceAction214 SFT_parser[892]
-#define COLOR_parser___ReduceAction214___init SFT_parser[893]
-#define ID_ReduceAction215 SFT_parser[894]
-#define COLOR_ReduceAction215 SFT_parser[895]
-#define INIT_TABLE_POS_ReduceAction215 SFT_parser[896]
-#define COLOR_parser___ReduceAction215___init SFT_parser[897]
-#define ID_ReduceAction216 SFT_parser[898]
-#define COLOR_ReduceAction216 SFT_parser[899]
-#define INIT_TABLE_POS_ReduceAction216 SFT_parser[900]
-#define COLOR_parser___ReduceAction216___init SFT_parser[901]
-#define ID_ReduceAction217 SFT_parser[902]
-#define COLOR_ReduceAction217 SFT_parser[903]
-#define INIT_TABLE_POS_ReduceAction217 SFT_parser[904]
-#define COLOR_parser___ReduceAction217___init SFT_parser[905]
-#define ID_ReduceAction218 SFT_parser[906]
-#define COLOR_ReduceAction218 SFT_parser[907]
-#define INIT_TABLE_POS_ReduceAction218 SFT_parser[908]
-#define COLOR_parser___ReduceAction218___init SFT_parser[909]
-#define ID_ReduceAction219 SFT_parser[910]
-#define COLOR_ReduceAction219 SFT_parser[911]
-#define INIT_TABLE_POS_ReduceAction219 SFT_parser[912]
-#define COLOR_parser___ReduceAction219___init SFT_parser[913]
-#define ID_ReduceAction220 SFT_parser[914]
-#define COLOR_ReduceAction220 SFT_parser[915]
-#define INIT_TABLE_POS_ReduceAction220 SFT_parser[916]
-#define COLOR_parser___ReduceAction220___init SFT_parser[917]
-#define ID_ReduceAction221 SFT_parser[918]
-#define COLOR_ReduceAction221 SFT_parser[919]
-#define INIT_TABLE_POS_ReduceAction221 SFT_parser[920]
-#define COLOR_parser___ReduceAction221___init SFT_parser[921]
-#define ID_ReduceAction222 SFT_parser[922]
-#define COLOR_ReduceAction222 SFT_parser[923]
-#define INIT_TABLE_POS_ReduceAction222 SFT_parser[924]
-#define COLOR_parser___ReduceAction222___init SFT_parser[925]
-#define ID_ReduceAction223 SFT_parser[926]
-#define COLOR_ReduceAction223 SFT_parser[927]
-#define INIT_TABLE_POS_ReduceAction223 SFT_parser[928]
-#define COLOR_parser___ReduceAction223___init SFT_parser[929]
-#define ID_ReduceAction224 SFT_parser[930]
-#define COLOR_ReduceAction224 SFT_parser[931]
-#define INIT_TABLE_POS_ReduceAction224 SFT_parser[932]
-#define COLOR_parser___ReduceAction224___init SFT_parser[933]
-#define ID_ReduceAction225 SFT_parser[934]
-#define COLOR_ReduceAction225 SFT_parser[935]
-#define INIT_TABLE_POS_ReduceAction225 SFT_parser[936]
-#define COLOR_parser___ReduceAction225___init SFT_parser[937]
-#define ID_ReduceAction226 SFT_parser[938]
-#define COLOR_ReduceAction226 SFT_parser[939]
-#define INIT_TABLE_POS_ReduceAction226 SFT_parser[940]
-#define COLOR_parser___ReduceAction226___init SFT_parser[941]
-#define ID_ReduceAction227 SFT_parser[942]
-#define COLOR_ReduceAction227 SFT_parser[943]
-#define INIT_TABLE_POS_ReduceAction227 SFT_parser[944]
-#define COLOR_parser___ReduceAction227___init SFT_parser[945]
-#define ID_ReduceAction228 SFT_parser[946]
-#define COLOR_ReduceAction228 SFT_parser[947]
-#define INIT_TABLE_POS_ReduceAction228 SFT_parser[948]
-#define COLOR_parser___ReduceAction228___init SFT_parser[949]
-#define ID_ReduceAction229 SFT_parser[950]
-#define COLOR_ReduceAction229 SFT_parser[951]
-#define INIT_TABLE_POS_ReduceAction229 SFT_parser[952]
-#define COLOR_parser___ReduceAction229___init SFT_parser[953]
-#define ID_ReduceAction230 SFT_parser[954]
-#define COLOR_ReduceAction230 SFT_parser[955]
-#define INIT_TABLE_POS_ReduceAction230 SFT_parser[956]
-#define COLOR_parser___ReduceAction230___init SFT_parser[957]
-#define ID_ReduceAction231 SFT_parser[958]
-#define COLOR_ReduceAction231 SFT_parser[959]
-#define INIT_TABLE_POS_ReduceAction231 SFT_parser[960]
-#define COLOR_parser___ReduceAction231___init SFT_parser[961]
-#define ID_ReduceAction232 SFT_parser[962]
-#define COLOR_ReduceAction232 SFT_parser[963]
-#define INIT_TABLE_POS_ReduceAction232 SFT_parser[964]
-#define COLOR_parser___ReduceAction232___init SFT_parser[965]
-#define ID_ReduceAction233 SFT_parser[966]
-#define COLOR_ReduceAction233 SFT_parser[967]
-#define INIT_TABLE_POS_ReduceAction233 SFT_parser[968]
-#define COLOR_parser___ReduceAction233___init SFT_parser[969]
-#define ID_ReduceAction234 SFT_parser[970]
-#define COLOR_ReduceAction234 SFT_parser[971]
-#define INIT_TABLE_POS_ReduceAction234 SFT_parser[972]
-#define COLOR_parser___ReduceAction234___init SFT_parser[973]
-#define ID_ReduceAction235 SFT_parser[974]
-#define COLOR_ReduceAction235 SFT_parser[975]
-#define INIT_TABLE_POS_ReduceAction235 SFT_parser[976]
-#define COLOR_parser___ReduceAction235___init SFT_parser[977]
-#define ID_ReduceAction236 SFT_parser[978]
-#define COLOR_ReduceAction236 SFT_parser[979]
-#define INIT_TABLE_POS_ReduceAction236 SFT_parser[980]
-#define COLOR_parser___ReduceAction236___init SFT_parser[981]
-#define ID_ReduceAction237 SFT_parser[982]
-#define COLOR_ReduceAction237 SFT_parser[983]
-#define INIT_TABLE_POS_ReduceAction237 SFT_parser[984]
-#define COLOR_parser___ReduceAction237___init SFT_parser[985]
-#define ID_ReduceAction238 SFT_parser[986]
-#define COLOR_ReduceAction238 SFT_parser[987]
-#define INIT_TABLE_POS_ReduceAction238 SFT_parser[988]
-#define COLOR_parser___ReduceAction238___init SFT_parser[989]
-#define ID_ReduceAction239 SFT_parser[990]
-#define COLOR_ReduceAction239 SFT_parser[991]
-#define INIT_TABLE_POS_ReduceAction239 SFT_parser[992]
-#define COLOR_parser___ReduceAction239___init SFT_parser[993]
-#define ID_ReduceAction240 SFT_parser[994]
-#define COLOR_ReduceAction240 SFT_parser[995]
-#define INIT_TABLE_POS_ReduceAction240 SFT_parser[996]
-#define COLOR_parser___ReduceAction240___init SFT_parser[997]
-#define ID_ReduceAction241 SFT_parser[998]
-#define COLOR_ReduceAction241 SFT_parser[999]
-#define INIT_TABLE_POS_ReduceAction241 SFT_parser[1000]
-#define COLOR_parser___ReduceAction241___init SFT_parser[1001]
-#define ID_ReduceAction242 SFT_parser[1002]
-#define COLOR_ReduceAction242 SFT_parser[1003]
-#define INIT_TABLE_POS_ReduceAction242 SFT_parser[1004]
-#define COLOR_parser___ReduceAction242___init SFT_parser[1005]
-#define ID_ReduceAction243 SFT_parser[1006]
-#define COLOR_ReduceAction243 SFT_parser[1007]
-#define INIT_TABLE_POS_ReduceAction243 SFT_parser[1008]
-#define COLOR_parser___ReduceAction243___init SFT_parser[1009]
-#define ID_ReduceAction244 SFT_parser[1010]
-#define COLOR_ReduceAction244 SFT_parser[1011]
-#define INIT_TABLE_POS_ReduceAction244 SFT_parser[1012]
-#define COLOR_parser___ReduceAction244___init SFT_parser[1013]
-#define ID_ReduceAction245 SFT_parser[1014]
-#define COLOR_ReduceAction245 SFT_parser[1015]
-#define INIT_TABLE_POS_ReduceAction245 SFT_parser[1016]
-#define COLOR_parser___ReduceAction245___init SFT_parser[1017]
-#define ID_ReduceAction246 SFT_parser[1018]
-#define COLOR_ReduceAction246 SFT_parser[1019]
-#define INIT_TABLE_POS_ReduceAction246 SFT_parser[1020]
-#define COLOR_parser___ReduceAction246___init SFT_parser[1021]
-#define ID_ReduceAction247 SFT_parser[1022]
-#define COLOR_ReduceAction247 SFT_parser[1023]
-#define INIT_TABLE_POS_ReduceAction247 SFT_parser[1024]
-#define COLOR_parser___ReduceAction247___init SFT_parser[1025]
-#define ID_ReduceAction248 SFT_parser[1026]
-#define COLOR_ReduceAction248 SFT_parser[1027]
-#define INIT_TABLE_POS_ReduceAction248 SFT_parser[1028]
-#define COLOR_parser___ReduceAction248___init SFT_parser[1029]
-#define ID_ReduceAction249 SFT_parser[1030]
-#define COLOR_ReduceAction249 SFT_parser[1031]
-#define INIT_TABLE_POS_ReduceAction249 SFT_parser[1032]
-#define COLOR_parser___ReduceAction249___init SFT_parser[1033]
-#define ID_ReduceAction250 SFT_parser[1034]
-#define COLOR_ReduceAction250 SFT_parser[1035]
-#define INIT_TABLE_POS_ReduceAction250 SFT_parser[1036]
-#define COLOR_parser___ReduceAction250___init SFT_parser[1037]
-#define ID_ReduceAction251 SFT_parser[1038]
-#define COLOR_ReduceAction251 SFT_parser[1039]
-#define INIT_TABLE_POS_ReduceAction251 SFT_parser[1040]
-#define COLOR_parser___ReduceAction251___init SFT_parser[1041]
-#define ID_ReduceAction252 SFT_parser[1042]
-#define COLOR_ReduceAction252 SFT_parser[1043]
-#define INIT_TABLE_POS_ReduceAction252 SFT_parser[1044]
-#define COLOR_parser___ReduceAction252___init SFT_parser[1045]
-#define ID_ReduceAction253 SFT_parser[1046]
-#define COLOR_ReduceAction253 SFT_parser[1047]
-#define INIT_TABLE_POS_ReduceAction253 SFT_parser[1048]
-#define COLOR_parser___ReduceAction253___init SFT_parser[1049]
-#define ID_ReduceAction254 SFT_parser[1050]
-#define COLOR_ReduceAction254 SFT_parser[1051]
-#define INIT_TABLE_POS_ReduceAction254 SFT_parser[1052]
-#define COLOR_parser___ReduceAction254___init SFT_parser[1053]
-#define ID_ReduceAction255 SFT_parser[1054]
-#define COLOR_ReduceAction255 SFT_parser[1055]
-#define INIT_TABLE_POS_ReduceAction255 SFT_parser[1056]
-#define COLOR_parser___ReduceAction255___init SFT_parser[1057]
-#define ID_ReduceAction256 SFT_parser[1058]
-#define COLOR_ReduceAction256 SFT_parser[1059]
-#define INIT_TABLE_POS_ReduceAction256 SFT_parser[1060]
-#define COLOR_parser___ReduceAction256___init SFT_parser[1061]
-#define ID_ReduceAction257 SFT_parser[1062]
-#define COLOR_ReduceAction257 SFT_parser[1063]
-#define INIT_TABLE_POS_ReduceAction257 SFT_parser[1064]
-#define COLOR_parser___ReduceAction257___init SFT_parser[1065]
-#define ID_ReduceAction258 SFT_parser[1066]
-#define COLOR_ReduceAction258 SFT_parser[1067]
-#define INIT_TABLE_POS_ReduceAction258 SFT_parser[1068]
-#define COLOR_parser___ReduceAction258___init SFT_parser[1069]
-#define ID_ReduceAction259 SFT_parser[1070]
-#define COLOR_ReduceAction259 SFT_parser[1071]
-#define INIT_TABLE_POS_ReduceAction259 SFT_parser[1072]
-#define COLOR_parser___ReduceAction259___init SFT_parser[1073]
-#define ID_ReduceAction260 SFT_parser[1074]
-#define COLOR_ReduceAction260 SFT_parser[1075]
-#define INIT_TABLE_POS_ReduceAction260 SFT_parser[1076]
-#define COLOR_parser___ReduceAction260___init SFT_parser[1077]
-#define ID_ReduceAction261 SFT_parser[1078]
-#define COLOR_ReduceAction261 SFT_parser[1079]
-#define INIT_TABLE_POS_ReduceAction261 SFT_parser[1080]
-#define COLOR_parser___ReduceAction261___init SFT_parser[1081]
-#define ID_ReduceAction262 SFT_parser[1082]
-#define COLOR_ReduceAction262 SFT_parser[1083]
-#define INIT_TABLE_POS_ReduceAction262 SFT_parser[1084]
-#define COLOR_parser___ReduceAction262___init SFT_parser[1085]
-#define ID_ReduceAction263 SFT_parser[1086]
-#define COLOR_ReduceAction263 SFT_parser[1087]
-#define INIT_TABLE_POS_ReduceAction263 SFT_parser[1088]
-#define COLOR_parser___ReduceAction263___init SFT_parser[1089]
-#define ID_ReduceAction264 SFT_parser[1090]
-#define COLOR_ReduceAction264 SFT_parser[1091]
-#define INIT_TABLE_POS_ReduceAction264 SFT_parser[1092]
-#define COLOR_parser___ReduceAction264___init SFT_parser[1093]
-#define ID_ReduceAction265 SFT_parser[1094]
-#define COLOR_ReduceAction265 SFT_parser[1095]
-#define INIT_TABLE_POS_ReduceAction265 SFT_parser[1096]
-#define COLOR_parser___ReduceAction265___init SFT_parser[1097]
-#define ID_ReduceAction266 SFT_parser[1098]
-#define COLOR_ReduceAction266 SFT_parser[1099]
-#define INIT_TABLE_POS_ReduceAction266 SFT_parser[1100]
-#define COLOR_parser___ReduceAction266___init SFT_parser[1101]
-#define ID_ReduceAction267 SFT_parser[1102]
-#define COLOR_ReduceAction267 SFT_parser[1103]
-#define INIT_TABLE_POS_ReduceAction267 SFT_parser[1104]
-#define COLOR_parser___ReduceAction267___init SFT_parser[1105]
-#define ID_ReduceAction268 SFT_parser[1106]
-#define COLOR_ReduceAction268 SFT_parser[1107]
-#define INIT_TABLE_POS_ReduceAction268 SFT_parser[1108]
-#define COLOR_parser___ReduceAction268___init SFT_parser[1109]
-#define ID_ReduceAction269 SFT_parser[1110]
-#define COLOR_ReduceAction269 SFT_parser[1111]
-#define INIT_TABLE_POS_ReduceAction269 SFT_parser[1112]
-#define COLOR_parser___ReduceAction269___init SFT_parser[1113]
-#define ID_ReduceAction270 SFT_parser[1114]
-#define COLOR_ReduceAction270 SFT_parser[1115]
-#define INIT_TABLE_POS_ReduceAction270 SFT_parser[1116]
-#define COLOR_parser___ReduceAction270___init SFT_parser[1117]
-#define ID_ReduceAction271 SFT_parser[1118]
-#define COLOR_ReduceAction271 SFT_parser[1119]
-#define INIT_TABLE_POS_ReduceAction271 SFT_parser[1120]
-#define COLOR_parser___ReduceAction271___init SFT_parser[1121]
-#define ID_ReduceAction272 SFT_parser[1122]
-#define COLOR_ReduceAction272 SFT_parser[1123]
-#define INIT_TABLE_POS_ReduceAction272 SFT_parser[1124]
-#define COLOR_parser___ReduceAction272___init SFT_parser[1125]
-#define ID_ReduceAction273 SFT_parser[1126]
-#define COLOR_ReduceAction273 SFT_parser[1127]
-#define INIT_TABLE_POS_ReduceAction273 SFT_parser[1128]
-#define COLOR_parser___ReduceAction273___init SFT_parser[1129]
-#define ID_ReduceAction274 SFT_parser[1130]
-#define COLOR_ReduceAction274 SFT_parser[1131]
-#define INIT_TABLE_POS_ReduceAction274 SFT_parser[1132]
-#define COLOR_parser___ReduceAction274___init SFT_parser[1133]
-#define ID_ReduceAction275 SFT_parser[1134]
-#define COLOR_ReduceAction275 SFT_parser[1135]
-#define INIT_TABLE_POS_ReduceAction275 SFT_parser[1136]
-#define COLOR_parser___ReduceAction275___init SFT_parser[1137]
-#define ID_ReduceAction276 SFT_parser[1138]
-#define COLOR_ReduceAction276 SFT_parser[1139]
-#define INIT_TABLE_POS_ReduceAction276 SFT_parser[1140]
-#define COLOR_parser___ReduceAction276___init SFT_parser[1141]
-#define ID_ReduceAction277 SFT_parser[1142]
-#define COLOR_ReduceAction277 SFT_parser[1143]
-#define INIT_TABLE_POS_ReduceAction277 SFT_parser[1144]
-#define COLOR_parser___ReduceAction277___init SFT_parser[1145]
-#define ID_ReduceAction278 SFT_parser[1146]
-#define COLOR_ReduceAction278 SFT_parser[1147]
-#define INIT_TABLE_POS_ReduceAction278 SFT_parser[1148]
-#define COLOR_parser___ReduceAction278___init SFT_parser[1149]
-#define ID_ReduceAction279 SFT_parser[1150]
-#define COLOR_ReduceAction279 SFT_parser[1151]
-#define INIT_TABLE_POS_ReduceAction279 SFT_parser[1152]
-#define COLOR_parser___ReduceAction279___init SFT_parser[1153]
-#define ID_ReduceAction280 SFT_parser[1154]
-#define COLOR_ReduceAction280 SFT_parser[1155]
-#define INIT_TABLE_POS_ReduceAction280 SFT_parser[1156]
-#define COLOR_parser___ReduceAction280___init SFT_parser[1157]
-#define ID_ReduceAction281 SFT_parser[1158]
-#define COLOR_ReduceAction281 SFT_parser[1159]
-#define INIT_TABLE_POS_ReduceAction281 SFT_parser[1160]
-#define COLOR_parser___ReduceAction281___init SFT_parser[1161]
-#define ID_ReduceAction282 SFT_parser[1162]
-#define COLOR_ReduceAction282 SFT_parser[1163]
-#define INIT_TABLE_POS_ReduceAction282 SFT_parser[1164]
-#define COLOR_parser___ReduceAction282___init SFT_parser[1165]
-#define ID_ReduceAction283 SFT_parser[1166]
-#define COLOR_ReduceAction283 SFT_parser[1167]
-#define INIT_TABLE_POS_ReduceAction283 SFT_parser[1168]
-#define COLOR_parser___ReduceAction283___init SFT_parser[1169]
-#define ID_ReduceAction284 SFT_parser[1170]
-#define COLOR_ReduceAction284 SFT_parser[1171]
-#define INIT_TABLE_POS_ReduceAction284 SFT_parser[1172]
-#define COLOR_parser___ReduceAction284___init SFT_parser[1173]
-#define ID_ReduceAction285 SFT_parser[1174]
-#define COLOR_ReduceAction285 SFT_parser[1175]
-#define INIT_TABLE_POS_ReduceAction285 SFT_parser[1176]
-#define COLOR_parser___ReduceAction285___init SFT_parser[1177]
-#define ID_ReduceAction286 SFT_parser[1178]
-#define COLOR_ReduceAction286 SFT_parser[1179]
-#define INIT_TABLE_POS_ReduceAction286 SFT_parser[1180]
-#define COLOR_parser___ReduceAction286___init SFT_parser[1181]
-#define ID_ReduceAction287 SFT_parser[1182]
-#define COLOR_ReduceAction287 SFT_parser[1183]
-#define INIT_TABLE_POS_ReduceAction287 SFT_parser[1184]
-#define COLOR_parser___ReduceAction287___init SFT_parser[1185]
-#define ID_ReduceAction288 SFT_parser[1186]
-#define COLOR_ReduceAction288 SFT_parser[1187]
-#define INIT_TABLE_POS_ReduceAction288 SFT_parser[1188]
-#define COLOR_parser___ReduceAction288___init SFT_parser[1189]
-#define ID_ReduceAction289 SFT_parser[1190]
-#define COLOR_ReduceAction289 SFT_parser[1191]
-#define INIT_TABLE_POS_ReduceAction289 SFT_parser[1192]
-#define COLOR_parser___ReduceAction289___init SFT_parser[1193]
-#define ID_ReduceAction290 SFT_parser[1194]
-#define COLOR_ReduceAction290 SFT_parser[1195]
-#define INIT_TABLE_POS_ReduceAction290 SFT_parser[1196]
-#define COLOR_parser___ReduceAction290___init SFT_parser[1197]
-#define ID_ReduceAction291 SFT_parser[1198]
-#define COLOR_ReduceAction291 SFT_parser[1199]
-#define INIT_TABLE_POS_ReduceAction291 SFT_parser[1200]
-#define COLOR_parser___ReduceAction291___init SFT_parser[1201]
-#define ID_ReduceAction292 SFT_parser[1202]
-#define COLOR_ReduceAction292 SFT_parser[1203]
-#define INIT_TABLE_POS_ReduceAction292 SFT_parser[1204]
-#define COLOR_parser___ReduceAction292___init SFT_parser[1205]
-#define ID_ReduceAction293 SFT_parser[1206]
-#define COLOR_ReduceAction293 SFT_parser[1207]
-#define INIT_TABLE_POS_ReduceAction293 SFT_parser[1208]
-#define COLOR_parser___ReduceAction293___init SFT_parser[1209]
-#define ID_ReduceAction294 SFT_parser[1210]
-#define COLOR_ReduceAction294 SFT_parser[1211]
-#define INIT_TABLE_POS_ReduceAction294 SFT_parser[1212]
-#define COLOR_parser___ReduceAction294___init SFT_parser[1213]
-#define ID_ReduceAction295 SFT_parser[1214]
-#define COLOR_ReduceAction295 SFT_parser[1215]
-#define INIT_TABLE_POS_ReduceAction295 SFT_parser[1216]
-#define COLOR_parser___ReduceAction295___init SFT_parser[1217]
-#define ID_ReduceAction296 SFT_parser[1218]
-#define COLOR_ReduceAction296 SFT_parser[1219]
-#define INIT_TABLE_POS_ReduceAction296 SFT_parser[1220]
-#define COLOR_parser___ReduceAction296___init SFT_parser[1221]
-#define ID_ReduceAction297 SFT_parser[1222]
-#define COLOR_ReduceAction297 SFT_parser[1223]
-#define INIT_TABLE_POS_ReduceAction297 SFT_parser[1224]
-#define COLOR_parser___ReduceAction297___init SFT_parser[1225]
-#define ID_ReduceAction298 SFT_parser[1226]
-#define COLOR_ReduceAction298 SFT_parser[1227]
-#define INIT_TABLE_POS_ReduceAction298 SFT_parser[1228]
-#define COLOR_parser___ReduceAction298___init SFT_parser[1229]
-#define ID_ReduceAction299 SFT_parser[1230]
-#define COLOR_ReduceAction299 SFT_parser[1231]
-#define INIT_TABLE_POS_ReduceAction299 SFT_parser[1232]
-#define COLOR_parser___ReduceAction299___init SFT_parser[1233]
-#define ID_ReduceAction300 SFT_parser[1234]
-#define COLOR_ReduceAction300 SFT_parser[1235]
-#define INIT_TABLE_POS_ReduceAction300 SFT_parser[1236]
-#define COLOR_parser___ReduceAction300___init SFT_parser[1237]
-#define ID_ReduceAction301 SFT_parser[1238]
-#define COLOR_ReduceAction301 SFT_parser[1239]
-#define INIT_TABLE_POS_ReduceAction301 SFT_parser[1240]
-#define COLOR_parser___ReduceAction301___init SFT_parser[1241]
-#define ID_ReduceAction302 SFT_parser[1242]
-#define COLOR_ReduceAction302 SFT_parser[1243]
-#define INIT_TABLE_POS_ReduceAction302 SFT_parser[1244]
-#define COLOR_parser___ReduceAction302___init SFT_parser[1245]
-#define ID_ReduceAction303 SFT_parser[1246]
-#define COLOR_ReduceAction303 SFT_parser[1247]
-#define INIT_TABLE_POS_ReduceAction303 SFT_parser[1248]
-#define COLOR_parser___ReduceAction303___init SFT_parser[1249]
-#define ID_ReduceAction304 SFT_parser[1250]
-#define COLOR_ReduceAction304 SFT_parser[1251]
-#define INIT_TABLE_POS_ReduceAction304 SFT_parser[1252]
-#define COLOR_parser___ReduceAction304___init SFT_parser[1253]
-#define ID_ReduceAction305 SFT_parser[1254]
-#define COLOR_ReduceAction305 SFT_parser[1255]
-#define INIT_TABLE_POS_ReduceAction305 SFT_parser[1256]
-#define COLOR_parser___ReduceAction305___init SFT_parser[1257]
-#define ID_ReduceAction306 SFT_parser[1258]
-#define COLOR_ReduceAction306 SFT_parser[1259]
-#define INIT_TABLE_POS_ReduceAction306 SFT_parser[1260]
-#define COLOR_parser___ReduceAction306___init SFT_parser[1261]
-#define ID_ReduceAction307 SFT_parser[1262]
-#define COLOR_ReduceAction307 SFT_parser[1263]
-#define INIT_TABLE_POS_ReduceAction307 SFT_parser[1264]
-#define COLOR_parser___ReduceAction307___init SFT_parser[1265]
-#define ID_ReduceAction308 SFT_parser[1266]
-#define COLOR_ReduceAction308 SFT_parser[1267]
-#define INIT_TABLE_POS_ReduceAction308 SFT_parser[1268]
-#define COLOR_parser___ReduceAction308___init SFT_parser[1269]
-#define ID_ReduceAction309 SFT_parser[1270]
-#define COLOR_ReduceAction309 SFT_parser[1271]
-#define INIT_TABLE_POS_ReduceAction309 SFT_parser[1272]
-#define COLOR_parser___ReduceAction309___init SFT_parser[1273]
-#define ID_ReduceAction310 SFT_parser[1274]
-#define COLOR_ReduceAction310 SFT_parser[1275]
-#define INIT_TABLE_POS_ReduceAction310 SFT_parser[1276]
-#define COLOR_parser___ReduceAction310___init SFT_parser[1277]
-#define ID_ReduceAction311 SFT_parser[1278]
-#define COLOR_ReduceAction311 SFT_parser[1279]
-#define INIT_TABLE_POS_ReduceAction311 SFT_parser[1280]
-#define COLOR_parser___ReduceAction311___init SFT_parser[1281]
-#define ID_ReduceAction312 SFT_parser[1282]
-#define COLOR_ReduceAction312 SFT_parser[1283]
-#define INIT_TABLE_POS_ReduceAction312 SFT_parser[1284]
-#define COLOR_parser___ReduceAction312___init SFT_parser[1285]
-#define ID_ReduceAction313 SFT_parser[1286]
-#define COLOR_ReduceAction313 SFT_parser[1287]
-#define INIT_TABLE_POS_ReduceAction313 SFT_parser[1288]
-#define COLOR_parser___ReduceAction313___init SFT_parser[1289]
-#define ID_ReduceAction314 SFT_parser[1290]
-#define COLOR_ReduceAction314 SFT_parser[1291]
-#define INIT_TABLE_POS_ReduceAction314 SFT_parser[1292]
-#define COLOR_parser___ReduceAction314___init SFT_parser[1293]
-#define ID_ReduceAction315 SFT_parser[1294]
-#define COLOR_ReduceAction315 SFT_parser[1295]
-#define INIT_TABLE_POS_ReduceAction315 SFT_parser[1296]
-#define COLOR_parser___ReduceAction315___init SFT_parser[1297]
-#define ID_ReduceAction316 SFT_parser[1298]
-#define COLOR_ReduceAction316 SFT_parser[1299]
-#define INIT_TABLE_POS_ReduceAction316 SFT_parser[1300]
-#define COLOR_parser___ReduceAction316___init SFT_parser[1301]
-#define ID_ReduceAction317 SFT_parser[1302]
-#define COLOR_ReduceAction317 SFT_parser[1303]
-#define INIT_TABLE_POS_ReduceAction317 SFT_parser[1304]
-#define COLOR_parser___ReduceAction317___init SFT_parser[1305]
-#define ID_ReduceAction318 SFT_parser[1306]
-#define COLOR_ReduceAction318 SFT_parser[1307]
-#define INIT_TABLE_POS_ReduceAction318 SFT_parser[1308]
-#define COLOR_parser___ReduceAction318___init SFT_parser[1309]
-#define ID_ReduceAction319 SFT_parser[1310]
-#define COLOR_ReduceAction319 SFT_parser[1311]
-#define INIT_TABLE_POS_ReduceAction319 SFT_parser[1312]
-#define COLOR_parser___ReduceAction319___init SFT_parser[1313]
-#define ID_ReduceAction320 SFT_parser[1314]
-#define COLOR_ReduceAction320 SFT_parser[1315]
-#define INIT_TABLE_POS_ReduceAction320 SFT_parser[1316]
-#define COLOR_parser___ReduceAction320___init SFT_parser[1317]
-#define ID_ReduceAction321 SFT_parser[1318]
-#define COLOR_ReduceAction321 SFT_parser[1319]
-#define INIT_TABLE_POS_ReduceAction321 SFT_parser[1320]
-#define COLOR_parser___ReduceAction321___init SFT_parser[1321]
-#define ID_ReduceAction322 SFT_parser[1322]
-#define COLOR_ReduceAction322 SFT_parser[1323]
-#define INIT_TABLE_POS_ReduceAction322 SFT_parser[1324]
-#define COLOR_parser___ReduceAction322___init SFT_parser[1325]
-#define ID_ReduceAction323 SFT_parser[1326]
-#define COLOR_ReduceAction323 SFT_parser[1327]
-#define INIT_TABLE_POS_ReduceAction323 SFT_parser[1328]
-#define COLOR_parser___ReduceAction323___init SFT_parser[1329]
-#define ID_ReduceAction324 SFT_parser[1330]
-#define COLOR_ReduceAction324 SFT_parser[1331]
-#define INIT_TABLE_POS_ReduceAction324 SFT_parser[1332]
-#define COLOR_parser___ReduceAction324___init SFT_parser[1333]
-#define ID_ReduceAction325 SFT_parser[1334]
-#define COLOR_ReduceAction325 SFT_parser[1335]
-#define INIT_TABLE_POS_ReduceAction325 SFT_parser[1336]
-#define COLOR_parser___ReduceAction325___init SFT_parser[1337]
-#define ID_ReduceAction326 SFT_parser[1338]
-#define COLOR_ReduceAction326 SFT_parser[1339]
-#define INIT_TABLE_POS_ReduceAction326 SFT_parser[1340]
-#define COLOR_parser___ReduceAction326___init SFT_parser[1341]
-#define ID_ReduceAction327 SFT_parser[1342]
-#define COLOR_ReduceAction327 SFT_parser[1343]
-#define INIT_TABLE_POS_ReduceAction327 SFT_parser[1344]
-#define COLOR_parser___ReduceAction327___init SFT_parser[1345]
-#define ID_ReduceAction328 SFT_parser[1346]
-#define COLOR_ReduceAction328 SFT_parser[1347]
-#define INIT_TABLE_POS_ReduceAction328 SFT_parser[1348]
-#define COLOR_parser___ReduceAction328___init SFT_parser[1349]
-#define ID_ReduceAction329 SFT_parser[1350]
-#define COLOR_ReduceAction329 SFT_parser[1351]
-#define INIT_TABLE_POS_ReduceAction329 SFT_parser[1352]
-#define COLOR_parser___ReduceAction329___init SFT_parser[1353]
-#define ID_ReduceAction330 SFT_parser[1354]
-#define COLOR_ReduceAction330 SFT_parser[1355]
-#define INIT_TABLE_POS_ReduceAction330 SFT_parser[1356]
-#define COLOR_parser___ReduceAction330___init SFT_parser[1357]
-#define ID_ReduceAction331 SFT_parser[1358]
-#define COLOR_ReduceAction331 SFT_parser[1359]
-#define INIT_TABLE_POS_ReduceAction331 SFT_parser[1360]
-#define COLOR_parser___ReduceAction331___init SFT_parser[1361]
-#define ID_ReduceAction332 SFT_parser[1362]
-#define COLOR_ReduceAction332 SFT_parser[1363]
-#define INIT_TABLE_POS_ReduceAction332 SFT_parser[1364]
-#define COLOR_parser___ReduceAction332___init SFT_parser[1365]
-#define ID_ReduceAction333 SFT_parser[1366]
-#define COLOR_ReduceAction333 SFT_parser[1367]
-#define INIT_TABLE_POS_ReduceAction333 SFT_parser[1368]
-#define COLOR_parser___ReduceAction333___init SFT_parser[1369]
-#define ID_ReduceAction334 SFT_parser[1370]
-#define COLOR_ReduceAction334 SFT_parser[1371]
-#define INIT_TABLE_POS_ReduceAction334 SFT_parser[1372]
-#define COLOR_parser___ReduceAction334___init SFT_parser[1373]
-#define ID_ReduceAction335 SFT_parser[1374]
-#define COLOR_ReduceAction335 SFT_parser[1375]
-#define INIT_TABLE_POS_ReduceAction335 SFT_parser[1376]
-#define COLOR_parser___ReduceAction335___init SFT_parser[1377]
-#define ID_ReduceAction336 SFT_parser[1378]
-#define COLOR_ReduceAction336 SFT_parser[1379]
-#define INIT_TABLE_POS_ReduceAction336 SFT_parser[1380]
-#define COLOR_parser___ReduceAction336___init SFT_parser[1381]
-#define ID_ReduceAction337 SFT_parser[1382]
-#define COLOR_ReduceAction337 SFT_parser[1383]
-#define INIT_TABLE_POS_ReduceAction337 SFT_parser[1384]
-#define COLOR_parser___ReduceAction337___init SFT_parser[1385]
-#define ID_ReduceAction338 SFT_parser[1386]
-#define COLOR_ReduceAction338 SFT_parser[1387]
-#define INIT_TABLE_POS_ReduceAction338 SFT_parser[1388]
-#define COLOR_parser___ReduceAction338___init SFT_parser[1389]
-#define ID_ReduceAction339 SFT_parser[1390]
-#define COLOR_ReduceAction339 SFT_parser[1391]
-#define INIT_TABLE_POS_ReduceAction339 SFT_parser[1392]
-#define COLOR_parser___ReduceAction339___init SFT_parser[1393]
-#define ID_ReduceAction340 SFT_parser[1394]
-#define COLOR_ReduceAction340 SFT_parser[1395]
-#define INIT_TABLE_POS_ReduceAction340 SFT_parser[1396]
-#define COLOR_parser___ReduceAction340___init SFT_parser[1397]
-#define ID_ReduceAction341 SFT_parser[1398]
-#define COLOR_ReduceAction341 SFT_parser[1399]
-#define INIT_TABLE_POS_ReduceAction341 SFT_parser[1400]
-#define COLOR_parser___ReduceAction341___init SFT_parser[1401]
-#define ID_ReduceAction342 SFT_parser[1402]
-#define COLOR_ReduceAction342 SFT_parser[1403]
-#define INIT_TABLE_POS_ReduceAction342 SFT_parser[1404]
-#define COLOR_parser___ReduceAction342___init SFT_parser[1405]
-#define ID_ReduceAction343 SFT_parser[1406]
-#define COLOR_ReduceAction343 SFT_parser[1407]
-#define INIT_TABLE_POS_ReduceAction343 SFT_parser[1408]
-#define COLOR_parser___ReduceAction343___init SFT_parser[1409]
-#define ID_ReduceAction344 SFT_parser[1410]
-#define COLOR_ReduceAction344 SFT_parser[1411]
-#define INIT_TABLE_POS_ReduceAction344 SFT_parser[1412]
-#define COLOR_parser___ReduceAction344___init SFT_parser[1413]
-#define ID_ReduceAction345 SFT_parser[1414]
-#define COLOR_ReduceAction345 SFT_parser[1415]
-#define INIT_TABLE_POS_ReduceAction345 SFT_parser[1416]
-#define COLOR_parser___ReduceAction345___init SFT_parser[1417]
-#define ID_ReduceAction346 SFT_parser[1418]
-#define COLOR_ReduceAction346 SFT_parser[1419]
-#define INIT_TABLE_POS_ReduceAction346 SFT_parser[1420]
-#define COLOR_parser___ReduceAction346___init SFT_parser[1421]
-#define ID_ReduceAction347 SFT_parser[1422]
-#define COLOR_ReduceAction347 SFT_parser[1423]
-#define INIT_TABLE_POS_ReduceAction347 SFT_parser[1424]
-#define COLOR_parser___ReduceAction347___init SFT_parser[1425]
-#define ID_ReduceAction348 SFT_parser[1426]
-#define COLOR_ReduceAction348 SFT_parser[1427]
-#define INIT_TABLE_POS_ReduceAction348 SFT_parser[1428]
-#define COLOR_parser___ReduceAction348___init SFT_parser[1429]
-#define ID_ReduceAction349 SFT_parser[1430]
-#define COLOR_ReduceAction349 SFT_parser[1431]
-#define INIT_TABLE_POS_ReduceAction349 SFT_parser[1432]
-#define COLOR_parser___ReduceAction349___init SFT_parser[1433]
-#define ID_ReduceAction350 SFT_parser[1434]
-#define COLOR_ReduceAction350 SFT_parser[1435]
-#define INIT_TABLE_POS_ReduceAction350 SFT_parser[1436]
-#define COLOR_parser___ReduceAction350___init SFT_parser[1437]
-#define ID_ReduceAction351 SFT_parser[1438]
-#define COLOR_ReduceAction351 SFT_parser[1439]
-#define INIT_TABLE_POS_ReduceAction351 SFT_parser[1440]
-#define COLOR_parser___ReduceAction351___init SFT_parser[1441]
-#define ID_ReduceAction352 SFT_parser[1442]
-#define COLOR_ReduceAction352 SFT_parser[1443]
-#define INIT_TABLE_POS_ReduceAction352 SFT_parser[1444]
-#define COLOR_parser___ReduceAction352___init SFT_parser[1445]
-#define ID_ReduceAction353 SFT_parser[1446]
-#define COLOR_ReduceAction353 SFT_parser[1447]
-#define INIT_TABLE_POS_ReduceAction353 SFT_parser[1448]
-#define COLOR_parser___ReduceAction353___init SFT_parser[1449]
-#define ID_ReduceAction354 SFT_parser[1450]
-#define COLOR_ReduceAction354 SFT_parser[1451]
-#define INIT_TABLE_POS_ReduceAction354 SFT_parser[1452]
-#define COLOR_parser___ReduceAction354___init SFT_parser[1453]
-#define ID_ReduceAction355 SFT_parser[1454]
-#define COLOR_ReduceAction355 SFT_parser[1455]
-#define INIT_TABLE_POS_ReduceAction355 SFT_parser[1456]
-#define COLOR_parser___ReduceAction355___init SFT_parser[1457]
-#define ID_ReduceAction356 SFT_parser[1458]
-#define COLOR_ReduceAction356 SFT_parser[1459]
-#define INIT_TABLE_POS_ReduceAction356 SFT_parser[1460]
-#define COLOR_parser___ReduceAction356___init SFT_parser[1461]
-#define ID_ReduceAction357 SFT_parser[1462]
-#define COLOR_ReduceAction357 SFT_parser[1463]
-#define INIT_TABLE_POS_ReduceAction357 SFT_parser[1464]
-#define COLOR_parser___ReduceAction357___init SFT_parser[1465]
-#define ID_ReduceAction358 SFT_parser[1466]
-#define COLOR_ReduceAction358 SFT_parser[1467]
-#define INIT_TABLE_POS_ReduceAction358 SFT_parser[1468]
-#define COLOR_parser___ReduceAction358___init SFT_parser[1469]
-#define ID_ReduceAction359 SFT_parser[1470]
-#define COLOR_ReduceAction359 SFT_parser[1471]
-#define INIT_TABLE_POS_ReduceAction359 SFT_parser[1472]
-#define COLOR_parser___ReduceAction359___init SFT_parser[1473]
-#define ID_ReduceAction360 SFT_parser[1474]
-#define COLOR_ReduceAction360 SFT_parser[1475]
-#define INIT_TABLE_POS_ReduceAction360 SFT_parser[1476]
-#define COLOR_parser___ReduceAction360___init SFT_parser[1477]
-#define ID_ReduceAction361 SFT_parser[1478]
-#define COLOR_ReduceAction361 SFT_parser[1479]
-#define INIT_TABLE_POS_ReduceAction361 SFT_parser[1480]
-#define COLOR_parser___ReduceAction361___init SFT_parser[1481]
-#define ID_ReduceAction362 SFT_parser[1482]
-#define COLOR_ReduceAction362 SFT_parser[1483]
-#define INIT_TABLE_POS_ReduceAction362 SFT_parser[1484]
-#define COLOR_parser___ReduceAction362___init SFT_parser[1485]
-#define ID_ReduceAction363 SFT_parser[1486]
-#define COLOR_ReduceAction363 SFT_parser[1487]
-#define INIT_TABLE_POS_ReduceAction363 SFT_parser[1488]
-#define COLOR_parser___ReduceAction363___init SFT_parser[1489]
-#define ID_ReduceAction364 SFT_parser[1490]
-#define COLOR_ReduceAction364 SFT_parser[1491]
-#define INIT_TABLE_POS_ReduceAction364 SFT_parser[1492]
-#define COLOR_parser___ReduceAction364___init SFT_parser[1493]
-#define ID_ReduceAction365 SFT_parser[1494]
-#define COLOR_ReduceAction365 SFT_parser[1495]
-#define INIT_TABLE_POS_ReduceAction365 SFT_parser[1496]
-#define COLOR_parser___ReduceAction365___init SFT_parser[1497]
-#define ID_ReduceAction366 SFT_parser[1498]
-#define COLOR_ReduceAction366 SFT_parser[1499]
-#define INIT_TABLE_POS_ReduceAction366 SFT_parser[1500]
-#define COLOR_parser___ReduceAction366___init SFT_parser[1501]
-#define ID_ReduceAction367 SFT_parser[1502]
-#define COLOR_ReduceAction367 SFT_parser[1503]
-#define INIT_TABLE_POS_ReduceAction367 SFT_parser[1504]
-#define COLOR_parser___ReduceAction367___init SFT_parser[1505]
-#define ID_ReduceAction368 SFT_parser[1506]
-#define COLOR_ReduceAction368 SFT_parser[1507]
-#define INIT_TABLE_POS_ReduceAction368 SFT_parser[1508]
-#define COLOR_parser___ReduceAction368___init SFT_parser[1509]
-#define ID_ReduceAction369 SFT_parser[1510]
-#define COLOR_ReduceAction369 SFT_parser[1511]
-#define INIT_TABLE_POS_ReduceAction369 SFT_parser[1512]
-#define COLOR_parser___ReduceAction369___init SFT_parser[1513]
-#define ID_ReduceAction370 SFT_parser[1514]
-#define COLOR_ReduceAction370 SFT_parser[1515]
-#define INIT_TABLE_POS_ReduceAction370 SFT_parser[1516]
-#define COLOR_parser___ReduceAction370___init SFT_parser[1517]
-#define ID_ReduceAction371 SFT_parser[1518]
-#define COLOR_ReduceAction371 SFT_parser[1519]
-#define INIT_TABLE_POS_ReduceAction371 SFT_parser[1520]
-#define COLOR_parser___ReduceAction371___init SFT_parser[1521]
-#define ID_ReduceAction372 SFT_parser[1522]
-#define COLOR_ReduceAction372 SFT_parser[1523]
-#define INIT_TABLE_POS_ReduceAction372 SFT_parser[1524]
-#define COLOR_parser___ReduceAction372___init SFT_parser[1525]
-#define ID_ReduceAction373 SFT_parser[1526]
-#define COLOR_ReduceAction373 SFT_parser[1527]
-#define INIT_TABLE_POS_ReduceAction373 SFT_parser[1528]
-#define COLOR_parser___ReduceAction373___init SFT_parser[1529]
-#define ID_ReduceAction374 SFT_parser[1530]
-#define COLOR_ReduceAction374 SFT_parser[1531]
-#define INIT_TABLE_POS_ReduceAction374 SFT_parser[1532]
-#define COLOR_parser___ReduceAction374___init SFT_parser[1533]
-#define ID_ReduceAction375 SFT_parser[1534]
-#define COLOR_ReduceAction375 SFT_parser[1535]
-#define INIT_TABLE_POS_ReduceAction375 SFT_parser[1536]
-#define COLOR_parser___ReduceAction375___init SFT_parser[1537]
-#define ID_ReduceAction376 SFT_parser[1538]
-#define COLOR_ReduceAction376 SFT_parser[1539]
-#define INIT_TABLE_POS_ReduceAction376 SFT_parser[1540]
-#define COLOR_parser___ReduceAction376___init SFT_parser[1541]
-#define ID_ReduceAction377 SFT_parser[1542]
-#define COLOR_ReduceAction377 SFT_parser[1543]
-#define INIT_TABLE_POS_ReduceAction377 SFT_parser[1544]
-#define COLOR_parser___ReduceAction377___init SFT_parser[1545]
-#define ID_ReduceAction378 SFT_parser[1546]
-#define COLOR_ReduceAction378 SFT_parser[1547]
-#define INIT_TABLE_POS_ReduceAction378 SFT_parser[1548]
-#define COLOR_parser___ReduceAction378___init SFT_parser[1549]
-#define ID_ReduceAction379 SFT_parser[1550]
-#define COLOR_ReduceAction379 SFT_parser[1551]
-#define INIT_TABLE_POS_ReduceAction379 SFT_parser[1552]
-#define COLOR_parser___ReduceAction379___init SFT_parser[1553]
-#define ID_ReduceAction380 SFT_parser[1554]
-#define COLOR_ReduceAction380 SFT_parser[1555]
-#define INIT_TABLE_POS_ReduceAction380 SFT_parser[1556]
-#define COLOR_parser___ReduceAction380___init SFT_parser[1557]
-#define ID_ReduceAction381 SFT_parser[1558]
-#define COLOR_ReduceAction381 SFT_parser[1559]
-#define INIT_TABLE_POS_ReduceAction381 SFT_parser[1560]
-#define COLOR_parser___ReduceAction381___init SFT_parser[1561]
-#define ID_ReduceAction382 SFT_parser[1562]
-#define COLOR_ReduceAction382 SFT_parser[1563]
-#define INIT_TABLE_POS_ReduceAction382 SFT_parser[1564]
-#define COLOR_parser___ReduceAction382___init SFT_parser[1565]
-#define ID_ReduceAction383 SFT_parser[1566]
-#define COLOR_ReduceAction383 SFT_parser[1567]
-#define INIT_TABLE_POS_ReduceAction383 SFT_parser[1568]
-#define COLOR_parser___ReduceAction383___init SFT_parser[1569]
-#define ID_ReduceAction384 SFT_parser[1570]
-#define COLOR_ReduceAction384 SFT_parser[1571]
-#define INIT_TABLE_POS_ReduceAction384 SFT_parser[1572]
-#define COLOR_parser___ReduceAction384___init SFT_parser[1573]
-#define ID_ReduceAction385 SFT_parser[1574]
-#define COLOR_ReduceAction385 SFT_parser[1575]
-#define INIT_TABLE_POS_ReduceAction385 SFT_parser[1576]
-#define COLOR_parser___ReduceAction385___init SFT_parser[1577]
-#define ID_ReduceAction386 SFT_parser[1578]
-#define COLOR_ReduceAction386 SFT_parser[1579]
-#define INIT_TABLE_POS_ReduceAction386 SFT_parser[1580]
-#define COLOR_parser___ReduceAction386___init SFT_parser[1581]
-#define ID_ReduceAction387 SFT_parser[1582]
-#define COLOR_ReduceAction387 SFT_parser[1583]
-#define INIT_TABLE_POS_ReduceAction387 SFT_parser[1584]
-#define COLOR_parser___ReduceAction387___init SFT_parser[1585]
-#define ID_ReduceAction388 SFT_parser[1586]
-#define COLOR_ReduceAction388 SFT_parser[1587]
-#define INIT_TABLE_POS_ReduceAction388 SFT_parser[1588]
-#define COLOR_parser___ReduceAction388___init SFT_parser[1589]
-#define ID_ReduceAction389 SFT_parser[1590]
-#define COLOR_ReduceAction389 SFT_parser[1591]
-#define INIT_TABLE_POS_ReduceAction389 SFT_parser[1592]
-#define COLOR_parser___ReduceAction389___init SFT_parser[1593]
-#define ID_ReduceAction390 SFT_parser[1594]
-#define COLOR_ReduceAction390 SFT_parser[1595]
-#define INIT_TABLE_POS_ReduceAction390 SFT_parser[1596]
-#define COLOR_parser___ReduceAction390___init SFT_parser[1597]
-#define ID_ReduceAction391 SFT_parser[1598]
-#define COLOR_ReduceAction391 SFT_parser[1599]
-#define INIT_TABLE_POS_ReduceAction391 SFT_parser[1600]
-#define COLOR_parser___ReduceAction391___init SFT_parser[1601]
-#define ID_ReduceAction392 SFT_parser[1602]
-#define COLOR_ReduceAction392 SFT_parser[1603]
-#define INIT_TABLE_POS_ReduceAction392 SFT_parser[1604]
-#define COLOR_parser___ReduceAction392___init SFT_parser[1605]
-#define ID_ReduceAction393 SFT_parser[1606]
-#define COLOR_ReduceAction393 SFT_parser[1607]
-#define INIT_TABLE_POS_ReduceAction393 SFT_parser[1608]
-#define COLOR_parser___ReduceAction393___init SFT_parser[1609]
-#define ID_ReduceAction394 SFT_parser[1610]
-#define COLOR_ReduceAction394 SFT_parser[1611]
-#define INIT_TABLE_POS_ReduceAction394 SFT_parser[1612]
-#define COLOR_parser___ReduceAction394___init SFT_parser[1613]
-#define ID_ReduceAction395 SFT_parser[1614]
-#define COLOR_ReduceAction395 SFT_parser[1615]
-#define INIT_TABLE_POS_ReduceAction395 SFT_parser[1616]
-#define COLOR_parser___ReduceAction395___init SFT_parser[1617]
-#define ID_ReduceAction396 SFT_parser[1618]
-#define COLOR_ReduceAction396 SFT_parser[1619]
-#define INIT_TABLE_POS_ReduceAction396 SFT_parser[1620]
-#define COLOR_parser___ReduceAction396___init SFT_parser[1621]
-#define ID_ReduceAction397 SFT_parser[1622]
-#define COLOR_ReduceAction397 SFT_parser[1623]
-#define INIT_TABLE_POS_ReduceAction397 SFT_parser[1624]
-#define COLOR_parser___ReduceAction397___init SFT_parser[1625]
-#define ID_ReduceAction398 SFT_parser[1626]
-#define COLOR_ReduceAction398 SFT_parser[1627]
-#define INIT_TABLE_POS_ReduceAction398 SFT_parser[1628]
-#define COLOR_parser___ReduceAction398___init SFT_parser[1629]
-#define ID_ReduceAction399 SFT_parser[1630]
-#define COLOR_ReduceAction399 SFT_parser[1631]
-#define INIT_TABLE_POS_ReduceAction399 SFT_parser[1632]
-#define COLOR_parser___ReduceAction399___init SFT_parser[1633]
-#define ID_ReduceAction400 SFT_parser[1634]
-#define COLOR_ReduceAction400 SFT_parser[1635]
-#define INIT_TABLE_POS_ReduceAction400 SFT_parser[1636]
-#define COLOR_parser___ReduceAction400___init SFT_parser[1637]
-#define ID_ReduceAction401 SFT_parser[1638]
-#define COLOR_ReduceAction401 SFT_parser[1639]
-#define INIT_TABLE_POS_ReduceAction401 SFT_parser[1640]
-#define COLOR_parser___ReduceAction401___init SFT_parser[1641]
-#define ID_ReduceAction402 SFT_parser[1642]
-#define COLOR_ReduceAction402 SFT_parser[1643]
-#define INIT_TABLE_POS_ReduceAction402 SFT_parser[1644]
-#define COLOR_parser___ReduceAction402___init SFT_parser[1645]
-#define ID_ReduceAction403 SFT_parser[1646]
-#define COLOR_ReduceAction403 SFT_parser[1647]
-#define INIT_TABLE_POS_ReduceAction403 SFT_parser[1648]
-#define COLOR_parser___ReduceAction403___init SFT_parser[1649]
-#define ID_ReduceAction404 SFT_parser[1650]
-#define COLOR_ReduceAction404 SFT_parser[1651]
-#define INIT_TABLE_POS_ReduceAction404 SFT_parser[1652]
-#define COLOR_parser___ReduceAction404___init SFT_parser[1653]
-#define ID_ReduceAction405 SFT_parser[1654]
-#define COLOR_ReduceAction405 SFT_parser[1655]
-#define INIT_TABLE_POS_ReduceAction405 SFT_parser[1656]
-#define COLOR_parser___ReduceAction405___init SFT_parser[1657]
-#define ID_ReduceAction406 SFT_parser[1658]
-#define COLOR_ReduceAction406 SFT_parser[1659]
-#define INIT_TABLE_POS_ReduceAction406 SFT_parser[1660]
-#define COLOR_parser___ReduceAction406___init SFT_parser[1661]
-#define ID_ReduceAction407 SFT_parser[1662]
-#define COLOR_ReduceAction407 SFT_parser[1663]
-#define INIT_TABLE_POS_ReduceAction407 SFT_parser[1664]
-#define COLOR_parser___ReduceAction407___init SFT_parser[1665]
-#define ID_ReduceAction408 SFT_parser[1666]
-#define COLOR_ReduceAction408 SFT_parser[1667]
-#define INIT_TABLE_POS_ReduceAction408 SFT_parser[1668]
-#define COLOR_parser___ReduceAction408___init SFT_parser[1669]
-#define ID_ReduceAction409 SFT_parser[1670]
-#define COLOR_ReduceAction409 SFT_parser[1671]
-#define INIT_TABLE_POS_ReduceAction409 SFT_parser[1672]
-#define COLOR_parser___ReduceAction409___init SFT_parser[1673]
-#define ID_ReduceAction410 SFT_parser[1674]
-#define COLOR_ReduceAction410 SFT_parser[1675]
-#define INIT_TABLE_POS_ReduceAction410 SFT_parser[1676]
-#define COLOR_parser___ReduceAction410___init SFT_parser[1677]
-#define ID_ReduceAction411 SFT_parser[1678]
-#define COLOR_ReduceAction411 SFT_parser[1679]
-#define INIT_TABLE_POS_ReduceAction411 SFT_parser[1680]
-#define COLOR_parser___ReduceAction411___init SFT_parser[1681]
-#define ID_ReduceAction412 SFT_parser[1682]
-#define COLOR_ReduceAction412 SFT_parser[1683]
-#define INIT_TABLE_POS_ReduceAction412 SFT_parser[1684]
-#define COLOR_parser___ReduceAction412___init SFT_parser[1685]
-#define ID_ReduceAction413 SFT_parser[1686]
-#define COLOR_ReduceAction413 SFT_parser[1687]
-#define INIT_TABLE_POS_ReduceAction413 SFT_parser[1688]
-#define COLOR_parser___ReduceAction413___init SFT_parser[1689]
-#define ID_ReduceAction414 SFT_parser[1690]
-#define COLOR_ReduceAction414 SFT_parser[1691]
-#define INIT_TABLE_POS_ReduceAction414 SFT_parser[1692]
-#define COLOR_parser___ReduceAction414___init SFT_parser[1693]
-#define ID_ReduceAction415 SFT_parser[1694]
-#define COLOR_ReduceAction415 SFT_parser[1695]
-#define INIT_TABLE_POS_ReduceAction415 SFT_parser[1696]
-#define COLOR_parser___ReduceAction415___init SFT_parser[1697]
-#define ID_ReduceAction416 SFT_parser[1698]
-#define COLOR_ReduceAction416 SFT_parser[1699]
-#define INIT_TABLE_POS_ReduceAction416 SFT_parser[1700]
-#define COLOR_parser___ReduceAction416___init SFT_parser[1701]
-#define ID_ReduceAction417 SFT_parser[1702]
-#define COLOR_ReduceAction417 SFT_parser[1703]
-#define INIT_TABLE_POS_ReduceAction417 SFT_parser[1704]
-#define COLOR_parser___ReduceAction417___init SFT_parser[1705]
-#define ID_ReduceAction418 SFT_parser[1706]
-#define COLOR_ReduceAction418 SFT_parser[1707]
-#define INIT_TABLE_POS_ReduceAction418 SFT_parser[1708]
-#define COLOR_parser___ReduceAction418___init SFT_parser[1709]
-#define ID_ReduceAction419 SFT_parser[1710]
-#define COLOR_ReduceAction419 SFT_parser[1711]
-#define INIT_TABLE_POS_ReduceAction419 SFT_parser[1712]
-#define COLOR_parser___ReduceAction419___init SFT_parser[1713]
-#define ID_ReduceAction420 SFT_parser[1714]
-#define COLOR_ReduceAction420 SFT_parser[1715]
-#define INIT_TABLE_POS_ReduceAction420 SFT_parser[1716]
-#define COLOR_parser___ReduceAction420___init SFT_parser[1717]
-#define ID_ReduceAction421 SFT_parser[1718]
-#define COLOR_ReduceAction421 SFT_parser[1719]
-#define INIT_TABLE_POS_ReduceAction421 SFT_parser[1720]
-#define COLOR_parser___ReduceAction421___init SFT_parser[1721]
-#define ID_ReduceAction422 SFT_parser[1722]
-#define COLOR_ReduceAction422 SFT_parser[1723]
-#define INIT_TABLE_POS_ReduceAction422 SFT_parser[1724]
-#define COLOR_parser___ReduceAction422___init SFT_parser[1725]
-#define ID_ReduceAction423 SFT_parser[1726]
-#define COLOR_ReduceAction423 SFT_parser[1727]
-#define INIT_TABLE_POS_ReduceAction423 SFT_parser[1728]
-#define COLOR_parser___ReduceAction423___init SFT_parser[1729]
-#define ID_ReduceAction424 SFT_parser[1730]
-#define COLOR_ReduceAction424 SFT_parser[1731]
-#define INIT_TABLE_POS_ReduceAction424 SFT_parser[1732]
-#define COLOR_parser___ReduceAction424___init SFT_parser[1733]
-#define ID_ReduceAction425 SFT_parser[1734]
-#define COLOR_ReduceAction425 SFT_parser[1735]
-#define INIT_TABLE_POS_ReduceAction425 SFT_parser[1736]
-#define COLOR_parser___ReduceAction425___init SFT_parser[1737]
-#define ID_ReduceAction426 SFT_parser[1738]
-#define COLOR_ReduceAction426 SFT_parser[1739]
-#define INIT_TABLE_POS_ReduceAction426 SFT_parser[1740]
-#define COLOR_parser___ReduceAction426___init SFT_parser[1741]
-#define ID_ReduceAction427 SFT_parser[1742]
-#define COLOR_ReduceAction427 SFT_parser[1743]
-#define INIT_TABLE_POS_ReduceAction427 SFT_parser[1744]
-#define COLOR_parser___ReduceAction427___init SFT_parser[1745]
-#define ID_ReduceAction428 SFT_parser[1746]
-#define COLOR_ReduceAction428 SFT_parser[1747]
-#define INIT_TABLE_POS_ReduceAction428 SFT_parser[1748]
-#define COLOR_parser___ReduceAction428___init SFT_parser[1749]
-#define ID_ReduceAction429 SFT_parser[1750]
-#define COLOR_ReduceAction429 SFT_parser[1751]
-#define INIT_TABLE_POS_ReduceAction429 SFT_parser[1752]
-#define COLOR_parser___ReduceAction429___init SFT_parser[1753]
-#define ID_ReduceAction430 SFT_parser[1754]
-#define COLOR_ReduceAction430 SFT_parser[1755]
-#define INIT_TABLE_POS_ReduceAction430 SFT_parser[1756]
-#define COLOR_parser___ReduceAction430___init SFT_parser[1757]
-#define ID_ReduceAction431 SFT_parser[1758]
-#define COLOR_ReduceAction431 SFT_parser[1759]
-#define INIT_TABLE_POS_ReduceAction431 SFT_parser[1760]
-#define COLOR_parser___ReduceAction431___init SFT_parser[1761]
-#define ID_ReduceAction432 SFT_parser[1762]
-#define COLOR_ReduceAction432 SFT_parser[1763]
-#define INIT_TABLE_POS_ReduceAction432 SFT_parser[1764]
-#define COLOR_parser___ReduceAction432___init SFT_parser[1765]
-#define ID_ReduceAction433 SFT_parser[1766]
-#define COLOR_ReduceAction433 SFT_parser[1767]
-#define INIT_TABLE_POS_ReduceAction433 SFT_parser[1768]
-#define COLOR_parser___ReduceAction433___init SFT_parser[1769]
-#define ID_ReduceAction434 SFT_parser[1770]
-#define COLOR_ReduceAction434 SFT_parser[1771]
-#define INIT_TABLE_POS_ReduceAction434 SFT_parser[1772]
-#define COLOR_parser___ReduceAction434___init SFT_parser[1773]
-#define ID_ReduceAction435 SFT_parser[1774]
-#define COLOR_ReduceAction435 SFT_parser[1775]
-#define INIT_TABLE_POS_ReduceAction435 SFT_parser[1776]
-#define COLOR_parser___ReduceAction435___init SFT_parser[1777]
-#define ID_ReduceAction436 SFT_parser[1778]
-#define COLOR_ReduceAction436 SFT_parser[1779]
-#define INIT_TABLE_POS_ReduceAction436 SFT_parser[1780]
-#define COLOR_parser___ReduceAction436___init SFT_parser[1781]
-#define ID_ReduceAction437 SFT_parser[1782]
-#define COLOR_ReduceAction437 SFT_parser[1783]
-#define INIT_TABLE_POS_ReduceAction437 SFT_parser[1784]
-#define COLOR_parser___ReduceAction437___init SFT_parser[1785]
-#define ID_ReduceAction438 SFT_parser[1786]
-#define COLOR_ReduceAction438 SFT_parser[1787]
-#define INIT_TABLE_POS_ReduceAction438 SFT_parser[1788]
-#define COLOR_parser___ReduceAction438___init SFT_parser[1789]
-#define ID_ReduceAction439 SFT_parser[1790]
-#define COLOR_ReduceAction439 SFT_parser[1791]
-#define INIT_TABLE_POS_ReduceAction439 SFT_parser[1792]
-#define COLOR_parser___ReduceAction439___init SFT_parser[1793]
-#define ID_ReduceAction440 SFT_parser[1794]
-#define COLOR_ReduceAction440 SFT_parser[1795]
-#define INIT_TABLE_POS_ReduceAction440 SFT_parser[1796]
-#define COLOR_parser___ReduceAction440___init SFT_parser[1797]
-#define ID_ReduceAction441 SFT_parser[1798]
-#define COLOR_ReduceAction441 SFT_parser[1799]
-#define INIT_TABLE_POS_ReduceAction441 SFT_parser[1800]
-#define COLOR_parser___ReduceAction441___init SFT_parser[1801]
-#define ID_ReduceAction442 SFT_parser[1802]
-#define COLOR_ReduceAction442 SFT_parser[1803]
-#define INIT_TABLE_POS_ReduceAction442 SFT_parser[1804]
-#define COLOR_parser___ReduceAction442___init SFT_parser[1805]
-#define ID_ReduceAction443 SFT_parser[1806]
-#define COLOR_ReduceAction443 SFT_parser[1807]
-#define INIT_TABLE_POS_ReduceAction443 SFT_parser[1808]
-#define COLOR_parser___ReduceAction443___init SFT_parser[1809]
-#define ID_ReduceAction444 SFT_parser[1810]
-#define COLOR_ReduceAction444 SFT_parser[1811]
-#define INIT_TABLE_POS_ReduceAction444 SFT_parser[1812]
-#define COLOR_parser___ReduceAction444___init SFT_parser[1813]
-#define ID_ReduceAction445 SFT_parser[1814]
-#define COLOR_ReduceAction445 SFT_parser[1815]
-#define INIT_TABLE_POS_ReduceAction445 SFT_parser[1816]
-#define COLOR_parser___ReduceAction445___init SFT_parser[1817]
-#define ID_ReduceAction446 SFT_parser[1818]
-#define COLOR_ReduceAction446 SFT_parser[1819]
-#define INIT_TABLE_POS_ReduceAction446 SFT_parser[1820]
-#define COLOR_parser___ReduceAction446___init SFT_parser[1821]
-#define ID_ReduceAction447 SFT_parser[1822]
-#define COLOR_ReduceAction447 SFT_parser[1823]
-#define INIT_TABLE_POS_ReduceAction447 SFT_parser[1824]
-#define COLOR_parser___ReduceAction447___init SFT_parser[1825]
-#define ID_ReduceAction448 SFT_parser[1826]
-#define COLOR_ReduceAction448 SFT_parser[1827]
-#define INIT_TABLE_POS_ReduceAction448 SFT_parser[1828]
-#define COLOR_parser___ReduceAction448___init SFT_parser[1829]
-#define ID_ReduceAction449 SFT_parser[1830]
-#define COLOR_ReduceAction449 SFT_parser[1831]
-#define INIT_TABLE_POS_ReduceAction449 SFT_parser[1832]
-#define COLOR_parser___ReduceAction449___init SFT_parser[1833]
-#define ID_ReduceAction450 SFT_parser[1834]
-#define COLOR_ReduceAction450 SFT_parser[1835]
-#define INIT_TABLE_POS_ReduceAction450 SFT_parser[1836]
-#define COLOR_parser___ReduceAction450___init SFT_parser[1837]
-#define ID_ReduceAction451 SFT_parser[1838]
-#define COLOR_ReduceAction451 SFT_parser[1839]
-#define INIT_TABLE_POS_ReduceAction451 SFT_parser[1840]
-#define COLOR_parser___ReduceAction451___init SFT_parser[1841]
-#define ID_ReduceAction452 SFT_parser[1842]
-#define COLOR_ReduceAction452 SFT_parser[1843]
-#define INIT_TABLE_POS_ReduceAction452 SFT_parser[1844]
-#define COLOR_parser___ReduceAction452___init SFT_parser[1845]
-#define ID_ReduceAction453 SFT_parser[1846]
-#define COLOR_ReduceAction453 SFT_parser[1847]
-#define INIT_TABLE_POS_ReduceAction453 SFT_parser[1848]
-#define COLOR_parser___ReduceAction453___init SFT_parser[1849]
-#define ID_ReduceAction454 SFT_parser[1850]
-#define COLOR_ReduceAction454 SFT_parser[1851]
-#define INIT_TABLE_POS_ReduceAction454 SFT_parser[1852]
-#define COLOR_parser___ReduceAction454___init SFT_parser[1853]
-#define ID_ReduceAction455 SFT_parser[1854]
-#define COLOR_ReduceAction455 SFT_parser[1855]
-#define INIT_TABLE_POS_ReduceAction455 SFT_parser[1856]
-#define COLOR_parser___ReduceAction455___init SFT_parser[1857]
-#define ID_ReduceAction456 SFT_parser[1858]
-#define COLOR_ReduceAction456 SFT_parser[1859]
-#define INIT_TABLE_POS_ReduceAction456 SFT_parser[1860]
-#define COLOR_parser___ReduceAction456___init SFT_parser[1861]
-#define ID_ReduceAction457 SFT_parser[1862]
-#define COLOR_ReduceAction457 SFT_parser[1863]
-#define INIT_TABLE_POS_ReduceAction457 SFT_parser[1864]
-#define COLOR_parser___ReduceAction457___init SFT_parser[1865]
-#define ID_ReduceAction458 SFT_parser[1866]
-#define COLOR_ReduceAction458 SFT_parser[1867]
-#define INIT_TABLE_POS_ReduceAction458 SFT_parser[1868]
-#define COLOR_parser___ReduceAction458___init SFT_parser[1869]
-#define ID_ReduceAction459 SFT_parser[1870]
-#define COLOR_ReduceAction459 SFT_parser[1871]
-#define INIT_TABLE_POS_ReduceAction459 SFT_parser[1872]
-#define COLOR_parser___ReduceAction459___init SFT_parser[1873]
-#define ID_ReduceAction460 SFT_parser[1874]
-#define COLOR_ReduceAction460 SFT_parser[1875]
-#define INIT_TABLE_POS_ReduceAction460 SFT_parser[1876]
-#define COLOR_parser___ReduceAction460___init SFT_parser[1877]
-#define ID_ReduceAction461 SFT_parser[1878]
-#define COLOR_ReduceAction461 SFT_parser[1879]
-#define INIT_TABLE_POS_ReduceAction461 SFT_parser[1880]
-#define COLOR_parser___ReduceAction461___init SFT_parser[1881]
-#define ID_ReduceAction462 SFT_parser[1882]
-#define COLOR_ReduceAction462 SFT_parser[1883]
-#define INIT_TABLE_POS_ReduceAction462 SFT_parser[1884]
-#define COLOR_parser___ReduceAction462___init SFT_parser[1885]
-#define ID_ReduceAction463 SFT_parser[1886]
-#define COLOR_ReduceAction463 SFT_parser[1887]
-#define INIT_TABLE_POS_ReduceAction463 SFT_parser[1888]
-#define COLOR_parser___ReduceAction463___init SFT_parser[1889]
-#define ID_ReduceAction464 SFT_parser[1890]
-#define COLOR_ReduceAction464 SFT_parser[1891]
-#define INIT_TABLE_POS_ReduceAction464 SFT_parser[1892]
-#define COLOR_parser___ReduceAction464___init SFT_parser[1893]
-#define ID_ReduceAction465 SFT_parser[1894]
-#define COLOR_ReduceAction465 SFT_parser[1895]
-#define INIT_TABLE_POS_ReduceAction465 SFT_parser[1896]
-#define COLOR_parser___ReduceAction465___init SFT_parser[1897]
-#define ID_ReduceAction466 SFT_parser[1898]
-#define COLOR_ReduceAction466 SFT_parser[1899]
-#define INIT_TABLE_POS_ReduceAction466 SFT_parser[1900]
-#define COLOR_parser___ReduceAction466___init SFT_parser[1901]
-#define ID_ReduceAction467 SFT_parser[1902]
-#define COLOR_ReduceAction467 SFT_parser[1903]
-#define INIT_TABLE_POS_ReduceAction467 SFT_parser[1904]
-#define COLOR_parser___ReduceAction467___init SFT_parser[1905]
-#define ID_ReduceAction468 SFT_parser[1906]
-#define COLOR_ReduceAction468 SFT_parser[1907]
-#define INIT_TABLE_POS_ReduceAction468 SFT_parser[1908]
-#define COLOR_parser___ReduceAction468___init SFT_parser[1909]
-#define ID_ReduceAction469 SFT_parser[1910]
-#define COLOR_ReduceAction469 SFT_parser[1911]
-#define INIT_TABLE_POS_ReduceAction469 SFT_parser[1912]
-#define COLOR_parser___ReduceAction469___init SFT_parser[1913]
-#define ID_ReduceAction470 SFT_parser[1914]
-#define COLOR_ReduceAction470 SFT_parser[1915]
-#define INIT_TABLE_POS_ReduceAction470 SFT_parser[1916]
-#define COLOR_parser___ReduceAction470___init SFT_parser[1917]
-#define ID_ReduceAction471 SFT_parser[1918]
-#define COLOR_ReduceAction471 SFT_parser[1919]
-#define INIT_TABLE_POS_ReduceAction471 SFT_parser[1920]
-#define COLOR_parser___ReduceAction471___init SFT_parser[1921]
-#define ID_ReduceAction472 SFT_parser[1922]
-#define COLOR_ReduceAction472 SFT_parser[1923]
-#define INIT_TABLE_POS_ReduceAction472 SFT_parser[1924]
-#define COLOR_parser___ReduceAction472___init SFT_parser[1925]
-#define ID_ReduceAction473 SFT_parser[1926]
-#define COLOR_ReduceAction473 SFT_parser[1927]
-#define INIT_TABLE_POS_ReduceAction473 SFT_parser[1928]
-#define COLOR_parser___ReduceAction473___init SFT_parser[1929]
-#define ID_ReduceAction474 SFT_parser[1930]
-#define COLOR_ReduceAction474 SFT_parser[1931]
-#define INIT_TABLE_POS_ReduceAction474 SFT_parser[1932]
-#define COLOR_parser___ReduceAction474___init SFT_parser[1933]
-#define ID_ReduceAction475 SFT_parser[1934]
-#define COLOR_ReduceAction475 SFT_parser[1935]
-#define INIT_TABLE_POS_ReduceAction475 SFT_parser[1936]
-#define COLOR_parser___ReduceAction475___init SFT_parser[1937]
-#define ID_ReduceAction476 SFT_parser[1938]
-#define COLOR_ReduceAction476 SFT_parser[1939]
-#define INIT_TABLE_POS_ReduceAction476 SFT_parser[1940]
-#define COLOR_parser___ReduceAction476___init SFT_parser[1941]
-#define ID_ReduceAction477 SFT_parser[1942]
-#define COLOR_ReduceAction477 SFT_parser[1943]
-#define INIT_TABLE_POS_ReduceAction477 SFT_parser[1944]
-#define COLOR_parser___ReduceAction477___init SFT_parser[1945]
-#define ID_ReduceAction478 SFT_parser[1946]
-#define COLOR_ReduceAction478 SFT_parser[1947]
-#define INIT_TABLE_POS_ReduceAction478 SFT_parser[1948]
-#define COLOR_parser___ReduceAction478___init SFT_parser[1949]
-#define ID_ReduceAction479 SFT_parser[1950]
-#define COLOR_ReduceAction479 SFT_parser[1951]
-#define INIT_TABLE_POS_ReduceAction479 SFT_parser[1952]
-#define COLOR_parser___ReduceAction479___init SFT_parser[1953]
-#define ID_ReduceAction480 SFT_parser[1954]
-#define COLOR_ReduceAction480 SFT_parser[1955]
-#define INIT_TABLE_POS_ReduceAction480 SFT_parser[1956]
-#define COLOR_parser___ReduceAction480___init SFT_parser[1957]
-#define ID_ReduceAction481 SFT_parser[1958]
-#define COLOR_ReduceAction481 SFT_parser[1959]
-#define INIT_TABLE_POS_ReduceAction481 SFT_parser[1960]
-#define COLOR_parser___ReduceAction481___init SFT_parser[1961]
-#define ID_ReduceAction482 SFT_parser[1962]
-#define COLOR_ReduceAction482 SFT_parser[1963]
-#define INIT_TABLE_POS_ReduceAction482 SFT_parser[1964]
-#define COLOR_parser___ReduceAction482___init SFT_parser[1965]
-#define ID_ReduceAction483 SFT_parser[1966]
-#define COLOR_ReduceAction483 SFT_parser[1967]
-#define INIT_TABLE_POS_ReduceAction483 SFT_parser[1968]
-#define COLOR_parser___ReduceAction483___init SFT_parser[1969]
-#define ID_ReduceAction484 SFT_parser[1970]
-#define COLOR_ReduceAction484 SFT_parser[1971]
-#define INIT_TABLE_POS_ReduceAction484 SFT_parser[1972]
-#define COLOR_parser___ReduceAction484___init SFT_parser[1973]
-#define ID_ReduceAction485 SFT_parser[1974]
-#define COLOR_ReduceAction485 SFT_parser[1975]
-#define INIT_TABLE_POS_ReduceAction485 SFT_parser[1976]
-#define COLOR_parser___ReduceAction485___init SFT_parser[1977]
-#define ID_ReduceAction486 SFT_parser[1978]
-#define COLOR_ReduceAction486 SFT_parser[1979]
-#define INIT_TABLE_POS_ReduceAction486 SFT_parser[1980]
-#define COLOR_parser___ReduceAction486___init SFT_parser[1981]
-#define ID_ReduceAction487 SFT_parser[1982]
-#define COLOR_ReduceAction487 SFT_parser[1983]
-#define INIT_TABLE_POS_ReduceAction487 SFT_parser[1984]
-#define COLOR_parser___ReduceAction487___init SFT_parser[1985]
-#define ID_ReduceAction488 SFT_parser[1986]
-#define COLOR_ReduceAction488 SFT_parser[1987]
-#define INIT_TABLE_POS_ReduceAction488 SFT_parser[1988]
-#define COLOR_parser___ReduceAction488___init SFT_parser[1989]
-#define ID_ReduceAction489 SFT_parser[1990]
-#define COLOR_ReduceAction489 SFT_parser[1991]
-#define INIT_TABLE_POS_ReduceAction489 SFT_parser[1992]
-#define COLOR_parser___ReduceAction489___init SFT_parser[1993]
-#define ID_ReduceAction490 SFT_parser[1994]
-#define COLOR_ReduceAction490 SFT_parser[1995]
-#define INIT_TABLE_POS_ReduceAction490 SFT_parser[1996]
-#define COLOR_parser___ReduceAction490___init SFT_parser[1997]
-#define ID_ReduceAction491 SFT_parser[1998]
-#define COLOR_ReduceAction491 SFT_parser[1999]
-#define INIT_TABLE_POS_ReduceAction491 SFT_parser[2000]
-#define COLOR_parser___ReduceAction491___init SFT_parser[2001]
-#define ID_ReduceAction492 SFT_parser[2002]
-#define COLOR_ReduceAction492 SFT_parser[2003]
-#define INIT_TABLE_POS_ReduceAction492 SFT_parser[2004]
-#define COLOR_parser___ReduceAction492___init SFT_parser[2005]
-#define ID_ReduceAction493 SFT_parser[2006]
-#define COLOR_ReduceAction493 SFT_parser[2007]
-#define INIT_TABLE_POS_ReduceAction493 SFT_parser[2008]
-#define COLOR_parser___ReduceAction493___init SFT_parser[2009]
-#define ID_ReduceAction494 SFT_parser[2010]
-#define COLOR_ReduceAction494 SFT_parser[2011]
-#define INIT_TABLE_POS_ReduceAction494 SFT_parser[2012]
-#define COLOR_parser___ReduceAction494___init SFT_parser[2013]
-#define ID_ReduceAction495 SFT_parser[2014]
-#define COLOR_ReduceAction495 SFT_parser[2015]
-#define INIT_TABLE_POS_ReduceAction495 SFT_parser[2016]
-#define COLOR_parser___ReduceAction495___init SFT_parser[2017]
-#define ID_ReduceAction496 SFT_parser[2018]
-#define COLOR_ReduceAction496 SFT_parser[2019]
-#define INIT_TABLE_POS_ReduceAction496 SFT_parser[2020]
-#define COLOR_parser___ReduceAction496___init SFT_parser[2021]
-#define ID_ReduceAction497 SFT_parser[2022]
-#define COLOR_ReduceAction497 SFT_parser[2023]
-#define INIT_TABLE_POS_ReduceAction497 SFT_parser[2024]
-#define COLOR_parser___ReduceAction497___init SFT_parser[2025]
-#define ID_ReduceAction498 SFT_parser[2026]
-#define COLOR_ReduceAction498 SFT_parser[2027]
-#define INIT_TABLE_POS_ReduceAction498 SFT_parser[2028]
-#define COLOR_parser___ReduceAction498___init SFT_parser[2029]
-#define ID_ReduceAction499 SFT_parser[2030]
-#define COLOR_ReduceAction499 SFT_parser[2031]
-#define INIT_TABLE_POS_ReduceAction499 SFT_parser[2032]
-#define COLOR_parser___ReduceAction499___init SFT_parser[2033]
-#define ID_ReduceAction500 SFT_parser[2034]
-#define COLOR_ReduceAction500 SFT_parser[2035]
-#define INIT_TABLE_POS_ReduceAction500 SFT_parser[2036]
-#define COLOR_parser___ReduceAction500___init SFT_parser[2037]
-#define ID_ReduceAction501 SFT_parser[2038]
-#define COLOR_ReduceAction501 SFT_parser[2039]
-#define INIT_TABLE_POS_ReduceAction501 SFT_parser[2040]
-#define COLOR_parser___ReduceAction501___init SFT_parser[2041]
-#define ID_ReduceAction502 SFT_parser[2042]
-#define COLOR_ReduceAction502 SFT_parser[2043]
-#define INIT_TABLE_POS_ReduceAction502 SFT_parser[2044]
-#define COLOR_parser___ReduceAction502___init SFT_parser[2045]
-#define ID_ReduceAction503 SFT_parser[2046]
-#define COLOR_ReduceAction503 SFT_parser[2047]
-#define INIT_TABLE_POS_ReduceAction503 SFT_parser[2048]
-#define COLOR_parser___ReduceAction503___init SFT_parser[2049]
-#define ID_ReduceAction504 SFT_parser[2050]
-#define COLOR_ReduceAction504 SFT_parser[2051]
-#define INIT_TABLE_POS_ReduceAction504 SFT_parser[2052]
-#define COLOR_parser___ReduceAction504___init SFT_parser[2053]
-#define ID_ReduceAction505 SFT_parser[2054]
-#define COLOR_ReduceAction505 SFT_parser[2055]
-#define INIT_TABLE_POS_ReduceAction505 SFT_parser[2056]
-#define COLOR_parser___ReduceAction505___init SFT_parser[2057]
-#define ID_ReduceAction506 SFT_parser[2058]
-#define COLOR_ReduceAction506 SFT_parser[2059]
-#define INIT_TABLE_POS_ReduceAction506 SFT_parser[2060]
-#define COLOR_parser___ReduceAction506___init SFT_parser[2061]
-#define ID_ReduceAction507 SFT_parser[2062]
-#define COLOR_ReduceAction507 SFT_parser[2063]
-#define INIT_TABLE_POS_ReduceAction507 SFT_parser[2064]
-#define COLOR_parser___ReduceAction507___init SFT_parser[2065]
-#define ID_ReduceAction508 SFT_parser[2066]
-#define COLOR_ReduceAction508 SFT_parser[2067]
-#define INIT_TABLE_POS_ReduceAction508 SFT_parser[2068]
-#define COLOR_parser___ReduceAction508___init SFT_parser[2069]
-#define ID_ReduceAction509 SFT_parser[2070]
-#define COLOR_ReduceAction509 SFT_parser[2071]
-#define INIT_TABLE_POS_ReduceAction509 SFT_parser[2072]
-#define COLOR_parser___ReduceAction509___init SFT_parser[2073]
-#define ID_ReduceAction510 SFT_parser[2074]
-#define COLOR_ReduceAction510 SFT_parser[2075]
-#define INIT_TABLE_POS_ReduceAction510 SFT_parser[2076]
-#define COLOR_parser___ReduceAction510___init SFT_parser[2077]
-#define ID_ReduceAction511 SFT_parser[2078]
-#define COLOR_ReduceAction511 SFT_parser[2079]
-#define INIT_TABLE_POS_ReduceAction511 SFT_parser[2080]
-#define COLOR_parser___ReduceAction511___init SFT_parser[2081]
-#define ID_ReduceAction512 SFT_parser[2082]
-#define COLOR_ReduceAction512 SFT_parser[2083]
-#define INIT_TABLE_POS_ReduceAction512 SFT_parser[2084]
-#define COLOR_parser___ReduceAction512___init SFT_parser[2085]
-#define ID_ReduceAction513 SFT_parser[2086]
-#define COLOR_ReduceAction513 SFT_parser[2087]
-#define INIT_TABLE_POS_ReduceAction513 SFT_parser[2088]
-#define COLOR_parser___ReduceAction513___init SFT_parser[2089]
-#define ID_ReduceAction514 SFT_parser[2090]
-#define COLOR_ReduceAction514 SFT_parser[2091]
-#define INIT_TABLE_POS_ReduceAction514 SFT_parser[2092]
-#define COLOR_parser___ReduceAction514___init SFT_parser[2093]
-#define ID_ReduceAction515 SFT_parser[2094]
-#define COLOR_ReduceAction515 SFT_parser[2095]
-#define INIT_TABLE_POS_ReduceAction515 SFT_parser[2096]
-#define COLOR_parser___ReduceAction515___init SFT_parser[2097]
-#define ID_ReduceAction516 SFT_parser[2098]
-#define COLOR_ReduceAction516 SFT_parser[2099]
-#define INIT_TABLE_POS_ReduceAction516 SFT_parser[2100]
-#define COLOR_parser___ReduceAction516___init SFT_parser[2101]
-#define ID_ReduceAction517 SFT_parser[2102]
-#define COLOR_ReduceAction517 SFT_parser[2103]
-#define INIT_TABLE_POS_ReduceAction517 SFT_parser[2104]
-#define COLOR_parser___ReduceAction517___init SFT_parser[2105]
-#define ID_ReduceAction518 SFT_parser[2106]
-#define COLOR_ReduceAction518 SFT_parser[2107]
-#define INIT_TABLE_POS_ReduceAction518 SFT_parser[2108]
-#define COLOR_parser___ReduceAction518___init SFT_parser[2109]
-#define ID_ReduceAction519 SFT_parser[2110]
-#define COLOR_ReduceAction519 SFT_parser[2111]
-#define INIT_TABLE_POS_ReduceAction519 SFT_parser[2112]
-#define COLOR_parser___ReduceAction519___init SFT_parser[2113]
-#define ID_ReduceAction520 SFT_parser[2114]
-#define COLOR_ReduceAction520 SFT_parser[2115]
-#define INIT_TABLE_POS_ReduceAction520 SFT_parser[2116]
-#define COLOR_parser___ReduceAction520___init SFT_parser[2117]
-#define ID_ReduceAction521 SFT_parser[2118]
-#define COLOR_ReduceAction521 SFT_parser[2119]
-#define INIT_TABLE_POS_ReduceAction521 SFT_parser[2120]
-#define COLOR_parser___ReduceAction521___init SFT_parser[2121]
-#define ID_ReduceAction522 SFT_parser[2122]
-#define COLOR_ReduceAction522 SFT_parser[2123]
-#define INIT_TABLE_POS_ReduceAction522 SFT_parser[2124]
-#define COLOR_parser___ReduceAction522___init SFT_parser[2125]
-#define ID_ReduceAction523 SFT_parser[2126]
-#define COLOR_ReduceAction523 SFT_parser[2127]
-#define INIT_TABLE_POS_ReduceAction523 SFT_parser[2128]
-#define COLOR_parser___ReduceAction523___init SFT_parser[2129]
-#define ID_ReduceAction524 SFT_parser[2130]
-#define COLOR_ReduceAction524 SFT_parser[2131]
-#define INIT_TABLE_POS_ReduceAction524 SFT_parser[2132]
-#define COLOR_parser___ReduceAction524___init SFT_parser[2133]
-#define ID_ReduceAction525 SFT_parser[2134]
-#define COLOR_ReduceAction525 SFT_parser[2135]
-#define INIT_TABLE_POS_ReduceAction525 SFT_parser[2136]
-#define COLOR_parser___ReduceAction525___init SFT_parser[2137]
-#define ID_ReduceAction526 SFT_parser[2138]
-#define COLOR_ReduceAction526 SFT_parser[2139]
-#define INIT_TABLE_POS_ReduceAction526 SFT_parser[2140]
-#define COLOR_parser___ReduceAction526___init SFT_parser[2141]
-#define ID_ReduceAction527 SFT_parser[2142]
-#define COLOR_ReduceAction527 SFT_parser[2143]
-#define INIT_TABLE_POS_ReduceAction527 SFT_parser[2144]
-#define COLOR_parser___ReduceAction527___init SFT_parser[2145]
-#define ID_ReduceAction528 SFT_parser[2146]
-#define COLOR_ReduceAction528 SFT_parser[2147]
-#define INIT_TABLE_POS_ReduceAction528 SFT_parser[2148]
-#define COLOR_parser___ReduceAction528___init SFT_parser[2149]
-#define ID_ReduceAction529 SFT_parser[2150]
-#define COLOR_ReduceAction529 SFT_parser[2151]
-#define INIT_TABLE_POS_ReduceAction529 SFT_parser[2152]
-#define COLOR_parser___ReduceAction529___init SFT_parser[2153]
-#define ID_ReduceAction530 SFT_parser[2154]
-#define COLOR_ReduceAction530 SFT_parser[2155]
-#define INIT_TABLE_POS_ReduceAction530 SFT_parser[2156]
-#define COLOR_parser___ReduceAction530___init SFT_parser[2157]
-#define ID_ReduceAction531 SFT_parser[2158]
-#define COLOR_ReduceAction531 SFT_parser[2159]
-#define INIT_TABLE_POS_ReduceAction531 SFT_parser[2160]
-#define COLOR_parser___ReduceAction531___init SFT_parser[2161]
-#define ID_ReduceAction532 SFT_parser[2162]
-#define COLOR_ReduceAction532 SFT_parser[2163]
-#define INIT_TABLE_POS_ReduceAction532 SFT_parser[2164]
-#define COLOR_parser___ReduceAction532___init SFT_parser[2165]
-#define ID_ReduceAction533 SFT_parser[2166]
-#define COLOR_ReduceAction533 SFT_parser[2167]
-#define INIT_TABLE_POS_ReduceAction533 SFT_parser[2168]
-#define COLOR_parser___ReduceAction533___init SFT_parser[2169]
-#define ID_ReduceAction534 SFT_parser[2170]
-#define COLOR_ReduceAction534 SFT_parser[2171]
-#define INIT_TABLE_POS_ReduceAction534 SFT_parser[2172]
-#define COLOR_parser___ReduceAction534___init SFT_parser[2173]
-#define ID_ReduceAction535 SFT_parser[2174]
-#define COLOR_ReduceAction535 SFT_parser[2175]
-#define INIT_TABLE_POS_ReduceAction535 SFT_parser[2176]
-#define COLOR_parser___ReduceAction535___init SFT_parser[2177]
-#define ID_ReduceAction536 SFT_parser[2178]
-#define COLOR_ReduceAction536 SFT_parser[2179]
-#define INIT_TABLE_POS_ReduceAction536 SFT_parser[2180]
-#define COLOR_parser___ReduceAction536___init SFT_parser[2181]
-#define ID_ReduceAction537 SFT_parser[2182]
-#define COLOR_ReduceAction537 SFT_parser[2183]
-#define INIT_TABLE_POS_ReduceAction537 SFT_parser[2184]
-#define COLOR_parser___ReduceAction537___init SFT_parser[2185]
-#define ID_ReduceAction538 SFT_parser[2186]
-#define COLOR_ReduceAction538 SFT_parser[2187]
-#define INIT_TABLE_POS_ReduceAction538 SFT_parser[2188]
-#define COLOR_parser___ReduceAction538___init SFT_parser[2189]
-#define ID_ReduceAction539 SFT_parser[2190]
-#define COLOR_ReduceAction539 SFT_parser[2191]
-#define INIT_TABLE_POS_ReduceAction539 SFT_parser[2192]
-#define COLOR_parser___ReduceAction539___init SFT_parser[2193]
-#define ID_ReduceAction540 SFT_parser[2194]
-#define COLOR_ReduceAction540 SFT_parser[2195]
-#define INIT_TABLE_POS_ReduceAction540 SFT_parser[2196]
-#define COLOR_parser___ReduceAction540___init SFT_parser[2197]
-#define ID_ReduceAction541 SFT_parser[2198]
-#define COLOR_ReduceAction541 SFT_parser[2199]
-#define INIT_TABLE_POS_ReduceAction541 SFT_parser[2200]
-#define COLOR_parser___ReduceAction541___init SFT_parser[2201]
-#define ID_ReduceAction542 SFT_parser[2202]
-#define COLOR_ReduceAction542 SFT_parser[2203]
-#define INIT_TABLE_POS_ReduceAction542 SFT_parser[2204]
-#define COLOR_parser___ReduceAction542___init SFT_parser[2205]
-#define ID_ReduceAction543 SFT_parser[2206]
-#define COLOR_ReduceAction543 SFT_parser[2207]
-#define INIT_TABLE_POS_ReduceAction543 SFT_parser[2208]
-#define COLOR_parser___ReduceAction543___init SFT_parser[2209]
-#define ID_ReduceAction544 SFT_parser[2210]
-#define COLOR_ReduceAction544 SFT_parser[2211]
-#define INIT_TABLE_POS_ReduceAction544 SFT_parser[2212]
-#define COLOR_parser___ReduceAction544___init SFT_parser[2213]
-#define ID_ReduceAction545 SFT_parser[2214]
-#define COLOR_ReduceAction545 SFT_parser[2215]
-#define INIT_TABLE_POS_ReduceAction545 SFT_parser[2216]
-#define COLOR_parser___ReduceAction545___init SFT_parser[2217]
-#define ID_ReduceAction546 SFT_parser[2218]
-#define COLOR_ReduceAction546 SFT_parser[2219]
-#define INIT_TABLE_POS_ReduceAction546 SFT_parser[2220]
-#define COLOR_parser___ReduceAction546___init SFT_parser[2221]
-#define ID_ReduceAction547 SFT_parser[2222]
-#define COLOR_ReduceAction547 SFT_parser[2223]
-#define INIT_TABLE_POS_ReduceAction547 SFT_parser[2224]
-#define COLOR_parser___ReduceAction547___init SFT_parser[2225]
-#define ID_ReduceAction548 SFT_parser[2226]
-#define COLOR_ReduceAction548 SFT_parser[2227]
-#define INIT_TABLE_POS_ReduceAction548 SFT_parser[2228]
-#define COLOR_parser___ReduceAction548___init SFT_parser[2229]
-#define ID_ReduceAction549 SFT_parser[2230]
-#define COLOR_ReduceAction549 SFT_parser[2231]
-#define INIT_TABLE_POS_ReduceAction549 SFT_parser[2232]
-#define COLOR_parser___ReduceAction549___init SFT_parser[2233]
-#define ID_ReduceAction550 SFT_parser[2234]
-#define COLOR_ReduceAction550 SFT_parser[2235]
-#define INIT_TABLE_POS_ReduceAction550 SFT_parser[2236]
-#define COLOR_parser___ReduceAction550___init SFT_parser[2237]
-#define ID_ReduceAction551 SFT_parser[2238]
-#define COLOR_ReduceAction551 SFT_parser[2239]
-#define INIT_TABLE_POS_ReduceAction551 SFT_parser[2240]
-#define COLOR_parser___ReduceAction551___init SFT_parser[2241]
-#define ID_ReduceAction552 SFT_parser[2242]
-#define COLOR_ReduceAction552 SFT_parser[2243]
-#define INIT_TABLE_POS_ReduceAction552 SFT_parser[2244]
-#define COLOR_parser___ReduceAction552___init SFT_parser[2245]
-#define ID_ReduceAction553 SFT_parser[2246]
-#define COLOR_ReduceAction553 SFT_parser[2247]
-#define INIT_TABLE_POS_ReduceAction553 SFT_parser[2248]
-#define COLOR_parser___ReduceAction553___init SFT_parser[2249]
-#define ID_ReduceAction554 SFT_parser[2250]
-#define COLOR_ReduceAction554 SFT_parser[2251]
-#define INIT_TABLE_POS_ReduceAction554 SFT_parser[2252]
-#define COLOR_parser___ReduceAction554___init SFT_parser[2253]
-#define ID_ReduceAction555 SFT_parser[2254]
-#define COLOR_ReduceAction555 SFT_parser[2255]
-#define INIT_TABLE_POS_ReduceAction555 SFT_parser[2256]
-#define COLOR_parser___ReduceAction555___init SFT_parser[2257]
-#define ID_ReduceAction556 SFT_parser[2258]
-#define COLOR_ReduceAction556 SFT_parser[2259]
-#define INIT_TABLE_POS_ReduceAction556 SFT_parser[2260]
-#define COLOR_parser___ReduceAction556___init SFT_parser[2261]
-#define ID_ReduceAction557 SFT_parser[2262]
-#define COLOR_ReduceAction557 SFT_parser[2263]
-#define INIT_TABLE_POS_ReduceAction557 SFT_parser[2264]
-#define COLOR_parser___ReduceAction557___init SFT_parser[2265]
-#define ID_ReduceAction558 SFT_parser[2266]
-#define COLOR_ReduceAction558 SFT_parser[2267]
-#define INIT_TABLE_POS_ReduceAction558 SFT_parser[2268]
-#define COLOR_parser___ReduceAction558___init SFT_parser[2269]
-#define ID_ReduceAction559 SFT_parser[2270]
-#define COLOR_ReduceAction559 SFT_parser[2271]
-#define INIT_TABLE_POS_ReduceAction559 SFT_parser[2272]
-#define COLOR_parser___ReduceAction559___init SFT_parser[2273]
-#define ID_ReduceAction560 SFT_parser[2274]
-#define COLOR_ReduceAction560 SFT_parser[2275]
-#define INIT_TABLE_POS_ReduceAction560 SFT_parser[2276]
-#define COLOR_parser___ReduceAction560___init SFT_parser[2277]
-#define ID_ReduceAction561 SFT_parser[2278]
-#define COLOR_ReduceAction561 SFT_parser[2279]
-#define INIT_TABLE_POS_ReduceAction561 SFT_parser[2280]
-#define COLOR_parser___ReduceAction561___init SFT_parser[2281]
-#define ID_ReduceAction562 SFT_parser[2282]
-#define COLOR_ReduceAction562 SFT_parser[2283]
-#define INIT_TABLE_POS_ReduceAction562 SFT_parser[2284]
-#define COLOR_parser___ReduceAction562___init SFT_parser[2285]
-#define ID_ReduceAction563 SFT_parser[2286]
-#define COLOR_ReduceAction563 SFT_parser[2287]
-#define INIT_TABLE_POS_ReduceAction563 SFT_parser[2288]
-#define COLOR_parser___ReduceAction563___init SFT_parser[2289]
-#define ID_ReduceAction564 SFT_parser[2290]
-#define COLOR_ReduceAction564 SFT_parser[2291]
-#define INIT_TABLE_POS_ReduceAction564 SFT_parser[2292]
-#define COLOR_parser___ReduceAction564___init SFT_parser[2293]
-#define ID_ReduceAction565 SFT_parser[2294]
-#define COLOR_ReduceAction565 SFT_parser[2295]
-#define INIT_TABLE_POS_ReduceAction565 SFT_parser[2296]
-#define COLOR_parser___ReduceAction565___init SFT_parser[2297]
-#define ID_ReduceAction566 SFT_parser[2298]
-#define COLOR_ReduceAction566 SFT_parser[2299]
-#define INIT_TABLE_POS_ReduceAction566 SFT_parser[2300]
-#define COLOR_parser___ReduceAction566___init SFT_parser[2301]
-#define ID_ReduceAction567 SFT_parser[2302]
-#define COLOR_ReduceAction567 SFT_parser[2303]
-#define INIT_TABLE_POS_ReduceAction567 SFT_parser[2304]
-#define COLOR_parser___ReduceAction567___init SFT_parser[2305]
-#define ID_ReduceAction568 SFT_parser[2306]
-#define COLOR_ReduceAction568 SFT_parser[2307]
-#define INIT_TABLE_POS_ReduceAction568 SFT_parser[2308]
-#define COLOR_parser___ReduceAction568___init SFT_parser[2309]
-#define ID_ReduceAction569 SFT_parser[2310]
-#define COLOR_ReduceAction569 SFT_parser[2311]
-#define INIT_TABLE_POS_ReduceAction569 SFT_parser[2312]
-#define COLOR_parser___ReduceAction569___init SFT_parser[2313]
-#define ID_ReduceAction570 SFT_parser[2314]
-#define COLOR_ReduceAction570 SFT_parser[2315]
-#define INIT_TABLE_POS_ReduceAction570 SFT_parser[2316]
-#define COLOR_parser___ReduceAction570___init SFT_parser[2317]
-#define ID_ReduceAction571 SFT_parser[2318]
-#define COLOR_ReduceAction571 SFT_parser[2319]
-#define INIT_TABLE_POS_ReduceAction571 SFT_parser[2320]
-#define COLOR_parser___ReduceAction571___init SFT_parser[2321]
-#define ID_ReduceAction572 SFT_parser[2322]
-#define COLOR_ReduceAction572 SFT_parser[2323]
-#define INIT_TABLE_POS_ReduceAction572 SFT_parser[2324]
-#define COLOR_parser___ReduceAction572___init SFT_parser[2325]
+#define COLOR_parser___ReduceAction___init SFT_parser[34]
+#define ID_ReduceAction0 SFT_parser[35]
+#define COLOR_ReduceAction0 SFT_parser[36]
+#define INIT_TABLE_POS_ReduceAction0 SFT_parser[37]
+#define COLOR_parser___ReduceAction0___init SFT_parser[38]
+#define ID_ReduceAction1 SFT_parser[39]
+#define COLOR_ReduceAction1 SFT_parser[40]
+#define INIT_TABLE_POS_ReduceAction1 SFT_parser[41]
+#define COLOR_parser___ReduceAction1___init SFT_parser[42]
+#define ID_ReduceAction2 SFT_parser[43]
+#define COLOR_ReduceAction2 SFT_parser[44]
+#define INIT_TABLE_POS_ReduceAction2 SFT_parser[45]
+#define COLOR_parser___ReduceAction2___init SFT_parser[46]
+#define ID_ReduceAction3 SFT_parser[47]
+#define COLOR_ReduceAction3 SFT_parser[48]
+#define INIT_TABLE_POS_ReduceAction3 SFT_parser[49]
+#define COLOR_parser___ReduceAction3___init SFT_parser[50]
+#define ID_ReduceAction4 SFT_parser[51]
+#define COLOR_ReduceAction4 SFT_parser[52]
+#define INIT_TABLE_POS_ReduceAction4 SFT_parser[53]
+#define COLOR_parser___ReduceAction4___init SFT_parser[54]
+#define ID_ReduceAction5 SFT_parser[55]
+#define COLOR_ReduceAction5 SFT_parser[56]
+#define INIT_TABLE_POS_ReduceAction5 SFT_parser[57]
+#define COLOR_parser___ReduceAction5___init SFT_parser[58]
+#define ID_ReduceAction6 SFT_parser[59]
+#define COLOR_ReduceAction6 SFT_parser[60]
+#define INIT_TABLE_POS_ReduceAction6 SFT_parser[61]
+#define COLOR_parser___ReduceAction6___init SFT_parser[62]
+#define ID_ReduceAction7 SFT_parser[63]
+#define COLOR_ReduceAction7 SFT_parser[64]
+#define INIT_TABLE_POS_ReduceAction7 SFT_parser[65]
+#define COLOR_parser___ReduceAction7___init SFT_parser[66]
+#define ID_ReduceAction8 SFT_parser[67]
+#define COLOR_ReduceAction8 SFT_parser[68]
+#define INIT_TABLE_POS_ReduceAction8 SFT_parser[69]
+#define COLOR_parser___ReduceAction8___init SFT_parser[70]
+#define ID_ReduceAction9 SFT_parser[71]
+#define COLOR_ReduceAction9 SFT_parser[72]
+#define INIT_TABLE_POS_ReduceAction9 SFT_parser[73]
+#define COLOR_parser___ReduceAction9___init SFT_parser[74]
+#define ID_ReduceAction10 SFT_parser[75]
+#define COLOR_ReduceAction10 SFT_parser[76]
+#define INIT_TABLE_POS_ReduceAction10 SFT_parser[77]
+#define COLOR_parser___ReduceAction10___init SFT_parser[78]
+#define ID_ReduceAction11 SFT_parser[79]
+#define COLOR_ReduceAction11 SFT_parser[80]
+#define INIT_TABLE_POS_ReduceAction11 SFT_parser[81]
+#define COLOR_parser___ReduceAction11___init SFT_parser[82]
+#define ID_ReduceAction12 SFT_parser[83]
+#define COLOR_ReduceAction12 SFT_parser[84]
+#define INIT_TABLE_POS_ReduceAction12 SFT_parser[85]
+#define COLOR_parser___ReduceAction12___init SFT_parser[86]
+#define ID_ReduceAction13 SFT_parser[87]
+#define COLOR_ReduceAction13 SFT_parser[88]
+#define INIT_TABLE_POS_ReduceAction13 SFT_parser[89]
+#define COLOR_parser___ReduceAction13___init SFT_parser[90]
+#define ID_ReduceAction14 SFT_parser[91]
+#define COLOR_ReduceAction14 SFT_parser[92]
+#define INIT_TABLE_POS_ReduceAction14 SFT_parser[93]
+#define COLOR_parser___ReduceAction14___init SFT_parser[94]
+#define ID_ReduceAction15 SFT_parser[95]
+#define COLOR_ReduceAction15 SFT_parser[96]
+#define INIT_TABLE_POS_ReduceAction15 SFT_parser[97]
+#define COLOR_parser___ReduceAction15___init SFT_parser[98]
+#define ID_ReduceAction16 SFT_parser[99]
+#define COLOR_ReduceAction16 SFT_parser[100]
+#define INIT_TABLE_POS_ReduceAction16 SFT_parser[101]
+#define COLOR_parser___ReduceAction16___init SFT_parser[102]
+#define ID_ReduceAction17 SFT_parser[103]
+#define COLOR_ReduceAction17 SFT_parser[104]
+#define INIT_TABLE_POS_ReduceAction17 SFT_parser[105]
+#define COLOR_parser___ReduceAction17___init SFT_parser[106]
+#define ID_ReduceAction18 SFT_parser[107]
+#define COLOR_ReduceAction18 SFT_parser[108]
+#define INIT_TABLE_POS_ReduceAction18 SFT_parser[109]
+#define COLOR_parser___ReduceAction18___init SFT_parser[110]
+#define ID_ReduceAction19 SFT_parser[111]
+#define COLOR_ReduceAction19 SFT_parser[112]
+#define INIT_TABLE_POS_ReduceAction19 SFT_parser[113]
+#define COLOR_parser___ReduceAction19___init SFT_parser[114]
+#define ID_ReduceAction20 SFT_parser[115]
+#define COLOR_ReduceAction20 SFT_parser[116]
+#define INIT_TABLE_POS_ReduceAction20 SFT_parser[117]
+#define COLOR_parser___ReduceAction20___init SFT_parser[118]
+#define ID_ReduceAction21 SFT_parser[119]
+#define COLOR_ReduceAction21 SFT_parser[120]
+#define INIT_TABLE_POS_ReduceAction21 SFT_parser[121]
+#define COLOR_parser___ReduceAction21___init SFT_parser[122]
+#define ID_ReduceAction22 SFT_parser[123]
+#define COLOR_ReduceAction22 SFT_parser[124]
+#define INIT_TABLE_POS_ReduceAction22 SFT_parser[125]
+#define COLOR_parser___ReduceAction22___init SFT_parser[126]
+#define ID_ReduceAction23 SFT_parser[127]
+#define COLOR_ReduceAction23 SFT_parser[128]
+#define INIT_TABLE_POS_ReduceAction23 SFT_parser[129]
+#define COLOR_parser___ReduceAction23___init SFT_parser[130]
+#define ID_ReduceAction24 SFT_parser[131]
+#define COLOR_ReduceAction24 SFT_parser[132]
+#define INIT_TABLE_POS_ReduceAction24 SFT_parser[133]
+#define COLOR_parser___ReduceAction24___init SFT_parser[134]
+#define ID_ReduceAction25 SFT_parser[135]
+#define COLOR_ReduceAction25 SFT_parser[136]
+#define INIT_TABLE_POS_ReduceAction25 SFT_parser[137]
+#define COLOR_parser___ReduceAction25___init SFT_parser[138]
+#define ID_ReduceAction26 SFT_parser[139]
+#define COLOR_ReduceAction26 SFT_parser[140]
+#define INIT_TABLE_POS_ReduceAction26 SFT_parser[141]
+#define COLOR_parser___ReduceAction26___init SFT_parser[142]
+#define ID_ReduceAction27 SFT_parser[143]
+#define COLOR_ReduceAction27 SFT_parser[144]
+#define INIT_TABLE_POS_ReduceAction27 SFT_parser[145]
+#define COLOR_parser___ReduceAction27___init SFT_parser[146]
+#define ID_ReduceAction28 SFT_parser[147]
+#define COLOR_ReduceAction28 SFT_parser[148]
+#define INIT_TABLE_POS_ReduceAction28 SFT_parser[149]
+#define COLOR_parser___ReduceAction28___init SFT_parser[150]
+#define ID_ReduceAction29 SFT_parser[151]
+#define COLOR_ReduceAction29 SFT_parser[152]
+#define INIT_TABLE_POS_ReduceAction29 SFT_parser[153]
+#define COLOR_parser___ReduceAction29___init SFT_parser[154]
+#define ID_ReduceAction30 SFT_parser[155]
+#define COLOR_ReduceAction30 SFT_parser[156]
+#define INIT_TABLE_POS_ReduceAction30 SFT_parser[157]
+#define COLOR_parser___ReduceAction30___init SFT_parser[158]
+#define ID_ReduceAction31 SFT_parser[159]
+#define COLOR_ReduceAction31 SFT_parser[160]
+#define INIT_TABLE_POS_ReduceAction31 SFT_parser[161]
+#define COLOR_parser___ReduceAction31___init SFT_parser[162]
+#define ID_ReduceAction32 SFT_parser[163]
+#define COLOR_ReduceAction32 SFT_parser[164]
+#define INIT_TABLE_POS_ReduceAction32 SFT_parser[165]
+#define COLOR_parser___ReduceAction32___init SFT_parser[166]
+#define ID_ReduceAction33 SFT_parser[167]
+#define COLOR_ReduceAction33 SFT_parser[168]
+#define INIT_TABLE_POS_ReduceAction33 SFT_parser[169]
+#define COLOR_parser___ReduceAction33___init SFT_parser[170]
+#define ID_ReduceAction34 SFT_parser[171]
+#define COLOR_ReduceAction34 SFT_parser[172]
+#define INIT_TABLE_POS_ReduceAction34 SFT_parser[173]
+#define COLOR_parser___ReduceAction34___init SFT_parser[174]
+#define ID_ReduceAction35 SFT_parser[175]
+#define COLOR_ReduceAction35 SFT_parser[176]
+#define INIT_TABLE_POS_ReduceAction35 SFT_parser[177]
+#define COLOR_parser___ReduceAction35___init SFT_parser[178]
+#define ID_ReduceAction36 SFT_parser[179]
+#define COLOR_ReduceAction36 SFT_parser[180]
+#define INIT_TABLE_POS_ReduceAction36 SFT_parser[181]
+#define COLOR_parser___ReduceAction36___init SFT_parser[182]
+#define ID_ReduceAction37 SFT_parser[183]
+#define COLOR_ReduceAction37 SFT_parser[184]
+#define INIT_TABLE_POS_ReduceAction37 SFT_parser[185]
+#define COLOR_parser___ReduceAction37___init SFT_parser[186]
+#define ID_ReduceAction38 SFT_parser[187]
+#define COLOR_ReduceAction38 SFT_parser[188]
+#define INIT_TABLE_POS_ReduceAction38 SFT_parser[189]
+#define COLOR_parser___ReduceAction38___init SFT_parser[190]
+#define ID_ReduceAction39 SFT_parser[191]
+#define COLOR_ReduceAction39 SFT_parser[192]
+#define INIT_TABLE_POS_ReduceAction39 SFT_parser[193]
+#define COLOR_parser___ReduceAction39___init SFT_parser[194]
+#define ID_ReduceAction40 SFT_parser[195]
+#define COLOR_ReduceAction40 SFT_parser[196]
+#define INIT_TABLE_POS_ReduceAction40 SFT_parser[197]
+#define COLOR_parser___ReduceAction40___init SFT_parser[198]
+#define ID_ReduceAction41 SFT_parser[199]
+#define COLOR_ReduceAction41 SFT_parser[200]
+#define INIT_TABLE_POS_ReduceAction41 SFT_parser[201]
+#define COLOR_parser___ReduceAction41___init SFT_parser[202]
+#define ID_ReduceAction42 SFT_parser[203]
+#define COLOR_ReduceAction42 SFT_parser[204]
+#define INIT_TABLE_POS_ReduceAction42 SFT_parser[205]
+#define COLOR_parser___ReduceAction42___init SFT_parser[206]
+#define ID_ReduceAction43 SFT_parser[207]
+#define COLOR_ReduceAction43 SFT_parser[208]
+#define INIT_TABLE_POS_ReduceAction43 SFT_parser[209]
+#define COLOR_parser___ReduceAction43___init SFT_parser[210]
+#define ID_ReduceAction44 SFT_parser[211]
+#define COLOR_ReduceAction44 SFT_parser[212]
+#define INIT_TABLE_POS_ReduceAction44 SFT_parser[213]
+#define COLOR_parser___ReduceAction44___init SFT_parser[214]
+#define ID_ReduceAction45 SFT_parser[215]
+#define COLOR_ReduceAction45 SFT_parser[216]
+#define INIT_TABLE_POS_ReduceAction45 SFT_parser[217]
+#define COLOR_parser___ReduceAction45___init SFT_parser[218]
+#define ID_ReduceAction46 SFT_parser[219]
+#define COLOR_ReduceAction46 SFT_parser[220]
+#define INIT_TABLE_POS_ReduceAction46 SFT_parser[221]
+#define COLOR_parser___ReduceAction46___init SFT_parser[222]
+#define ID_ReduceAction47 SFT_parser[223]
+#define COLOR_ReduceAction47 SFT_parser[224]
+#define INIT_TABLE_POS_ReduceAction47 SFT_parser[225]
+#define COLOR_parser___ReduceAction47___init SFT_parser[226]
+#define ID_ReduceAction48 SFT_parser[227]
+#define COLOR_ReduceAction48 SFT_parser[228]
+#define INIT_TABLE_POS_ReduceAction48 SFT_parser[229]
+#define COLOR_parser___ReduceAction48___init SFT_parser[230]
+#define ID_ReduceAction49 SFT_parser[231]
+#define COLOR_ReduceAction49 SFT_parser[232]
+#define INIT_TABLE_POS_ReduceAction49 SFT_parser[233]
+#define COLOR_parser___ReduceAction49___init SFT_parser[234]
+#define ID_ReduceAction50 SFT_parser[235]
+#define COLOR_ReduceAction50 SFT_parser[236]
+#define INIT_TABLE_POS_ReduceAction50 SFT_parser[237]
+#define COLOR_parser___ReduceAction50___init SFT_parser[238]
+#define ID_ReduceAction51 SFT_parser[239]
+#define COLOR_ReduceAction51 SFT_parser[240]
+#define INIT_TABLE_POS_ReduceAction51 SFT_parser[241]
+#define COLOR_parser___ReduceAction51___init SFT_parser[242]
+#define ID_ReduceAction52 SFT_parser[243]
+#define COLOR_ReduceAction52 SFT_parser[244]
+#define INIT_TABLE_POS_ReduceAction52 SFT_parser[245]
+#define COLOR_parser___ReduceAction52___init SFT_parser[246]
+#define ID_ReduceAction53 SFT_parser[247]
+#define COLOR_ReduceAction53 SFT_parser[248]
+#define INIT_TABLE_POS_ReduceAction53 SFT_parser[249]
+#define COLOR_parser___ReduceAction53___init SFT_parser[250]
+#define ID_ReduceAction54 SFT_parser[251]
+#define COLOR_ReduceAction54 SFT_parser[252]
+#define INIT_TABLE_POS_ReduceAction54 SFT_parser[253]
+#define COLOR_parser___ReduceAction54___init SFT_parser[254]
+#define ID_ReduceAction55 SFT_parser[255]
+#define COLOR_ReduceAction55 SFT_parser[256]
+#define INIT_TABLE_POS_ReduceAction55 SFT_parser[257]
+#define COLOR_parser___ReduceAction55___init SFT_parser[258]
+#define ID_ReduceAction56 SFT_parser[259]
+#define COLOR_ReduceAction56 SFT_parser[260]
+#define INIT_TABLE_POS_ReduceAction56 SFT_parser[261]
+#define COLOR_parser___ReduceAction56___init SFT_parser[262]
+#define ID_ReduceAction57 SFT_parser[263]
+#define COLOR_ReduceAction57 SFT_parser[264]
+#define INIT_TABLE_POS_ReduceAction57 SFT_parser[265]
+#define COLOR_parser___ReduceAction57___init SFT_parser[266]
+#define ID_ReduceAction58 SFT_parser[267]
+#define COLOR_ReduceAction58 SFT_parser[268]
+#define INIT_TABLE_POS_ReduceAction58 SFT_parser[269]
+#define COLOR_parser___ReduceAction58___init SFT_parser[270]
+#define ID_ReduceAction59 SFT_parser[271]
+#define COLOR_ReduceAction59 SFT_parser[272]
+#define INIT_TABLE_POS_ReduceAction59 SFT_parser[273]
+#define COLOR_parser___ReduceAction59___init SFT_parser[274]
+#define ID_ReduceAction60 SFT_parser[275]
+#define COLOR_ReduceAction60 SFT_parser[276]
+#define INIT_TABLE_POS_ReduceAction60 SFT_parser[277]
+#define COLOR_parser___ReduceAction60___init SFT_parser[278]
+#define ID_ReduceAction61 SFT_parser[279]
+#define COLOR_ReduceAction61 SFT_parser[280]
+#define INIT_TABLE_POS_ReduceAction61 SFT_parser[281]
+#define COLOR_parser___ReduceAction61___init SFT_parser[282]
+#define ID_ReduceAction62 SFT_parser[283]
+#define COLOR_ReduceAction62 SFT_parser[284]
+#define INIT_TABLE_POS_ReduceAction62 SFT_parser[285]
+#define COLOR_parser___ReduceAction62___init SFT_parser[286]
+#define ID_ReduceAction63 SFT_parser[287]
+#define COLOR_ReduceAction63 SFT_parser[288]
+#define INIT_TABLE_POS_ReduceAction63 SFT_parser[289]
+#define COLOR_parser___ReduceAction63___init SFT_parser[290]
+#define ID_ReduceAction64 SFT_parser[291]
+#define COLOR_ReduceAction64 SFT_parser[292]
+#define INIT_TABLE_POS_ReduceAction64 SFT_parser[293]
+#define COLOR_parser___ReduceAction64___init SFT_parser[294]
+#define ID_ReduceAction65 SFT_parser[295]
+#define COLOR_ReduceAction65 SFT_parser[296]
+#define INIT_TABLE_POS_ReduceAction65 SFT_parser[297]
+#define COLOR_parser___ReduceAction65___init SFT_parser[298]
+#define ID_ReduceAction66 SFT_parser[299]
+#define COLOR_ReduceAction66 SFT_parser[300]
+#define INIT_TABLE_POS_ReduceAction66 SFT_parser[301]
+#define COLOR_parser___ReduceAction66___init SFT_parser[302]
+#define ID_ReduceAction67 SFT_parser[303]
+#define COLOR_ReduceAction67 SFT_parser[304]
+#define INIT_TABLE_POS_ReduceAction67 SFT_parser[305]
+#define COLOR_parser___ReduceAction67___init SFT_parser[306]
+#define ID_ReduceAction68 SFT_parser[307]
+#define COLOR_ReduceAction68 SFT_parser[308]
+#define INIT_TABLE_POS_ReduceAction68 SFT_parser[309]
+#define COLOR_parser___ReduceAction68___init SFT_parser[310]
+#define ID_ReduceAction69 SFT_parser[311]
+#define COLOR_ReduceAction69 SFT_parser[312]
+#define INIT_TABLE_POS_ReduceAction69 SFT_parser[313]
+#define COLOR_parser___ReduceAction69___init SFT_parser[314]
+#define ID_ReduceAction70 SFT_parser[315]
+#define COLOR_ReduceAction70 SFT_parser[316]
+#define INIT_TABLE_POS_ReduceAction70 SFT_parser[317]
+#define COLOR_parser___ReduceAction70___init SFT_parser[318]
+#define ID_ReduceAction71 SFT_parser[319]
+#define COLOR_ReduceAction71 SFT_parser[320]
+#define INIT_TABLE_POS_ReduceAction71 SFT_parser[321]
+#define COLOR_parser___ReduceAction71___init SFT_parser[322]
+#define ID_ReduceAction72 SFT_parser[323]
+#define COLOR_ReduceAction72 SFT_parser[324]
+#define INIT_TABLE_POS_ReduceAction72 SFT_parser[325]
+#define COLOR_parser___ReduceAction72___init SFT_parser[326]
+#define ID_ReduceAction73 SFT_parser[327]
+#define COLOR_ReduceAction73 SFT_parser[328]
+#define INIT_TABLE_POS_ReduceAction73 SFT_parser[329]
+#define COLOR_parser___ReduceAction73___init SFT_parser[330]
+#define ID_ReduceAction74 SFT_parser[331]
+#define COLOR_ReduceAction74 SFT_parser[332]
+#define INIT_TABLE_POS_ReduceAction74 SFT_parser[333]
+#define COLOR_parser___ReduceAction74___init SFT_parser[334]
+#define ID_ReduceAction75 SFT_parser[335]
+#define COLOR_ReduceAction75 SFT_parser[336]
+#define INIT_TABLE_POS_ReduceAction75 SFT_parser[337]
+#define COLOR_parser___ReduceAction75___init SFT_parser[338]
+#define ID_ReduceAction76 SFT_parser[339]
+#define COLOR_ReduceAction76 SFT_parser[340]
+#define INIT_TABLE_POS_ReduceAction76 SFT_parser[341]
+#define COLOR_parser___ReduceAction76___init SFT_parser[342]
+#define ID_ReduceAction77 SFT_parser[343]
+#define COLOR_ReduceAction77 SFT_parser[344]
+#define INIT_TABLE_POS_ReduceAction77 SFT_parser[345]
+#define COLOR_parser___ReduceAction77___init SFT_parser[346]
+#define ID_ReduceAction78 SFT_parser[347]
+#define COLOR_ReduceAction78 SFT_parser[348]
+#define INIT_TABLE_POS_ReduceAction78 SFT_parser[349]
+#define COLOR_parser___ReduceAction78___init SFT_parser[350]
+#define ID_ReduceAction79 SFT_parser[351]
+#define COLOR_ReduceAction79 SFT_parser[352]
+#define INIT_TABLE_POS_ReduceAction79 SFT_parser[353]
+#define COLOR_parser___ReduceAction79___init SFT_parser[354]
+#define ID_ReduceAction80 SFT_parser[355]
+#define COLOR_ReduceAction80 SFT_parser[356]
+#define INIT_TABLE_POS_ReduceAction80 SFT_parser[357]
+#define COLOR_parser___ReduceAction80___init SFT_parser[358]
+#define ID_ReduceAction81 SFT_parser[359]
+#define COLOR_ReduceAction81 SFT_parser[360]
+#define INIT_TABLE_POS_ReduceAction81 SFT_parser[361]
+#define COLOR_parser___ReduceAction81___init SFT_parser[362]
+#define ID_ReduceAction82 SFT_parser[363]
+#define COLOR_ReduceAction82 SFT_parser[364]
+#define INIT_TABLE_POS_ReduceAction82 SFT_parser[365]
+#define COLOR_parser___ReduceAction82___init SFT_parser[366]
+#define ID_ReduceAction83 SFT_parser[367]
+#define COLOR_ReduceAction83 SFT_parser[368]
+#define INIT_TABLE_POS_ReduceAction83 SFT_parser[369]
+#define COLOR_parser___ReduceAction83___init SFT_parser[370]
+#define ID_ReduceAction84 SFT_parser[371]
+#define COLOR_ReduceAction84 SFT_parser[372]
+#define INIT_TABLE_POS_ReduceAction84 SFT_parser[373]
+#define COLOR_parser___ReduceAction84___init SFT_parser[374]
+#define ID_ReduceAction85 SFT_parser[375]
+#define COLOR_ReduceAction85 SFT_parser[376]
+#define INIT_TABLE_POS_ReduceAction85 SFT_parser[377]
+#define COLOR_parser___ReduceAction85___init SFT_parser[378]
+#define ID_ReduceAction86 SFT_parser[379]
+#define COLOR_ReduceAction86 SFT_parser[380]
+#define INIT_TABLE_POS_ReduceAction86 SFT_parser[381]
+#define COLOR_parser___ReduceAction86___init SFT_parser[382]
+#define ID_ReduceAction87 SFT_parser[383]
+#define COLOR_ReduceAction87 SFT_parser[384]
+#define INIT_TABLE_POS_ReduceAction87 SFT_parser[385]
+#define COLOR_parser___ReduceAction87___init SFT_parser[386]
+#define ID_ReduceAction88 SFT_parser[387]
+#define COLOR_ReduceAction88 SFT_parser[388]
+#define INIT_TABLE_POS_ReduceAction88 SFT_parser[389]
+#define COLOR_parser___ReduceAction88___init SFT_parser[390]
+#define ID_ReduceAction89 SFT_parser[391]
+#define COLOR_ReduceAction89 SFT_parser[392]
+#define INIT_TABLE_POS_ReduceAction89 SFT_parser[393]
+#define COLOR_parser___ReduceAction89___init SFT_parser[394]
+#define ID_ReduceAction90 SFT_parser[395]
+#define COLOR_ReduceAction90 SFT_parser[396]
+#define INIT_TABLE_POS_ReduceAction90 SFT_parser[397]
+#define COLOR_parser___ReduceAction90___init SFT_parser[398]
+#define ID_ReduceAction91 SFT_parser[399]
+#define COLOR_ReduceAction91 SFT_parser[400]
+#define INIT_TABLE_POS_ReduceAction91 SFT_parser[401]
+#define COLOR_parser___ReduceAction91___init SFT_parser[402]
+#define ID_ReduceAction92 SFT_parser[403]
+#define COLOR_ReduceAction92 SFT_parser[404]
+#define INIT_TABLE_POS_ReduceAction92 SFT_parser[405]
+#define COLOR_parser___ReduceAction92___init SFT_parser[406]
+#define ID_ReduceAction93 SFT_parser[407]
+#define COLOR_ReduceAction93 SFT_parser[408]
+#define INIT_TABLE_POS_ReduceAction93 SFT_parser[409]
+#define COLOR_parser___ReduceAction93___init SFT_parser[410]
+#define ID_ReduceAction94 SFT_parser[411]
+#define COLOR_ReduceAction94 SFT_parser[412]
+#define INIT_TABLE_POS_ReduceAction94 SFT_parser[413]
+#define COLOR_parser___ReduceAction94___init SFT_parser[414]
+#define ID_ReduceAction95 SFT_parser[415]
+#define COLOR_ReduceAction95 SFT_parser[416]
+#define INIT_TABLE_POS_ReduceAction95 SFT_parser[417]
+#define COLOR_parser___ReduceAction95___init SFT_parser[418]
+#define ID_ReduceAction96 SFT_parser[419]
+#define COLOR_ReduceAction96 SFT_parser[420]
+#define INIT_TABLE_POS_ReduceAction96 SFT_parser[421]
+#define COLOR_parser___ReduceAction96___init SFT_parser[422]
+#define ID_ReduceAction97 SFT_parser[423]
+#define COLOR_ReduceAction97 SFT_parser[424]
+#define INIT_TABLE_POS_ReduceAction97 SFT_parser[425]
+#define COLOR_parser___ReduceAction97___init SFT_parser[426]
+#define ID_ReduceAction98 SFT_parser[427]
+#define COLOR_ReduceAction98 SFT_parser[428]
+#define INIT_TABLE_POS_ReduceAction98 SFT_parser[429]
+#define COLOR_parser___ReduceAction98___init SFT_parser[430]
+#define ID_ReduceAction99 SFT_parser[431]
+#define COLOR_ReduceAction99 SFT_parser[432]
+#define INIT_TABLE_POS_ReduceAction99 SFT_parser[433]
+#define COLOR_parser___ReduceAction99___init SFT_parser[434]
+#define ID_ReduceAction100 SFT_parser[435]
+#define COLOR_ReduceAction100 SFT_parser[436]
+#define INIT_TABLE_POS_ReduceAction100 SFT_parser[437]
+#define COLOR_parser___ReduceAction100___init SFT_parser[438]
+#define ID_ReduceAction101 SFT_parser[439]
+#define COLOR_ReduceAction101 SFT_parser[440]
+#define INIT_TABLE_POS_ReduceAction101 SFT_parser[441]
+#define COLOR_parser___ReduceAction101___init SFT_parser[442]
+#define ID_ReduceAction102 SFT_parser[443]
+#define COLOR_ReduceAction102 SFT_parser[444]
+#define INIT_TABLE_POS_ReduceAction102 SFT_parser[445]
+#define COLOR_parser___ReduceAction102___init SFT_parser[446]
+#define ID_ReduceAction103 SFT_parser[447]
+#define COLOR_ReduceAction103 SFT_parser[448]
+#define INIT_TABLE_POS_ReduceAction103 SFT_parser[449]
+#define COLOR_parser___ReduceAction103___init SFT_parser[450]
+#define ID_ReduceAction104 SFT_parser[451]
+#define COLOR_ReduceAction104 SFT_parser[452]
+#define INIT_TABLE_POS_ReduceAction104 SFT_parser[453]
+#define COLOR_parser___ReduceAction104___init SFT_parser[454]
+#define ID_ReduceAction105 SFT_parser[455]
+#define COLOR_ReduceAction105 SFT_parser[456]
+#define INIT_TABLE_POS_ReduceAction105 SFT_parser[457]
+#define COLOR_parser___ReduceAction105___init SFT_parser[458]
+#define ID_ReduceAction106 SFT_parser[459]
+#define COLOR_ReduceAction106 SFT_parser[460]
+#define INIT_TABLE_POS_ReduceAction106 SFT_parser[461]
+#define COLOR_parser___ReduceAction106___init SFT_parser[462]
+#define ID_ReduceAction107 SFT_parser[463]
+#define COLOR_ReduceAction107 SFT_parser[464]
+#define INIT_TABLE_POS_ReduceAction107 SFT_parser[465]
+#define COLOR_parser___ReduceAction107___init SFT_parser[466]
+#define ID_ReduceAction108 SFT_parser[467]
+#define COLOR_ReduceAction108 SFT_parser[468]
+#define INIT_TABLE_POS_ReduceAction108 SFT_parser[469]
+#define COLOR_parser___ReduceAction108___init SFT_parser[470]
+#define ID_ReduceAction109 SFT_parser[471]
+#define COLOR_ReduceAction109 SFT_parser[472]
+#define INIT_TABLE_POS_ReduceAction109 SFT_parser[473]
+#define COLOR_parser___ReduceAction109___init SFT_parser[474]
+#define ID_ReduceAction110 SFT_parser[475]
+#define COLOR_ReduceAction110 SFT_parser[476]
+#define INIT_TABLE_POS_ReduceAction110 SFT_parser[477]
+#define COLOR_parser___ReduceAction110___init SFT_parser[478]
+#define ID_ReduceAction111 SFT_parser[479]
+#define COLOR_ReduceAction111 SFT_parser[480]
+#define INIT_TABLE_POS_ReduceAction111 SFT_parser[481]
+#define COLOR_parser___ReduceAction111___init SFT_parser[482]
+#define ID_ReduceAction112 SFT_parser[483]
+#define COLOR_ReduceAction112 SFT_parser[484]
+#define INIT_TABLE_POS_ReduceAction112 SFT_parser[485]
+#define COLOR_parser___ReduceAction112___init SFT_parser[486]
+#define ID_ReduceAction113 SFT_parser[487]
+#define COLOR_ReduceAction113 SFT_parser[488]
+#define INIT_TABLE_POS_ReduceAction113 SFT_parser[489]
+#define COLOR_parser___ReduceAction113___init SFT_parser[490]
+#define ID_ReduceAction114 SFT_parser[491]
+#define COLOR_ReduceAction114 SFT_parser[492]
+#define INIT_TABLE_POS_ReduceAction114 SFT_parser[493]
+#define COLOR_parser___ReduceAction114___init SFT_parser[494]
+#define ID_ReduceAction115 SFT_parser[495]
+#define COLOR_ReduceAction115 SFT_parser[496]
+#define INIT_TABLE_POS_ReduceAction115 SFT_parser[497]
+#define COLOR_parser___ReduceAction115___init SFT_parser[498]
+#define ID_ReduceAction116 SFT_parser[499]
+#define COLOR_ReduceAction116 SFT_parser[500]
+#define INIT_TABLE_POS_ReduceAction116 SFT_parser[501]
+#define COLOR_parser___ReduceAction116___init SFT_parser[502]
+#define ID_ReduceAction117 SFT_parser[503]
+#define COLOR_ReduceAction117 SFT_parser[504]
+#define INIT_TABLE_POS_ReduceAction117 SFT_parser[505]
+#define COLOR_parser___ReduceAction117___init SFT_parser[506]
+#define ID_ReduceAction118 SFT_parser[507]
+#define COLOR_ReduceAction118 SFT_parser[508]
+#define INIT_TABLE_POS_ReduceAction118 SFT_parser[509]
+#define COLOR_parser___ReduceAction118___init SFT_parser[510]
+#define ID_ReduceAction119 SFT_parser[511]
+#define COLOR_ReduceAction119 SFT_parser[512]
+#define INIT_TABLE_POS_ReduceAction119 SFT_parser[513]
+#define COLOR_parser___ReduceAction119___init SFT_parser[514]
+#define ID_ReduceAction120 SFT_parser[515]
+#define COLOR_ReduceAction120 SFT_parser[516]
+#define INIT_TABLE_POS_ReduceAction120 SFT_parser[517]
+#define COLOR_parser___ReduceAction120___init SFT_parser[518]
+#define ID_ReduceAction121 SFT_parser[519]
+#define COLOR_ReduceAction121 SFT_parser[520]
+#define INIT_TABLE_POS_ReduceAction121 SFT_parser[521]
+#define COLOR_parser___ReduceAction121___init SFT_parser[522]
+#define ID_ReduceAction122 SFT_parser[523]
+#define COLOR_ReduceAction122 SFT_parser[524]
+#define INIT_TABLE_POS_ReduceAction122 SFT_parser[525]
+#define COLOR_parser___ReduceAction122___init SFT_parser[526]
+#define ID_ReduceAction123 SFT_parser[527]
+#define COLOR_ReduceAction123 SFT_parser[528]
+#define INIT_TABLE_POS_ReduceAction123 SFT_parser[529]
+#define COLOR_parser___ReduceAction123___init SFT_parser[530]
+#define ID_ReduceAction124 SFT_parser[531]
+#define COLOR_ReduceAction124 SFT_parser[532]
+#define INIT_TABLE_POS_ReduceAction124 SFT_parser[533]
+#define COLOR_parser___ReduceAction124___init SFT_parser[534]
+#define ID_ReduceAction125 SFT_parser[535]
+#define COLOR_ReduceAction125 SFT_parser[536]
+#define INIT_TABLE_POS_ReduceAction125 SFT_parser[537]
+#define COLOR_parser___ReduceAction125___init SFT_parser[538]
+#define ID_ReduceAction126 SFT_parser[539]
+#define COLOR_ReduceAction126 SFT_parser[540]
+#define INIT_TABLE_POS_ReduceAction126 SFT_parser[541]
+#define COLOR_parser___ReduceAction126___init SFT_parser[542]
+#define ID_ReduceAction127 SFT_parser[543]
+#define COLOR_ReduceAction127 SFT_parser[544]
+#define INIT_TABLE_POS_ReduceAction127 SFT_parser[545]
+#define COLOR_parser___ReduceAction127___init SFT_parser[546]
+#define ID_ReduceAction128 SFT_parser[547]
+#define COLOR_ReduceAction128 SFT_parser[548]
+#define INIT_TABLE_POS_ReduceAction128 SFT_parser[549]
+#define COLOR_parser___ReduceAction128___init SFT_parser[550]
+#define ID_ReduceAction129 SFT_parser[551]
+#define COLOR_ReduceAction129 SFT_parser[552]
+#define INIT_TABLE_POS_ReduceAction129 SFT_parser[553]
+#define COLOR_parser___ReduceAction129___init SFT_parser[554]
+#define ID_ReduceAction130 SFT_parser[555]
+#define COLOR_ReduceAction130 SFT_parser[556]
+#define INIT_TABLE_POS_ReduceAction130 SFT_parser[557]
+#define COLOR_parser___ReduceAction130___init SFT_parser[558]
+#define ID_ReduceAction131 SFT_parser[559]
+#define COLOR_ReduceAction131 SFT_parser[560]
+#define INIT_TABLE_POS_ReduceAction131 SFT_parser[561]
+#define COLOR_parser___ReduceAction131___init SFT_parser[562]
+#define ID_ReduceAction132 SFT_parser[563]
+#define COLOR_ReduceAction132 SFT_parser[564]
+#define INIT_TABLE_POS_ReduceAction132 SFT_parser[565]
+#define COLOR_parser___ReduceAction132___init SFT_parser[566]
+#define ID_ReduceAction133 SFT_parser[567]
+#define COLOR_ReduceAction133 SFT_parser[568]
+#define INIT_TABLE_POS_ReduceAction133 SFT_parser[569]
+#define COLOR_parser___ReduceAction133___init SFT_parser[570]
+#define ID_ReduceAction134 SFT_parser[571]
+#define COLOR_ReduceAction134 SFT_parser[572]
+#define INIT_TABLE_POS_ReduceAction134 SFT_parser[573]
+#define COLOR_parser___ReduceAction134___init SFT_parser[574]
+#define ID_ReduceAction135 SFT_parser[575]
+#define COLOR_ReduceAction135 SFT_parser[576]
+#define INIT_TABLE_POS_ReduceAction135 SFT_parser[577]
+#define COLOR_parser___ReduceAction135___init SFT_parser[578]
+#define ID_ReduceAction136 SFT_parser[579]
+#define COLOR_ReduceAction136 SFT_parser[580]
+#define INIT_TABLE_POS_ReduceAction136 SFT_parser[581]
+#define COLOR_parser___ReduceAction136___init SFT_parser[582]
+#define ID_ReduceAction137 SFT_parser[583]
+#define COLOR_ReduceAction137 SFT_parser[584]
+#define INIT_TABLE_POS_ReduceAction137 SFT_parser[585]
+#define COLOR_parser___ReduceAction137___init SFT_parser[586]
+#define ID_ReduceAction138 SFT_parser[587]
+#define COLOR_ReduceAction138 SFT_parser[588]
+#define INIT_TABLE_POS_ReduceAction138 SFT_parser[589]
+#define COLOR_parser___ReduceAction138___init SFT_parser[590]
+#define ID_ReduceAction139 SFT_parser[591]
+#define COLOR_ReduceAction139 SFT_parser[592]
+#define INIT_TABLE_POS_ReduceAction139 SFT_parser[593]
+#define COLOR_parser___ReduceAction139___init SFT_parser[594]
+#define ID_ReduceAction140 SFT_parser[595]
+#define COLOR_ReduceAction140 SFT_parser[596]
+#define INIT_TABLE_POS_ReduceAction140 SFT_parser[597]
+#define COLOR_parser___ReduceAction140___init SFT_parser[598]
+#define ID_ReduceAction141 SFT_parser[599]
+#define COLOR_ReduceAction141 SFT_parser[600]
+#define INIT_TABLE_POS_ReduceAction141 SFT_parser[601]
+#define COLOR_parser___ReduceAction141___init SFT_parser[602]
+#define ID_ReduceAction142 SFT_parser[603]
+#define COLOR_ReduceAction142 SFT_parser[604]
+#define INIT_TABLE_POS_ReduceAction142 SFT_parser[605]
+#define COLOR_parser___ReduceAction142___init SFT_parser[606]
+#define ID_ReduceAction143 SFT_parser[607]
+#define COLOR_ReduceAction143 SFT_parser[608]
+#define INIT_TABLE_POS_ReduceAction143 SFT_parser[609]
+#define COLOR_parser___ReduceAction143___init SFT_parser[610]
+#define ID_ReduceAction144 SFT_parser[611]
+#define COLOR_ReduceAction144 SFT_parser[612]
+#define INIT_TABLE_POS_ReduceAction144 SFT_parser[613]
+#define COLOR_parser___ReduceAction144___init SFT_parser[614]
+#define ID_ReduceAction145 SFT_parser[615]
+#define COLOR_ReduceAction145 SFT_parser[616]
+#define INIT_TABLE_POS_ReduceAction145 SFT_parser[617]
+#define COLOR_parser___ReduceAction145___init SFT_parser[618]
+#define ID_ReduceAction146 SFT_parser[619]
+#define COLOR_ReduceAction146 SFT_parser[620]
+#define INIT_TABLE_POS_ReduceAction146 SFT_parser[621]
+#define COLOR_parser___ReduceAction146___init SFT_parser[622]
+#define ID_ReduceAction147 SFT_parser[623]
+#define COLOR_ReduceAction147 SFT_parser[624]
+#define INIT_TABLE_POS_ReduceAction147 SFT_parser[625]
+#define COLOR_parser___ReduceAction147___init SFT_parser[626]
+#define ID_ReduceAction148 SFT_parser[627]
+#define COLOR_ReduceAction148 SFT_parser[628]
+#define INIT_TABLE_POS_ReduceAction148 SFT_parser[629]
+#define COLOR_parser___ReduceAction148___init SFT_parser[630]
+#define ID_ReduceAction149 SFT_parser[631]
+#define COLOR_ReduceAction149 SFT_parser[632]
+#define INIT_TABLE_POS_ReduceAction149 SFT_parser[633]
+#define COLOR_parser___ReduceAction149___init SFT_parser[634]
+#define ID_ReduceAction150 SFT_parser[635]
+#define COLOR_ReduceAction150 SFT_parser[636]
+#define INIT_TABLE_POS_ReduceAction150 SFT_parser[637]
+#define COLOR_parser___ReduceAction150___init SFT_parser[638]
+#define ID_ReduceAction151 SFT_parser[639]
+#define COLOR_ReduceAction151 SFT_parser[640]
+#define INIT_TABLE_POS_ReduceAction151 SFT_parser[641]
+#define COLOR_parser___ReduceAction151___init SFT_parser[642]
+#define ID_ReduceAction152 SFT_parser[643]
+#define COLOR_ReduceAction152 SFT_parser[644]
+#define INIT_TABLE_POS_ReduceAction152 SFT_parser[645]
+#define COLOR_parser___ReduceAction152___init SFT_parser[646]
+#define ID_ReduceAction153 SFT_parser[647]
+#define COLOR_ReduceAction153 SFT_parser[648]
+#define INIT_TABLE_POS_ReduceAction153 SFT_parser[649]
+#define COLOR_parser___ReduceAction153___init SFT_parser[650]
+#define ID_ReduceAction154 SFT_parser[651]
+#define COLOR_ReduceAction154 SFT_parser[652]
+#define INIT_TABLE_POS_ReduceAction154 SFT_parser[653]
+#define COLOR_parser___ReduceAction154___init SFT_parser[654]
+#define ID_ReduceAction155 SFT_parser[655]
+#define COLOR_ReduceAction155 SFT_parser[656]
+#define INIT_TABLE_POS_ReduceAction155 SFT_parser[657]
+#define COLOR_parser___ReduceAction155___init SFT_parser[658]
+#define ID_ReduceAction156 SFT_parser[659]
+#define COLOR_ReduceAction156 SFT_parser[660]
+#define INIT_TABLE_POS_ReduceAction156 SFT_parser[661]
+#define COLOR_parser___ReduceAction156___init SFT_parser[662]
+#define ID_ReduceAction157 SFT_parser[663]
+#define COLOR_ReduceAction157 SFT_parser[664]
+#define INIT_TABLE_POS_ReduceAction157 SFT_parser[665]
+#define COLOR_parser___ReduceAction157___init SFT_parser[666]
+#define ID_ReduceAction158 SFT_parser[667]
+#define COLOR_ReduceAction158 SFT_parser[668]
+#define INIT_TABLE_POS_ReduceAction158 SFT_parser[669]
+#define COLOR_parser___ReduceAction158___init SFT_parser[670]
+#define ID_ReduceAction159 SFT_parser[671]
+#define COLOR_ReduceAction159 SFT_parser[672]
+#define INIT_TABLE_POS_ReduceAction159 SFT_parser[673]
+#define COLOR_parser___ReduceAction159___init SFT_parser[674]
+#define ID_ReduceAction160 SFT_parser[675]
+#define COLOR_ReduceAction160 SFT_parser[676]
+#define INIT_TABLE_POS_ReduceAction160 SFT_parser[677]
+#define COLOR_parser___ReduceAction160___init SFT_parser[678]
+#define ID_ReduceAction161 SFT_parser[679]
+#define COLOR_ReduceAction161 SFT_parser[680]
+#define INIT_TABLE_POS_ReduceAction161 SFT_parser[681]
+#define COLOR_parser___ReduceAction161___init SFT_parser[682]
+#define ID_ReduceAction162 SFT_parser[683]
+#define COLOR_ReduceAction162 SFT_parser[684]
+#define INIT_TABLE_POS_ReduceAction162 SFT_parser[685]
+#define COLOR_parser___ReduceAction162___init SFT_parser[686]
+#define ID_ReduceAction163 SFT_parser[687]
+#define COLOR_ReduceAction163 SFT_parser[688]
+#define INIT_TABLE_POS_ReduceAction163 SFT_parser[689]
+#define COLOR_parser___ReduceAction163___init SFT_parser[690]
+#define ID_ReduceAction164 SFT_parser[691]
+#define COLOR_ReduceAction164 SFT_parser[692]
+#define INIT_TABLE_POS_ReduceAction164 SFT_parser[693]
+#define COLOR_parser___ReduceAction164___init SFT_parser[694]
+#define ID_ReduceAction165 SFT_parser[695]
+#define COLOR_ReduceAction165 SFT_parser[696]
+#define INIT_TABLE_POS_ReduceAction165 SFT_parser[697]
+#define COLOR_parser___ReduceAction165___init SFT_parser[698]
+#define ID_ReduceAction166 SFT_parser[699]
+#define COLOR_ReduceAction166 SFT_parser[700]
+#define INIT_TABLE_POS_ReduceAction166 SFT_parser[701]
+#define COLOR_parser___ReduceAction166___init SFT_parser[702]
+#define ID_ReduceAction167 SFT_parser[703]
+#define COLOR_ReduceAction167 SFT_parser[704]
+#define INIT_TABLE_POS_ReduceAction167 SFT_parser[705]
+#define COLOR_parser___ReduceAction167___init SFT_parser[706]
+#define ID_ReduceAction168 SFT_parser[707]
+#define COLOR_ReduceAction168 SFT_parser[708]
+#define INIT_TABLE_POS_ReduceAction168 SFT_parser[709]
+#define COLOR_parser___ReduceAction168___init SFT_parser[710]
+#define ID_ReduceAction169 SFT_parser[711]
+#define COLOR_ReduceAction169 SFT_parser[712]
+#define INIT_TABLE_POS_ReduceAction169 SFT_parser[713]
+#define COLOR_parser___ReduceAction169___init SFT_parser[714]
+#define ID_ReduceAction170 SFT_parser[715]
+#define COLOR_ReduceAction170 SFT_parser[716]
+#define INIT_TABLE_POS_ReduceAction170 SFT_parser[717]
+#define COLOR_parser___ReduceAction170___init SFT_parser[718]
+#define ID_ReduceAction171 SFT_parser[719]
+#define COLOR_ReduceAction171 SFT_parser[720]
+#define INIT_TABLE_POS_ReduceAction171 SFT_parser[721]
+#define COLOR_parser___ReduceAction171___init SFT_parser[722]
+#define ID_ReduceAction172 SFT_parser[723]
+#define COLOR_ReduceAction172 SFT_parser[724]
+#define INIT_TABLE_POS_ReduceAction172 SFT_parser[725]
+#define COLOR_parser___ReduceAction172___init SFT_parser[726]
+#define ID_ReduceAction173 SFT_parser[727]
+#define COLOR_ReduceAction173 SFT_parser[728]
+#define INIT_TABLE_POS_ReduceAction173 SFT_parser[729]
+#define COLOR_parser___ReduceAction173___init SFT_parser[730]
+#define ID_ReduceAction174 SFT_parser[731]
+#define COLOR_ReduceAction174 SFT_parser[732]
+#define INIT_TABLE_POS_ReduceAction174 SFT_parser[733]
+#define COLOR_parser___ReduceAction174___init SFT_parser[734]
+#define ID_ReduceAction175 SFT_parser[735]
+#define COLOR_ReduceAction175 SFT_parser[736]
+#define INIT_TABLE_POS_ReduceAction175 SFT_parser[737]
+#define COLOR_parser___ReduceAction175___init SFT_parser[738]
+#define ID_ReduceAction176 SFT_parser[739]
+#define COLOR_ReduceAction176 SFT_parser[740]
+#define INIT_TABLE_POS_ReduceAction176 SFT_parser[741]
+#define COLOR_parser___ReduceAction176___init SFT_parser[742]
+#define ID_ReduceAction177 SFT_parser[743]
+#define COLOR_ReduceAction177 SFT_parser[744]
+#define INIT_TABLE_POS_ReduceAction177 SFT_parser[745]
+#define COLOR_parser___ReduceAction177___init SFT_parser[746]
+#define ID_ReduceAction178 SFT_parser[747]
+#define COLOR_ReduceAction178 SFT_parser[748]
+#define INIT_TABLE_POS_ReduceAction178 SFT_parser[749]
+#define COLOR_parser___ReduceAction178___init SFT_parser[750]
+#define ID_ReduceAction179 SFT_parser[751]
+#define COLOR_ReduceAction179 SFT_parser[752]
+#define INIT_TABLE_POS_ReduceAction179 SFT_parser[753]
+#define COLOR_parser___ReduceAction179___init SFT_parser[754]
+#define ID_ReduceAction180 SFT_parser[755]
+#define COLOR_ReduceAction180 SFT_parser[756]
+#define INIT_TABLE_POS_ReduceAction180 SFT_parser[757]
+#define COLOR_parser___ReduceAction180___init SFT_parser[758]
+#define ID_ReduceAction181 SFT_parser[759]
+#define COLOR_ReduceAction181 SFT_parser[760]
+#define INIT_TABLE_POS_ReduceAction181 SFT_parser[761]
+#define COLOR_parser___ReduceAction181___init SFT_parser[762]
+#define ID_ReduceAction182 SFT_parser[763]
+#define COLOR_ReduceAction182 SFT_parser[764]
+#define INIT_TABLE_POS_ReduceAction182 SFT_parser[765]
+#define COLOR_parser___ReduceAction182___init SFT_parser[766]
+#define ID_ReduceAction183 SFT_parser[767]
+#define COLOR_ReduceAction183 SFT_parser[768]
+#define INIT_TABLE_POS_ReduceAction183 SFT_parser[769]
+#define COLOR_parser___ReduceAction183___init SFT_parser[770]
+#define ID_ReduceAction184 SFT_parser[771]
+#define COLOR_ReduceAction184 SFT_parser[772]
+#define INIT_TABLE_POS_ReduceAction184 SFT_parser[773]
+#define COLOR_parser___ReduceAction184___init SFT_parser[774]
+#define ID_ReduceAction185 SFT_parser[775]
+#define COLOR_ReduceAction185 SFT_parser[776]
+#define INIT_TABLE_POS_ReduceAction185 SFT_parser[777]
+#define COLOR_parser___ReduceAction185___init SFT_parser[778]
+#define ID_ReduceAction186 SFT_parser[779]
+#define COLOR_ReduceAction186 SFT_parser[780]
+#define INIT_TABLE_POS_ReduceAction186 SFT_parser[781]
+#define COLOR_parser___ReduceAction186___init SFT_parser[782]
+#define ID_ReduceAction187 SFT_parser[783]
+#define COLOR_ReduceAction187 SFT_parser[784]
+#define INIT_TABLE_POS_ReduceAction187 SFT_parser[785]
+#define COLOR_parser___ReduceAction187___init SFT_parser[786]
+#define ID_ReduceAction188 SFT_parser[787]
+#define COLOR_ReduceAction188 SFT_parser[788]
+#define INIT_TABLE_POS_ReduceAction188 SFT_parser[789]
+#define COLOR_parser___ReduceAction188___init SFT_parser[790]
+#define ID_ReduceAction189 SFT_parser[791]
+#define COLOR_ReduceAction189 SFT_parser[792]
+#define INIT_TABLE_POS_ReduceAction189 SFT_parser[793]
+#define COLOR_parser___ReduceAction189___init SFT_parser[794]
+#define ID_ReduceAction190 SFT_parser[795]
+#define COLOR_ReduceAction190 SFT_parser[796]
+#define INIT_TABLE_POS_ReduceAction190 SFT_parser[797]
+#define COLOR_parser___ReduceAction190___init SFT_parser[798]
+#define ID_ReduceAction191 SFT_parser[799]
+#define COLOR_ReduceAction191 SFT_parser[800]
+#define INIT_TABLE_POS_ReduceAction191 SFT_parser[801]
+#define COLOR_parser___ReduceAction191___init SFT_parser[802]
+#define ID_ReduceAction192 SFT_parser[803]
+#define COLOR_ReduceAction192 SFT_parser[804]
+#define INIT_TABLE_POS_ReduceAction192 SFT_parser[805]
+#define COLOR_parser___ReduceAction192___init SFT_parser[806]
+#define ID_ReduceAction193 SFT_parser[807]
+#define COLOR_ReduceAction193 SFT_parser[808]
+#define INIT_TABLE_POS_ReduceAction193 SFT_parser[809]
+#define COLOR_parser___ReduceAction193___init SFT_parser[810]
+#define ID_ReduceAction194 SFT_parser[811]
+#define COLOR_ReduceAction194 SFT_parser[812]
+#define INIT_TABLE_POS_ReduceAction194 SFT_parser[813]
+#define COLOR_parser___ReduceAction194___init SFT_parser[814]
+#define ID_ReduceAction195 SFT_parser[815]
+#define COLOR_ReduceAction195 SFT_parser[816]
+#define INIT_TABLE_POS_ReduceAction195 SFT_parser[817]
+#define COLOR_parser___ReduceAction195___init SFT_parser[818]
+#define ID_ReduceAction196 SFT_parser[819]
+#define COLOR_ReduceAction196 SFT_parser[820]
+#define INIT_TABLE_POS_ReduceAction196 SFT_parser[821]
+#define COLOR_parser___ReduceAction196___init SFT_parser[822]
+#define ID_ReduceAction197 SFT_parser[823]
+#define COLOR_ReduceAction197 SFT_parser[824]
+#define INIT_TABLE_POS_ReduceAction197 SFT_parser[825]
+#define COLOR_parser___ReduceAction197___init SFT_parser[826]
+#define ID_ReduceAction198 SFT_parser[827]
+#define COLOR_ReduceAction198 SFT_parser[828]
+#define INIT_TABLE_POS_ReduceAction198 SFT_parser[829]
+#define COLOR_parser___ReduceAction198___init SFT_parser[830]
+#define ID_ReduceAction199 SFT_parser[831]
+#define COLOR_ReduceAction199 SFT_parser[832]
+#define INIT_TABLE_POS_ReduceAction199 SFT_parser[833]
+#define COLOR_parser___ReduceAction199___init SFT_parser[834]
+#define ID_ReduceAction200 SFT_parser[835]
+#define COLOR_ReduceAction200 SFT_parser[836]
+#define INIT_TABLE_POS_ReduceAction200 SFT_parser[837]
+#define COLOR_parser___ReduceAction200___init SFT_parser[838]
+#define ID_ReduceAction201 SFT_parser[839]
+#define COLOR_ReduceAction201 SFT_parser[840]
+#define INIT_TABLE_POS_ReduceAction201 SFT_parser[841]
+#define COLOR_parser___ReduceAction201___init SFT_parser[842]
+#define ID_ReduceAction202 SFT_parser[843]
+#define COLOR_ReduceAction202 SFT_parser[844]
+#define INIT_TABLE_POS_ReduceAction202 SFT_parser[845]
+#define COLOR_parser___ReduceAction202___init SFT_parser[846]
+#define ID_ReduceAction203 SFT_parser[847]
+#define COLOR_ReduceAction203 SFT_parser[848]
+#define INIT_TABLE_POS_ReduceAction203 SFT_parser[849]
+#define COLOR_parser___ReduceAction203___init SFT_parser[850]
+#define ID_ReduceAction204 SFT_parser[851]
+#define COLOR_ReduceAction204 SFT_parser[852]
+#define INIT_TABLE_POS_ReduceAction204 SFT_parser[853]
+#define COLOR_parser___ReduceAction204___init SFT_parser[854]
+#define ID_ReduceAction205 SFT_parser[855]
+#define COLOR_ReduceAction205 SFT_parser[856]
+#define INIT_TABLE_POS_ReduceAction205 SFT_parser[857]
+#define COLOR_parser___ReduceAction205___init SFT_parser[858]
+#define ID_ReduceAction206 SFT_parser[859]
+#define COLOR_ReduceAction206 SFT_parser[860]
+#define INIT_TABLE_POS_ReduceAction206 SFT_parser[861]
+#define COLOR_parser___ReduceAction206___init SFT_parser[862]
+#define ID_ReduceAction207 SFT_parser[863]
+#define COLOR_ReduceAction207 SFT_parser[864]
+#define INIT_TABLE_POS_ReduceAction207 SFT_parser[865]
+#define COLOR_parser___ReduceAction207___init SFT_parser[866]
+#define ID_ReduceAction208 SFT_parser[867]
+#define COLOR_ReduceAction208 SFT_parser[868]
+#define INIT_TABLE_POS_ReduceAction208 SFT_parser[869]
+#define COLOR_parser___ReduceAction208___init SFT_parser[870]
+#define ID_ReduceAction209 SFT_parser[871]
+#define COLOR_ReduceAction209 SFT_parser[872]
+#define INIT_TABLE_POS_ReduceAction209 SFT_parser[873]
+#define COLOR_parser___ReduceAction209___init SFT_parser[874]
+#define ID_ReduceAction210 SFT_parser[875]
+#define COLOR_ReduceAction210 SFT_parser[876]
+#define INIT_TABLE_POS_ReduceAction210 SFT_parser[877]
+#define COLOR_parser___ReduceAction210___init SFT_parser[878]
+#define ID_ReduceAction211 SFT_parser[879]
+#define COLOR_ReduceAction211 SFT_parser[880]
+#define INIT_TABLE_POS_ReduceAction211 SFT_parser[881]
+#define COLOR_parser___ReduceAction211___init SFT_parser[882]
+#define ID_ReduceAction212 SFT_parser[883]
+#define COLOR_ReduceAction212 SFT_parser[884]
+#define INIT_TABLE_POS_ReduceAction212 SFT_parser[885]
+#define COLOR_parser___ReduceAction212___init SFT_parser[886]
+#define ID_ReduceAction213 SFT_parser[887]
+#define COLOR_ReduceAction213 SFT_parser[888]
+#define INIT_TABLE_POS_ReduceAction213 SFT_parser[889]
+#define COLOR_parser___ReduceAction213___init SFT_parser[890]
+#define ID_ReduceAction214 SFT_parser[891]
+#define COLOR_ReduceAction214 SFT_parser[892]
+#define INIT_TABLE_POS_ReduceAction214 SFT_parser[893]
+#define COLOR_parser___ReduceAction214___init SFT_parser[894]
+#define ID_ReduceAction215 SFT_parser[895]
+#define COLOR_ReduceAction215 SFT_parser[896]
+#define INIT_TABLE_POS_ReduceAction215 SFT_parser[897]
+#define COLOR_parser___ReduceAction215___init SFT_parser[898]
+#define ID_ReduceAction216 SFT_parser[899]
+#define COLOR_ReduceAction216 SFT_parser[900]
+#define INIT_TABLE_POS_ReduceAction216 SFT_parser[901]
+#define COLOR_parser___ReduceAction216___init SFT_parser[902]
+#define ID_ReduceAction217 SFT_parser[903]
+#define COLOR_ReduceAction217 SFT_parser[904]
+#define INIT_TABLE_POS_ReduceAction217 SFT_parser[905]
+#define COLOR_parser___ReduceAction217___init SFT_parser[906]
+#define ID_ReduceAction218 SFT_parser[907]
+#define COLOR_ReduceAction218 SFT_parser[908]
+#define INIT_TABLE_POS_ReduceAction218 SFT_parser[909]
+#define COLOR_parser___ReduceAction218___init SFT_parser[910]
+#define ID_ReduceAction219 SFT_parser[911]
+#define COLOR_ReduceAction219 SFT_parser[912]
+#define INIT_TABLE_POS_ReduceAction219 SFT_parser[913]
+#define COLOR_parser___ReduceAction219___init SFT_parser[914]
+#define ID_ReduceAction220 SFT_parser[915]
+#define COLOR_ReduceAction220 SFT_parser[916]
+#define INIT_TABLE_POS_ReduceAction220 SFT_parser[917]
+#define COLOR_parser___ReduceAction220___init SFT_parser[918]
+#define ID_ReduceAction221 SFT_parser[919]
+#define COLOR_ReduceAction221 SFT_parser[920]
+#define INIT_TABLE_POS_ReduceAction221 SFT_parser[921]
+#define COLOR_parser___ReduceAction221___init SFT_parser[922]
+#define ID_ReduceAction222 SFT_parser[923]
+#define COLOR_ReduceAction222 SFT_parser[924]
+#define INIT_TABLE_POS_ReduceAction222 SFT_parser[925]
+#define COLOR_parser___ReduceAction222___init SFT_parser[926]
+#define ID_ReduceAction223 SFT_parser[927]
+#define COLOR_ReduceAction223 SFT_parser[928]
+#define INIT_TABLE_POS_ReduceAction223 SFT_parser[929]
+#define COLOR_parser___ReduceAction223___init SFT_parser[930]
+#define ID_ReduceAction224 SFT_parser[931]
+#define COLOR_ReduceAction224 SFT_parser[932]
+#define INIT_TABLE_POS_ReduceAction224 SFT_parser[933]
+#define COLOR_parser___ReduceAction224___init SFT_parser[934]
+#define ID_ReduceAction225 SFT_parser[935]
+#define COLOR_ReduceAction225 SFT_parser[936]
+#define INIT_TABLE_POS_ReduceAction225 SFT_parser[937]
+#define COLOR_parser___ReduceAction225___init SFT_parser[938]
+#define ID_ReduceAction226 SFT_parser[939]
+#define COLOR_ReduceAction226 SFT_parser[940]
+#define INIT_TABLE_POS_ReduceAction226 SFT_parser[941]
+#define COLOR_parser___ReduceAction226___init SFT_parser[942]
+#define ID_ReduceAction227 SFT_parser[943]
+#define COLOR_ReduceAction227 SFT_parser[944]
+#define INIT_TABLE_POS_ReduceAction227 SFT_parser[945]
+#define COLOR_parser___ReduceAction227___init SFT_parser[946]
+#define ID_ReduceAction228 SFT_parser[947]
+#define COLOR_ReduceAction228 SFT_parser[948]
+#define INIT_TABLE_POS_ReduceAction228 SFT_parser[949]
+#define COLOR_parser___ReduceAction228___init SFT_parser[950]
+#define ID_ReduceAction229 SFT_parser[951]
+#define COLOR_ReduceAction229 SFT_parser[952]
+#define INIT_TABLE_POS_ReduceAction229 SFT_parser[953]
+#define COLOR_parser___ReduceAction229___init SFT_parser[954]
+#define ID_ReduceAction230 SFT_parser[955]
+#define COLOR_ReduceAction230 SFT_parser[956]
+#define INIT_TABLE_POS_ReduceAction230 SFT_parser[957]
+#define COLOR_parser___ReduceAction230___init SFT_parser[958]
+#define ID_ReduceAction231 SFT_parser[959]
+#define COLOR_ReduceAction231 SFT_parser[960]
+#define INIT_TABLE_POS_ReduceAction231 SFT_parser[961]
+#define COLOR_parser___ReduceAction231___init SFT_parser[962]
+#define ID_ReduceAction232 SFT_parser[963]
+#define COLOR_ReduceAction232 SFT_parser[964]
+#define INIT_TABLE_POS_ReduceAction232 SFT_parser[965]
+#define COLOR_parser___ReduceAction232___init SFT_parser[966]
+#define ID_ReduceAction233 SFT_parser[967]
+#define COLOR_ReduceAction233 SFT_parser[968]
+#define INIT_TABLE_POS_ReduceAction233 SFT_parser[969]
+#define COLOR_parser___ReduceAction233___init SFT_parser[970]
+#define ID_ReduceAction234 SFT_parser[971]
+#define COLOR_ReduceAction234 SFT_parser[972]
+#define INIT_TABLE_POS_ReduceAction234 SFT_parser[973]
+#define COLOR_parser___ReduceAction234___init SFT_parser[974]
+#define ID_ReduceAction235 SFT_parser[975]
+#define COLOR_ReduceAction235 SFT_parser[976]
+#define INIT_TABLE_POS_ReduceAction235 SFT_parser[977]
+#define COLOR_parser___ReduceAction235___init SFT_parser[978]
+#define ID_ReduceAction236 SFT_parser[979]
+#define COLOR_ReduceAction236 SFT_parser[980]
+#define INIT_TABLE_POS_ReduceAction236 SFT_parser[981]
+#define COLOR_parser___ReduceAction236___init SFT_parser[982]
+#define ID_ReduceAction237 SFT_parser[983]
+#define COLOR_ReduceAction237 SFT_parser[984]
+#define INIT_TABLE_POS_ReduceAction237 SFT_parser[985]
+#define COLOR_parser___ReduceAction237___init SFT_parser[986]
+#define ID_ReduceAction238 SFT_parser[987]
+#define COLOR_ReduceAction238 SFT_parser[988]
+#define INIT_TABLE_POS_ReduceAction238 SFT_parser[989]
+#define COLOR_parser___ReduceAction238___init SFT_parser[990]
+#define ID_ReduceAction239 SFT_parser[991]
+#define COLOR_ReduceAction239 SFT_parser[992]
+#define INIT_TABLE_POS_ReduceAction239 SFT_parser[993]
+#define COLOR_parser___ReduceAction239___init SFT_parser[994]
+#define ID_ReduceAction240 SFT_parser[995]
+#define COLOR_ReduceAction240 SFT_parser[996]
+#define INIT_TABLE_POS_ReduceAction240 SFT_parser[997]
+#define COLOR_parser___ReduceAction240___init SFT_parser[998]
+#define ID_ReduceAction241 SFT_parser[999]
+#define COLOR_ReduceAction241 SFT_parser[1000]
+#define INIT_TABLE_POS_ReduceAction241 SFT_parser[1001]
+#define COLOR_parser___ReduceAction241___init SFT_parser[1002]
+#define ID_ReduceAction242 SFT_parser[1003]
+#define COLOR_ReduceAction242 SFT_parser[1004]
+#define INIT_TABLE_POS_ReduceAction242 SFT_parser[1005]
+#define COLOR_parser___ReduceAction242___init SFT_parser[1006]
+#define ID_ReduceAction243 SFT_parser[1007]
+#define COLOR_ReduceAction243 SFT_parser[1008]
+#define INIT_TABLE_POS_ReduceAction243 SFT_parser[1009]
+#define COLOR_parser___ReduceAction243___init SFT_parser[1010]
+#define ID_ReduceAction244 SFT_parser[1011]
+#define COLOR_ReduceAction244 SFT_parser[1012]
+#define INIT_TABLE_POS_ReduceAction244 SFT_parser[1013]
+#define COLOR_parser___ReduceAction244___init SFT_parser[1014]
+#define ID_ReduceAction245 SFT_parser[1015]
+#define COLOR_ReduceAction245 SFT_parser[1016]
+#define INIT_TABLE_POS_ReduceAction245 SFT_parser[1017]
+#define COLOR_parser___ReduceAction245___init SFT_parser[1018]
+#define ID_ReduceAction246 SFT_parser[1019]
+#define COLOR_ReduceAction246 SFT_parser[1020]
+#define INIT_TABLE_POS_ReduceAction246 SFT_parser[1021]
+#define COLOR_parser___ReduceAction246___init SFT_parser[1022]
+#define ID_ReduceAction247 SFT_parser[1023]
+#define COLOR_ReduceAction247 SFT_parser[1024]
+#define INIT_TABLE_POS_ReduceAction247 SFT_parser[1025]
+#define COLOR_parser___ReduceAction247___init SFT_parser[1026]
+#define ID_ReduceAction248 SFT_parser[1027]
+#define COLOR_ReduceAction248 SFT_parser[1028]
+#define INIT_TABLE_POS_ReduceAction248 SFT_parser[1029]
+#define COLOR_parser___ReduceAction248___init SFT_parser[1030]
+#define ID_ReduceAction249 SFT_parser[1031]
+#define COLOR_ReduceAction249 SFT_parser[1032]
+#define INIT_TABLE_POS_ReduceAction249 SFT_parser[1033]
+#define COLOR_parser___ReduceAction249___init SFT_parser[1034]
+#define ID_ReduceAction250 SFT_parser[1035]
+#define COLOR_ReduceAction250 SFT_parser[1036]
+#define INIT_TABLE_POS_ReduceAction250 SFT_parser[1037]
+#define COLOR_parser___ReduceAction250___init SFT_parser[1038]
+#define ID_ReduceAction251 SFT_parser[1039]
+#define COLOR_ReduceAction251 SFT_parser[1040]
+#define INIT_TABLE_POS_ReduceAction251 SFT_parser[1041]
+#define COLOR_parser___ReduceAction251___init SFT_parser[1042]
+#define ID_ReduceAction252 SFT_parser[1043]
+#define COLOR_ReduceAction252 SFT_parser[1044]
+#define INIT_TABLE_POS_ReduceAction252 SFT_parser[1045]
+#define COLOR_parser___ReduceAction252___init SFT_parser[1046]
+#define ID_ReduceAction253 SFT_parser[1047]
+#define COLOR_ReduceAction253 SFT_parser[1048]
+#define INIT_TABLE_POS_ReduceAction253 SFT_parser[1049]
+#define COLOR_parser___ReduceAction253___init SFT_parser[1050]
+#define ID_ReduceAction254 SFT_parser[1051]
+#define COLOR_ReduceAction254 SFT_parser[1052]
+#define INIT_TABLE_POS_ReduceAction254 SFT_parser[1053]
+#define COLOR_parser___ReduceAction254___init SFT_parser[1054]
+#define ID_ReduceAction255 SFT_parser[1055]
+#define COLOR_ReduceAction255 SFT_parser[1056]
+#define INIT_TABLE_POS_ReduceAction255 SFT_parser[1057]
+#define COLOR_parser___ReduceAction255___init SFT_parser[1058]
+#define ID_ReduceAction256 SFT_parser[1059]
+#define COLOR_ReduceAction256 SFT_parser[1060]
+#define INIT_TABLE_POS_ReduceAction256 SFT_parser[1061]
+#define COLOR_parser___ReduceAction256___init SFT_parser[1062]
+#define ID_ReduceAction257 SFT_parser[1063]
+#define COLOR_ReduceAction257 SFT_parser[1064]
+#define INIT_TABLE_POS_ReduceAction257 SFT_parser[1065]
+#define COLOR_parser___ReduceAction257___init SFT_parser[1066]
+#define ID_ReduceAction258 SFT_parser[1067]
+#define COLOR_ReduceAction258 SFT_parser[1068]
+#define INIT_TABLE_POS_ReduceAction258 SFT_parser[1069]
+#define COLOR_parser___ReduceAction258___init SFT_parser[1070]
+#define ID_ReduceAction259 SFT_parser[1071]
+#define COLOR_ReduceAction259 SFT_parser[1072]
+#define INIT_TABLE_POS_ReduceAction259 SFT_parser[1073]
+#define COLOR_parser___ReduceAction259___init SFT_parser[1074]
+#define ID_ReduceAction260 SFT_parser[1075]
+#define COLOR_ReduceAction260 SFT_parser[1076]
+#define INIT_TABLE_POS_ReduceAction260 SFT_parser[1077]
+#define COLOR_parser___ReduceAction260___init SFT_parser[1078]
+#define ID_ReduceAction261 SFT_parser[1079]
+#define COLOR_ReduceAction261 SFT_parser[1080]
+#define INIT_TABLE_POS_ReduceAction261 SFT_parser[1081]
+#define COLOR_parser___ReduceAction261___init SFT_parser[1082]
+#define ID_ReduceAction262 SFT_parser[1083]
+#define COLOR_ReduceAction262 SFT_parser[1084]
+#define INIT_TABLE_POS_ReduceAction262 SFT_parser[1085]
+#define COLOR_parser___ReduceAction262___init SFT_parser[1086]
+#define ID_ReduceAction263 SFT_parser[1087]
+#define COLOR_ReduceAction263 SFT_parser[1088]
+#define INIT_TABLE_POS_ReduceAction263 SFT_parser[1089]
+#define COLOR_parser___ReduceAction263___init SFT_parser[1090]
+#define ID_ReduceAction264 SFT_parser[1091]
+#define COLOR_ReduceAction264 SFT_parser[1092]
+#define INIT_TABLE_POS_ReduceAction264 SFT_parser[1093]
+#define COLOR_parser___ReduceAction264___init SFT_parser[1094]
+#define ID_ReduceAction265 SFT_parser[1095]
+#define COLOR_ReduceAction265 SFT_parser[1096]
+#define INIT_TABLE_POS_ReduceAction265 SFT_parser[1097]
+#define COLOR_parser___ReduceAction265___init SFT_parser[1098]
+#define ID_ReduceAction266 SFT_parser[1099]
+#define COLOR_ReduceAction266 SFT_parser[1100]
+#define INIT_TABLE_POS_ReduceAction266 SFT_parser[1101]
+#define COLOR_parser___ReduceAction266___init SFT_parser[1102]
+#define ID_ReduceAction267 SFT_parser[1103]
+#define COLOR_ReduceAction267 SFT_parser[1104]
+#define INIT_TABLE_POS_ReduceAction267 SFT_parser[1105]
+#define COLOR_parser___ReduceAction267___init SFT_parser[1106]
+#define ID_ReduceAction268 SFT_parser[1107]
+#define COLOR_ReduceAction268 SFT_parser[1108]
+#define INIT_TABLE_POS_ReduceAction268 SFT_parser[1109]
+#define COLOR_parser___ReduceAction268___init SFT_parser[1110]
+#define ID_ReduceAction269 SFT_parser[1111]
+#define COLOR_ReduceAction269 SFT_parser[1112]
+#define INIT_TABLE_POS_ReduceAction269 SFT_parser[1113]
+#define COLOR_parser___ReduceAction269___init SFT_parser[1114]
+#define ID_ReduceAction270 SFT_parser[1115]
+#define COLOR_ReduceAction270 SFT_parser[1116]
+#define INIT_TABLE_POS_ReduceAction270 SFT_parser[1117]
+#define COLOR_parser___ReduceAction270___init SFT_parser[1118]
+#define ID_ReduceAction271 SFT_parser[1119]
+#define COLOR_ReduceAction271 SFT_parser[1120]
+#define INIT_TABLE_POS_ReduceAction271 SFT_parser[1121]
+#define COLOR_parser___ReduceAction271___init SFT_parser[1122]
+#define ID_ReduceAction272 SFT_parser[1123]
+#define COLOR_ReduceAction272 SFT_parser[1124]
+#define INIT_TABLE_POS_ReduceAction272 SFT_parser[1125]
+#define COLOR_parser___ReduceAction272___init SFT_parser[1126]
+#define ID_ReduceAction273 SFT_parser[1127]
+#define COLOR_ReduceAction273 SFT_parser[1128]
+#define INIT_TABLE_POS_ReduceAction273 SFT_parser[1129]
+#define COLOR_parser___ReduceAction273___init SFT_parser[1130]
+#define ID_ReduceAction274 SFT_parser[1131]
+#define COLOR_ReduceAction274 SFT_parser[1132]
+#define INIT_TABLE_POS_ReduceAction274 SFT_parser[1133]
+#define COLOR_parser___ReduceAction274___init SFT_parser[1134]
+#define ID_ReduceAction275 SFT_parser[1135]
+#define COLOR_ReduceAction275 SFT_parser[1136]
+#define INIT_TABLE_POS_ReduceAction275 SFT_parser[1137]
+#define COLOR_parser___ReduceAction275___init SFT_parser[1138]
+#define ID_ReduceAction276 SFT_parser[1139]
+#define COLOR_ReduceAction276 SFT_parser[1140]
+#define INIT_TABLE_POS_ReduceAction276 SFT_parser[1141]
+#define COLOR_parser___ReduceAction276___init SFT_parser[1142]
+#define ID_ReduceAction277 SFT_parser[1143]
+#define COLOR_ReduceAction277 SFT_parser[1144]
+#define INIT_TABLE_POS_ReduceAction277 SFT_parser[1145]
+#define COLOR_parser___ReduceAction277___init SFT_parser[1146]
+#define ID_ReduceAction278 SFT_parser[1147]
+#define COLOR_ReduceAction278 SFT_parser[1148]
+#define INIT_TABLE_POS_ReduceAction278 SFT_parser[1149]
+#define COLOR_parser___ReduceAction278___init SFT_parser[1150]
+#define ID_ReduceAction279 SFT_parser[1151]
+#define COLOR_ReduceAction279 SFT_parser[1152]
+#define INIT_TABLE_POS_ReduceAction279 SFT_parser[1153]
+#define COLOR_parser___ReduceAction279___init SFT_parser[1154]
+#define ID_ReduceAction280 SFT_parser[1155]
+#define COLOR_ReduceAction280 SFT_parser[1156]
+#define INIT_TABLE_POS_ReduceAction280 SFT_parser[1157]
+#define COLOR_parser___ReduceAction280___init SFT_parser[1158]
+#define ID_ReduceAction281 SFT_parser[1159]
+#define COLOR_ReduceAction281 SFT_parser[1160]
+#define INIT_TABLE_POS_ReduceAction281 SFT_parser[1161]
+#define COLOR_parser___ReduceAction281___init SFT_parser[1162]
+#define ID_ReduceAction282 SFT_parser[1163]
+#define COLOR_ReduceAction282 SFT_parser[1164]
+#define INIT_TABLE_POS_ReduceAction282 SFT_parser[1165]
+#define COLOR_parser___ReduceAction282___init SFT_parser[1166]
+#define ID_ReduceAction283 SFT_parser[1167]
+#define COLOR_ReduceAction283 SFT_parser[1168]
+#define INIT_TABLE_POS_ReduceAction283 SFT_parser[1169]
+#define COLOR_parser___ReduceAction283___init SFT_parser[1170]
+#define ID_ReduceAction284 SFT_parser[1171]
+#define COLOR_ReduceAction284 SFT_parser[1172]
+#define INIT_TABLE_POS_ReduceAction284 SFT_parser[1173]
+#define COLOR_parser___ReduceAction284___init SFT_parser[1174]
+#define ID_ReduceAction285 SFT_parser[1175]
+#define COLOR_ReduceAction285 SFT_parser[1176]
+#define INIT_TABLE_POS_ReduceAction285 SFT_parser[1177]
+#define COLOR_parser___ReduceAction285___init SFT_parser[1178]
+#define ID_ReduceAction286 SFT_parser[1179]
+#define COLOR_ReduceAction286 SFT_parser[1180]
+#define INIT_TABLE_POS_ReduceAction286 SFT_parser[1181]
+#define COLOR_parser___ReduceAction286___init SFT_parser[1182]
+#define ID_ReduceAction287 SFT_parser[1183]
+#define COLOR_ReduceAction287 SFT_parser[1184]
+#define INIT_TABLE_POS_ReduceAction287 SFT_parser[1185]
+#define COLOR_parser___ReduceAction287___init SFT_parser[1186]
+#define ID_ReduceAction288 SFT_parser[1187]
+#define COLOR_ReduceAction288 SFT_parser[1188]
+#define INIT_TABLE_POS_ReduceAction288 SFT_parser[1189]
+#define COLOR_parser___ReduceAction288___init SFT_parser[1190]
+#define ID_ReduceAction289 SFT_parser[1191]
+#define COLOR_ReduceAction289 SFT_parser[1192]
+#define INIT_TABLE_POS_ReduceAction289 SFT_parser[1193]
+#define COLOR_parser___ReduceAction289___init SFT_parser[1194]
+#define ID_ReduceAction290 SFT_parser[1195]
+#define COLOR_ReduceAction290 SFT_parser[1196]
+#define INIT_TABLE_POS_ReduceAction290 SFT_parser[1197]
+#define COLOR_parser___ReduceAction290___init SFT_parser[1198]
+#define ID_ReduceAction291 SFT_parser[1199]
+#define COLOR_ReduceAction291 SFT_parser[1200]
+#define INIT_TABLE_POS_ReduceAction291 SFT_parser[1201]
+#define COLOR_parser___ReduceAction291___init SFT_parser[1202]
+#define ID_ReduceAction292 SFT_parser[1203]
+#define COLOR_ReduceAction292 SFT_parser[1204]
+#define INIT_TABLE_POS_ReduceAction292 SFT_parser[1205]
+#define COLOR_parser___ReduceAction292___init SFT_parser[1206]
+#define ID_ReduceAction293 SFT_parser[1207]
+#define COLOR_ReduceAction293 SFT_parser[1208]
+#define INIT_TABLE_POS_ReduceAction293 SFT_parser[1209]
+#define COLOR_parser___ReduceAction293___init SFT_parser[1210]
+#define ID_ReduceAction294 SFT_parser[1211]
+#define COLOR_ReduceAction294 SFT_parser[1212]
+#define INIT_TABLE_POS_ReduceAction294 SFT_parser[1213]
+#define COLOR_parser___ReduceAction294___init SFT_parser[1214]
+#define ID_ReduceAction295 SFT_parser[1215]
+#define COLOR_ReduceAction295 SFT_parser[1216]
+#define INIT_TABLE_POS_ReduceAction295 SFT_parser[1217]
+#define COLOR_parser___ReduceAction295___init SFT_parser[1218]
+#define ID_ReduceAction296 SFT_parser[1219]
+#define COLOR_ReduceAction296 SFT_parser[1220]
+#define INIT_TABLE_POS_ReduceAction296 SFT_parser[1221]
+#define COLOR_parser___ReduceAction296___init SFT_parser[1222]
+#define ID_ReduceAction297 SFT_parser[1223]
+#define COLOR_ReduceAction297 SFT_parser[1224]
+#define INIT_TABLE_POS_ReduceAction297 SFT_parser[1225]
+#define COLOR_parser___ReduceAction297___init SFT_parser[1226]
+#define ID_ReduceAction298 SFT_parser[1227]
+#define COLOR_ReduceAction298 SFT_parser[1228]
+#define INIT_TABLE_POS_ReduceAction298 SFT_parser[1229]
+#define COLOR_parser___ReduceAction298___init SFT_parser[1230]
+#define ID_ReduceAction299 SFT_parser[1231]
+#define COLOR_ReduceAction299 SFT_parser[1232]
+#define INIT_TABLE_POS_ReduceAction299 SFT_parser[1233]
+#define COLOR_parser___ReduceAction299___init SFT_parser[1234]
+#define ID_ReduceAction300 SFT_parser[1235]
+#define COLOR_ReduceAction300 SFT_parser[1236]
+#define INIT_TABLE_POS_ReduceAction300 SFT_parser[1237]
+#define COLOR_parser___ReduceAction300___init SFT_parser[1238]
+#define ID_ReduceAction301 SFT_parser[1239]
+#define COLOR_ReduceAction301 SFT_parser[1240]
+#define INIT_TABLE_POS_ReduceAction301 SFT_parser[1241]
+#define COLOR_parser___ReduceAction301___init SFT_parser[1242]
+#define ID_ReduceAction302 SFT_parser[1243]
+#define COLOR_ReduceAction302 SFT_parser[1244]
+#define INIT_TABLE_POS_ReduceAction302 SFT_parser[1245]
+#define COLOR_parser___ReduceAction302___init SFT_parser[1246]
+#define ID_ReduceAction303 SFT_parser[1247]
+#define COLOR_ReduceAction303 SFT_parser[1248]
+#define INIT_TABLE_POS_ReduceAction303 SFT_parser[1249]
+#define COLOR_parser___ReduceAction303___init SFT_parser[1250]
+#define ID_ReduceAction304 SFT_parser[1251]
+#define COLOR_ReduceAction304 SFT_parser[1252]
+#define INIT_TABLE_POS_ReduceAction304 SFT_parser[1253]
+#define COLOR_parser___ReduceAction304___init SFT_parser[1254]
+#define ID_ReduceAction305 SFT_parser[1255]
+#define COLOR_ReduceAction305 SFT_parser[1256]
+#define INIT_TABLE_POS_ReduceAction305 SFT_parser[1257]
+#define COLOR_parser___ReduceAction305___init SFT_parser[1258]
+#define ID_ReduceAction306 SFT_parser[1259]
+#define COLOR_ReduceAction306 SFT_parser[1260]
+#define INIT_TABLE_POS_ReduceAction306 SFT_parser[1261]
+#define COLOR_parser___ReduceAction306___init SFT_parser[1262]
+#define ID_ReduceAction307 SFT_parser[1263]
+#define COLOR_ReduceAction307 SFT_parser[1264]
+#define INIT_TABLE_POS_ReduceAction307 SFT_parser[1265]
+#define COLOR_parser___ReduceAction307___init SFT_parser[1266]
+#define ID_ReduceAction308 SFT_parser[1267]
+#define COLOR_ReduceAction308 SFT_parser[1268]
+#define INIT_TABLE_POS_ReduceAction308 SFT_parser[1269]
+#define COLOR_parser___ReduceAction308___init SFT_parser[1270]
+#define ID_ReduceAction309 SFT_parser[1271]
+#define COLOR_ReduceAction309 SFT_parser[1272]
+#define INIT_TABLE_POS_ReduceAction309 SFT_parser[1273]
+#define COLOR_parser___ReduceAction309___init SFT_parser[1274]
+#define ID_ReduceAction310 SFT_parser[1275]
+#define COLOR_ReduceAction310 SFT_parser[1276]
+#define INIT_TABLE_POS_ReduceAction310 SFT_parser[1277]
+#define COLOR_parser___ReduceAction310___init SFT_parser[1278]
+#define ID_ReduceAction311 SFT_parser[1279]
+#define COLOR_ReduceAction311 SFT_parser[1280]
+#define INIT_TABLE_POS_ReduceAction311 SFT_parser[1281]
+#define COLOR_parser___ReduceAction311___init SFT_parser[1282]
+#define ID_ReduceAction312 SFT_parser[1283]
+#define COLOR_ReduceAction312 SFT_parser[1284]
+#define INIT_TABLE_POS_ReduceAction312 SFT_parser[1285]
+#define COLOR_parser___ReduceAction312___init SFT_parser[1286]
+#define ID_ReduceAction313 SFT_parser[1287]
+#define COLOR_ReduceAction313 SFT_parser[1288]
+#define INIT_TABLE_POS_ReduceAction313 SFT_parser[1289]
+#define COLOR_parser___ReduceAction313___init SFT_parser[1290]
+#define ID_ReduceAction314 SFT_parser[1291]
+#define COLOR_ReduceAction314 SFT_parser[1292]
+#define INIT_TABLE_POS_ReduceAction314 SFT_parser[1293]
+#define COLOR_parser___ReduceAction314___init SFT_parser[1294]
+#define ID_ReduceAction315 SFT_parser[1295]
+#define COLOR_ReduceAction315 SFT_parser[1296]
+#define INIT_TABLE_POS_ReduceAction315 SFT_parser[1297]
+#define COLOR_parser___ReduceAction315___init SFT_parser[1298]
+#define ID_ReduceAction316 SFT_parser[1299]
+#define COLOR_ReduceAction316 SFT_parser[1300]
+#define INIT_TABLE_POS_ReduceAction316 SFT_parser[1301]
+#define COLOR_parser___ReduceAction316___init SFT_parser[1302]
+#define ID_ReduceAction317 SFT_parser[1303]
+#define COLOR_ReduceAction317 SFT_parser[1304]
+#define INIT_TABLE_POS_ReduceAction317 SFT_parser[1305]
+#define COLOR_parser___ReduceAction317___init SFT_parser[1306]
+#define ID_ReduceAction318 SFT_parser[1307]
+#define COLOR_ReduceAction318 SFT_parser[1308]
+#define INIT_TABLE_POS_ReduceAction318 SFT_parser[1309]
+#define COLOR_parser___ReduceAction318___init SFT_parser[1310]
+#define ID_ReduceAction319 SFT_parser[1311]
+#define COLOR_ReduceAction319 SFT_parser[1312]
+#define INIT_TABLE_POS_ReduceAction319 SFT_parser[1313]
+#define COLOR_parser___ReduceAction319___init SFT_parser[1314]
+#define ID_ReduceAction320 SFT_parser[1315]
+#define COLOR_ReduceAction320 SFT_parser[1316]
+#define INIT_TABLE_POS_ReduceAction320 SFT_parser[1317]
+#define COLOR_parser___ReduceAction320___init SFT_parser[1318]
+#define ID_ReduceAction321 SFT_parser[1319]
+#define COLOR_ReduceAction321 SFT_parser[1320]
+#define INIT_TABLE_POS_ReduceAction321 SFT_parser[1321]
+#define COLOR_parser___ReduceAction321___init SFT_parser[1322]
+#define ID_ReduceAction322 SFT_parser[1323]
+#define COLOR_ReduceAction322 SFT_parser[1324]
+#define INIT_TABLE_POS_ReduceAction322 SFT_parser[1325]
+#define COLOR_parser___ReduceAction322___init SFT_parser[1326]
+#define ID_ReduceAction323 SFT_parser[1327]
+#define COLOR_ReduceAction323 SFT_parser[1328]
+#define INIT_TABLE_POS_ReduceAction323 SFT_parser[1329]
+#define COLOR_parser___ReduceAction323___init SFT_parser[1330]
+#define ID_ReduceAction324 SFT_parser[1331]
+#define COLOR_ReduceAction324 SFT_parser[1332]
+#define INIT_TABLE_POS_ReduceAction324 SFT_parser[1333]
+#define COLOR_parser___ReduceAction324___init SFT_parser[1334]
+#define ID_ReduceAction325 SFT_parser[1335]
+#define COLOR_ReduceAction325 SFT_parser[1336]
+#define INIT_TABLE_POS_ReduceAction325 SFT_parser[1337]
+#define COLOR_parser___ReduceAction325___init SFT_parser[1338]
+#define ID_ReduceAction326 SFT_parser[1339]
+#define COLOR_ReduceAction326 SFT_parser[1340]
+#define INIT_TABLE_POS_ReduceAction326 SFT_parser[1341]
+#define COLOR_parser___ReduceAction326___init SFT_parser[1342]
+#define ID_ReduceAction327 SFT_parser[1343]
+#define COLOR_ReduceAction327 SFT_parser[1344]
+#define INIT_TABLE_POS_ReduceAction327 SFT_parser[1345]
+#define COLOR_parser___ReduceAction327___init SFT_parser[1346]
+#define ID_ReduceAction328 SFT_parser[1347]
+#define COLOR_ReduceAction328 SFT_parser[1348]
+#define INIT_TABLE_POS_ReduceAction328 SFT_parser[1349]
+#define COLOR_parser___ReduceAction328___init SFT_parser[1350]
+#define ID_ReduceAction329 SFT_parser[1351]
+#define COLOR_ReduceAction329 SFT_parser[1352]
+#define INIT_TABLE_POS_ReduceAction329 SFT_parser[1353]
+#define COLOR_parser___ReduceAction329___init SFT_parser[1354]
+#define ID_ReduceAction330 SFT_parser[1355]
+#define COLOR_ReduceAction330 SFT_parser[1356]
+#define INIT_TABLE_POS_ReduceAction330 SFT_parser[1357]
+#define COLOR_parser___ReduceAction330___init SFT_parser[1358]
+#define ID_ReduceAction331 SFT_parser[1359]
+#define COLOR_ReduceAction331 SFT_parser[1360]
+#define INIT_TABLE_POS_ReduceAction331 SFT_parser[1361]
+#define COLOR_parser___ReduceAction331___init SFT_parser[1362]
+#define ID_ReduceAction332 SFT_parser[1363]
+#define COLOR_ReduceAction332 SFT_parser[1364]
+#define INIT_TABLE_POS_ReduceAction332 SFT_parser[1365]
+#define COLOR_parser___ReduceAction332___init SFT_parser[1366]
+#define ID_ReduceAction333 SFT_parser[1367]
+#define COLOR_ReduceAction333 SFT_parser[1368]
+#define INIT_TABLE_POS_ReduceAction333 SFT_parser[1369]
+#define COLOR_parser___ReduceAction333___init SFT_parser[1370]
+#define ID_ReduceAction334 SFT_parser[1371]
+#define COLOR_ReduceAction334 SFT_parser[1372]
+#define INIT_TABLE_POS_ReduceAction334 SFT_parser[1373]
+#define COLOR_parser___ReduceAction334___init SFT_parser[1374]
+#define ID_ReduceAction335 SFT_parser[1375]
+#define COLOR_ReduceAction335 SFT_parser[1376]
+#define INIT_TABLE_POS_ReduceAction335 SFT_parser[1377]
+#define COLOR_parser___ReduceAction335___init SFT_parser[1378]
+#define ID_ReduceAction336 SFT_parser[1379]
+#define COLOR_ReduceAction336 SFT_parser[1380]
+#define INIT_TABLE_POS_ReduceAction336 SFT_parser[1381]
+#define COLOR_parser___ReduceAction336___init SFT_parser[1382]
+#define ID_ReduceAction337 SFT_parser[1383]
+#define COLOR_ReduceAction337 SFT_parser[1384]
+#define INIT_TABLE_POS_ReduceAction337 SFT_parser[1385]
+#define COLOR_parser___ReduceAction337___init SFT_parser[1386]
+#define ID_ReduceAction338 SFT_parser[1387]
+#define COLOR_ReduceAction338 SFT_parser[1388]
+#define INIT_TABLE_POS_ReduceAction338 SFT_parser[1389]
+#define COLOR_parser___ReduceAction338___init SFT_parser[1390]
+#define ID_ReduceAction339 SFT_parser[1391]
+#define COLOR_ReduceAction339 SFT_parser[1392]
+#define INIT_TABLE_POS_ReduceAction339 SFT_parser[1393]
+#define COLOR_parser___ReduceAction339___init SFT_parser[1394]
+#define ID_ReduceAction340 SFT_parser[1395]
+#define COLOR_ReduceAction340 SFT_parser[1396]
+#define INIT_TABLE_POS_ReduceAction340 SFT_parser[1397]
+#define COLOR_parser___ReduceAction340___init SFT_parser[1398]
+#define ID_ReduceAction341 SFT_parser[1399]
+#define COLOR_ReduceAction341 SFT_parser[1400]
+#define INIT_TABLE_POS_ReduceAction341 SFT_parser[1401]
+#define COLOR_parser___ReduceAction341___init SFT_parser[1402]
+#define ID_ReduceAction342 SFT_parser[1403]
+#define COLOR_ReduceAction342 SFT_parser[1404]
+#define INIT_TABLE_POS_ReduceAction342 SFT_parser[1405]
+#define COLOR_parser___ReduceAction342___init SFT_parser[1406]
+#define ID_ReduceAction343 SFT_parser[1407]
+#define COLOR_ReduceAction343 SFT_parser[1408]
+#define INIT_TABLE_POS_ReduceAction343 SFT_parser[1409]
+#define COLOR_parser___ReduceAction343___init SFT_parser[1410]
+#define ID_ReduceAction344 SFT_parser[1411]
+#define COLOR_ReduceAction344 SFT_parser[1412]
+#define INIT_TABLE_POS_ReduceAction344 SFT_parser[1413]
+#define COLOR_parser___ReduceAction344___init SFT_parser[1414]
+#define ID_ReduceAction345 SFT_parser[1415]
+#define COLOR_ReduceAction345 SFT_parser[1416]
+#define INIT_TABLE_POS_ReduceAction345 SFT_parser[1417]
+#define COLOR_parser___ReduceAction345___init SFT_parser[1418]
+#define ID_ReduceAction346 SFT_parser[1419]
+#define COLOR_ReduceAction346 SFT_parser[1420]
+#define INIT_TABLE_POS_ReduceAction346 SFT_parser[1421]
+#define COLOR_parser___ReduceAction346___init SFT_parser[1422]
+#define ID_ReduceAction347 SFT_parser[1423]
+#define COLOR_ReduceAction347 SFT_parser[1424]
+#define INIT_TABLE_POS_ReduceAction347 SFT_parser[1425]
+#define COLOR_parser___ReduceAction347___init SFT_parser[1426]
+#define ID_ReduceAction348 SFT_parser[1427]
+#define COLOR_ReduceAction348 SFT_parser[1428]
+#define INIT_TABLE_POS_ReduceAction348 SFT_parser[1429]
+#define COLOR_parser___ReduceAction348___init SFT_parser[1430]
+#define ID_ReduceAction349 SFT_parser[1431]
+#define COLOR_ReduceAction349 SFT_parser[1432]
+#define INIT_TABLE_POS_ReduceAction349 SFT_parser[1433]
+#define COLOR_parser___ReduceAction349___init SFT_parser[1434]
+#define ID_ReduceAction350 SFT_parser[1435]
+#define COLOR_ReduceAction350 SFT_parser[1436]
+#define INIT_TABLE_POS_ReduceAction350 SFT_parser[1437]
+#define COLOR_parser___ReduceAction350___init SFT_parser[1438]
+#define ID_ReduceAction351 SFT_parser[1439]
+#define COLOR_ReduceAction351 SFT_parser[1440]
+#define INIT_TABLE_POS_ReduceAction351 SFT_parser[1441]
+#define COLOR_parser___ReduceAction351___init SFT_parser[1442]
+#define ID_ReduceAction352 SFT_parser[1443]
+#define COLOR_ReduceAction352 SFT_parser[1444]
+#define INIT_TABLE_POS_ReduceAction352 SFT_parser[1445]
+#define COLOR_parser___ReduceAction352___init SFT_parser[1446]
+#define ID_ReduceAction353 SFT_parser[1447]
+#define COLOR_ReduceAction353 SFT_parser[1448]
+#define INIT_TABLE_POS_ReduceAction353 SFT_parser[1449]
+#define COLOR_parser___ReduceAction353___init SFT_parser[1450]
+#define ID_ReduceAction354 SFT_parser[1451]
+#define COLOR_ReduceAction354 SFT_parser[1452]
+#define INIT_TABLE_POS_ReduceAction354 SFT_parser[1453]
+#define COLOR_parser___ReduceAction354___init SFT_parser[1454]
+#define ID_ReduceAction355 SFT_parser[1455]
+#define COLOR_ReduceAction355 SFT_parser[1456]
+#define INIT_TABLE_POS_ReduceAction355 SFT_parser[1457]
+#define COLOR_parser___ReduceAction355___init SFT_parser[1458]
+#define ID_ReduceAction356 SFT_parser[1459]
+#define COLOR_ReduceAction356 SFT_parser[1460]
+#define INIT_TABLE_POS_ReduceAction356 SFT_parser[1461]
+#define COLOR_parser___ReduceAction356___init SFT_parser[1462]
+#define ID_ReduceAction357 SFT_parser[1463]
+#define COLOR_ReduceAction357 SFT_parser[1464]
+#define INIT_TABLE_POS_ReduceAction357 SFT_parser[1465]
+#define COLOR_parser___ReduceAction357___init SFT_parser[1466]
+#define ID_ReduceAction358 SFT_parser[1467]
+#define COLOR_ReduceAction358 SFT_parser[1468]
+#define INIT_TABLE_POS_ReduceAction358 SFT_parser[1469]
+#define COLOR_parser___ReduceAction358___init SFT_parser[1470]
+#define ID_ReduceAction359 SFT_parser[1471]
+#define COLOR_ReduceAction359 SFT_parser[1472]
+#define INIT_TABLE_POS_ReduceAction359 SFT_parser[1473]
+#define COLOR_parser___ReduceAction359___init SFT_parser[1474]
+#define ID_ReduceAction360 SFT_parser[1475]
+#define COLOR_ReduceAction360 SFT_parser[1476]
+#define INIT_TABLE_POS_ReduceAction360 SFT_parser[1477]
+#define COLOR_parser___ReduceAction360___init SFT_parser[1478]
+#define ID_ReduceAction361 SFT_parser[1479]
+#define COLOR_ReduceAction361 SFT_parser[1480]
+#define INIT_TABLE_POS_ReduceAction361 SFT_parser[1481]
+#define COLOR_parser___ReduceAction361___init SFT_parser[1482]
+#define ID_ReduceAction362 SFT_parser[1483]
+#define COLOR_ReduceAction362 SFT_parser[1484]
+#define INIT_TABLE_POS_ReduceAction362 SFT_parser[1485]
+#define COLOR_parser___ReduceAction362___init SFT_parser[1486]
+#define ID_ReduceAction363 SFT_parser[1487]
+#define COLOR_ReduceAction363 SFT_parser[1488]
+#define INIT_TABLE_POS_ReduceAction363 SFT_parser[1489]
+#define COLOR_parser___ReduceAction363___init SFT_parser[1490]
+#define ID_ReduceAction364 SFT_parser[1491]
+#define COLOR_ReduceAction364 SFT_parser[1492]
+#define INIT_TABLE_POS_ReduceAction364 SFT_parser[1493]
+#define COLOR_parser___ReduceAction364___init SFT_parser[1494]
+#define ID_ReduceAction365 SFT_parser[1495]
+#define COLOR_ReduceAction365 SFT_parser[1496]
+#define INIT_TABLE_POS_ReduceAction365 SFT_parser[1497]
+#define COLOR_parser___ReduceAction365___init SFT_parser[1498]
+#define ID_ReduceAction366 SFT_parser[1499]
+#define COLOR_ReduceAction366 SFT_parser[1500]
+#define INIT_TABLE_POS_ReduceAction366 SFT_parser[1501]
+#define COLOR_parser___ReduceAction366___init SFT_parser[1502]
+#define ID_ReduceAction367 SFT_parser[1503]
+#define COLOR_ReduceAction367 SFT_parser[1504]
+#define INIT_TABLE_POS_ReduceAction367 SFT_parser[1505]
+#define COLOR_parser___ReduceAction367___init SFT_parser[1506]
+#define ID_ReduceAction368 SFT_parser[1507]
+#define COLOR_ReduceAction368 SFT_parser[1508]
+#define INIT_TABLE_POS_ReduceAction368 SFT_parser[1509]
+#define COLOR_parser___ReduceAction368___init SFT_parser[1510]
+#define ID_ReduceAction369 SFT_parser[1511]
+#define COLOR_ReduceAction369 SFT_parser[1512]
+#define INIT_TABLE_POS_ReduceAction369 SFT_parser[1513]
+#define COLOR_parser___ReduceAction369___init SFT_parser[1514]
+#define ID_ReduceAction370 SFT_parser[1515]
+#define COLOR_ReduceAction370 SFT_parser[1516]
+#define INIT_TABLE_POS_ReduceAction370 SFT_parser[1517]
+#define COLOR_parser___ReduceAction370___init SFT_parser[1518]
+#define ID_ReduceAction371 SFT_parser[1519]
+#define COLOR_ReduceAction371 SFT_parser[1520]
+#define INIT_TABLE_POS_ReduceAction371 SFT_parser[1521]
+#define COLOR_parser___ReduceAction371___init SFT_parser[1522]
+#define ID_ReduceAction372 SFT_parser[1523]
+#define COLOR_ReduceAction372 SFT_parser[1524]
+#define INIT_TABLE_POS_ReduceAction372 SFT_parser[1525]
+#define COLOR_parser___ReduceAction372___init SFT_parser[1526]
+#define ID_ReduceAction373 SFT_parser[1527]
+#define COLOR_ReduceAction373 SFT_parser[1528]
+#define INIT_TABLE_POS_ReduceAction373 SFT_parser[1529]
+#define COLOR_parser___ReduceAction373___init SFT_parser[1530]
+#define ID_ReduceAction374 SFT_parser[1531]
+#define COLOR_ReduceAction374 SFT_parser[1532]
+#define INIT_TABLE_POS_ReduceAction374 SFT_parser[1533]
+#define COLOR_parser___ReduceAction374___init SFT_parser[1534]
+#define ID_ReduceAction375 SFT_parser[1535]
+#define COLOR_ReduceAction375 SFT_parser[1536]
+#define INIT_TABLE_POS_ReduceAction375 SFT_parser[1537]
+#define COLOR_parser___ReduceAction375___init SFT_parser[1538]
+#define ID_ReduceAction376 SFT_parser[1539]
+#define COLOR_ReduceAction376 SFT_parser[1540]
+#define INIT_TABLE_POS_ReduceAction376 SFT_parser[1541]
+#define COLOR_parser___ReduceAction376___init SFT_parser[1542]
+#define ID_ReduceAction377 SFT_parser[1543]
+#define COLOR_ReduceAction377 SFT_parser[1544]
+#define INIT_TABLE_POS_ReduceAction377 SFT_parser[1545]
+#define COLOR_parser___ReduceAction377___init SFT_parser[1546]
+#define ID_ReduceAction378 SFT_parser[1547]
+#define COLOR_ReduceAction378 SFT_parser[1548]
+#define INIT_TABLE_POS_ReduceAction378 SFT_parser[1549]
+#define COLOR_parser___ReduceAction378___init SFT_parser[1550]
+#define ID_ReduceAction379 SFT_parser[1551]
+#define COLOR_ReduceAction379 SFT_parser[1552]
+#define INIT_TABLE_POS_ReduceAction379 SFT_parser[1553]
+#define COLOR_parser___ReduceAction379___init SFT_parser[1554]
+#define ID_ReduceAction380 SFT_parser[1555]
+#define COLOR_ReduceAction380 SFT_parser[1556]
+#define INIT_TABLE_POS_ReduceAction380 SFT_parser[1557]
+#define COLOR_parser___ReduceAction380___init SFT_parser[1558]
+#define ID_ReduceAction381 SFT_parser[1559]
+#define COLOR_ReduceAction381 SFT_parser[1560]
+#define INIT_TABLE_POS_ReduceAction381 SFT_parser[1561]
+#define COLOR_parser___ReduceAction381___init SFT_parser[1562]
+#define ID_ReduceAction382 SFT_parser[1563]
+#define COLOR_ReduceAction382 SFT_parser[1564]
+#define INIT_TABLE_POS_ReduceAction382 SFT_parser[1565]
+#define COLOR_parser___ReduceAction382___init SFT_parser[1566]
+#define ID_ReduceAction383 SFT_parser[1567]
+#define COLOR_ReduceAction383 SFT_parser[1568]
+#define INIT_TABLE_POS_ReduceAction383 SFT_parser[1569]
+#define COLOR_parser___ReduceAction383___init SFT_parser[1570]
+#define ID_ReduceAction384 SFT_parser[1571]
+#define COLOR_ReduceAction384 SFT_parser[1572]
+#define INIT_TABLE_POS_ReduceAction384 SFT_parser[1573]
+#define COLOR_parser___ReduceAction384___init SFT_parser[1574]
+#define ID_ReduceAction385 SFT_parser[1575]
+#define COLOR_ReduceAction385 SFT_parser[1576]
+#define INIT_TABLE_POS_ReduceAction385 SFT_parser[1577]
+#define COLOR_parser___ReduceAction385___init SFT_parser[1578]
+#define ID_ReduceAction386 SFT_parser[1579]
+#define COLOR_ReduceAction386 SFT_parser[1580]
+#define INIT_TABLE_POS_ReduceAction386 SFT_parser[1581]
+#define COLOR_parser___ReduceAction386___init SFT_parser[1582]
+#define ID_ReduceAction387 SFT_parser[1583]
+#define COLOR_ReduceAction387 SFT_parser[1584]
+#define INIT_TABLE_POS_ReduceAction387 SFT_parser[1585]
+#define COLOR_parser___ReduceAction387___init SFT_parser[1586]
+#define ID_ReduceAction388 SFT_parser[1587]
+#define COLOR_ReduceAction388 SFT_parser[1588]
+#define INIT_TABLE_POS_ReduceAction388 SFT_parser[1589]
+#define COLOR_parser___ReduceAction388___init SFT_parser[1590]
+#define ID_ReduceAction389 SFT_parser[1591]
+#define COLOR_ReduceAction389 SFT_parser[1592]
+#define INIT_TABLE_POS_ReduceAction389 SFT_parser[1593]
+#define COLOR_parser___ReduceAction389___init SFT_parser[1594]
+#define ID_ReduceAction390 SFT_parser[1595]
+#define COLOR_ReduceAction390 SFT_parser[1596]
+#define INIT_TABLE_POS_ReduceAction390 SFT_parser[1597]
+#define COLOR_parser___ReduceAction390___init SFT_parser[1598]
+#define ID_ReduceAction391 SFT_parser[1599]
+#define COLOR_ReduceAction391 SFT_parser[1600]
+#define INIT_TABLE_POS_ReduceAction391 SFT_parser[1601]
+#define COLOR_parser___ReduceAction391___init SFT_parser[1602]
+#define ID_ReduceAction392 SFT_parser[1603]
+#define COLOR_ReduceAction392 SFT_parser[1604]
+#define INIT_TABLE_POS_ReduceAction392 SFT_parser[1605]
+#define COLOR_parser___ReduceAction392___init SFT_parser[1606]
+#define ID_ReduceAction393 SFT_parser[1607]
+#define COLOR_ReduceAction393 SFT_parser[1608]
+#define INIT_TABLE_POS_ReduceAction393 SFT_parser[1609]
+#define COLOR_parser___ReduceAction393___init SFT_parser[1610]
+#define ID_ReduceAction394 SFT_parser[1611]
+#define COLOR_ReduceAction394 SFT_parser[1612]
+#define INIT_TABLE_POS_ReduceAction394 SFT_parser[1613]
+#define COLOR_parser___ReduceAction394___init SFT_parser[1614]
+#define ID_ReduceAction395 SFT_parser[1615]
+#define COLOR_ReduceAction395 SFT_parser[1616]
+#define INIT_TABLE_POS_ReduceAction395 SFT_parser[1617]
+#define COLOR_parser___ReduceAction395___init SFT_parser[1618]
+#define ID_ReduceAction396 SFT_parser[1619]
+#define COLOR_ReduceAction396 SFT_parser[1620]
+#define INIT_TABLE_POS_ReduceAction396 SFT_parser[1621]
+#define COLOR_parser___ReduceAction396___init SFT_parser[1622]
+#define ID_ReduceAction397 SFT_parser[1623]
+#define COLOR_ReduceAction397 SFT_parser[1624]
+#define INIT_TABLE_POS_ReduceAction397 SFT_parser[1625]
+#define COLOR_parser___ReduceAction397___init SFT_parser[1626]
+#define ID_ReduceAction398 SFT_parser[1627]
+#define COLOR_ReduceAction398 SFT_parser[1628]
+#define INIT_TABLE_POS_ReduceAction398 SFT_parser[1629]
+#define COLOR_parser___ReduceAction398___init SFT_parser[1630]
+#define ID_ReduceAction399 SFT_parser[1631]
+#define COLOR_ReduceAction399 SFT_parser[1632]
+#define INIT_TABLE_POS_ReduceAction399 SFT_parser[1633]
+#define COLOR_parser___ReduceAction399___init SFT_parser[1634]
+#define ID_ReduceAction400 SFT_parser[1635]
+#define COLOR_ReduceAction400 SFT_parser[1636]
+#define INIT_TABLE_POS_ReduceAction400 SFT_parser[1637]
+#define COLOR_parser___ReduceAction400___init SFT_parser[1638]
+#define ID_ReduceAction401 SFT_parser[1639]
+#define COLOR_ReduceAction401 SFT_parser[1640]
+#define INIT_TABLE_POS_ReduceAction401 SFT_parser[1641]
+#define COLOR_parser___ReduceAction401___init SFT_parser[1642]
+#define ID_ReduceAction402 SFT_parser[1643]
+#define COLOR_ReduceAction402 SFT_parser[1644]
+#define INIT_TABLE_POS_ReduceAction402 SFT_parser[1645]
+#define COLOR_parser___ReduceAction402___init SFT_parser[1646]
+#define ID_ReduceAction403 SFT_parser[1647]
+#define COLOR_ReduceAction403 SFT_parser[1648]
+#define INIT_TABLE_POS_ReduceAction403 SFT_parser[1649]
+#define COLOR_parser___ReduceAction403___init SFT_parser[1650]
+#define ID_ReduceAction404 SFT_parser[1651]
+#define COLOR_ReduceAction404 SFT_parser[1652]
+#define INIT_TABLE_POS_ReduceAction404 SFT_parser[1653]
+#define COLOR_parser___ReduceAction404___init SFT_parser[1654]
+#define ID_ReduceAction405 SFT_parser[1655]
+#define COLOR_ReduceAction405 SFT_parser[1656]
+#define INIT_TABLE_POS_ReduceAction405 SFT_parser[1657]
+#define COLOR_parser___ReduceAction405___init SFT_parser[1658]
+#define ID_ReduceAction406 SFT_parser[1659]
+#define COLOR_ReduceAction406 SFT_parser[1660]
+#define INIT_TABLE_POS_ReduceAction406 SFT_parser[1661]
+#define COLOR_parser___ReduceAction406___init SFT_parser[1662]
+#define ID_ReduceAction407 SFT_parser[1663]
+#define COLOR_ReduceAction407 SFT_parser[1664]
+#define INIT_TABLE_POS_ReduceAction407 SFT_parser[1665]
+#define COLOR_parser___ReduceAction407___init SFT_parser[1666]
+#define ID_ReduceAction408 SFT_parser[1667]
+#define COLOR_ReduceAction408 SFT_parser[1668]
+#define INIT_TABLE_POS_ReduceAction408 SFT_parser[1669]
+#define COLOR_parser___ReduceAction408___init SFT_parser[1670]
+#define ID_ReduceAction409 SFT_parser[1671]
+#define COLOR_ReduceAction409 SFT_parser[1672]
+#define INIT_TABLE_POS_ReduceAction409 SFT_parser[1673]
+#define COLOR_parser___ReduceAction409___init SFT_parser[1674]
+#define ID_ReduceAction410 SFT_parser[1675]
+#define COLOR_ReduceAction410 SFT_parser[1676]
+#define INIT_TABLE_POS_ReduceAction410 SFT_parser[1677]
+#define COLOR_parser___ReduceAction410___init SFT_parser[1678]
+#define ID_ReduceAction411 SFT_parser[1679]
+#define COLOR_ReduceAction411 SFT_parser[1680]
+#define INIT_TABLE_POS_ReduceAction411 SFT_parser[1681]
+#define COLOR_parser___ReduceAction411___init SFT_parser[1682]
+#define ID_ReduceAction412 SFT_parser[1683]
+#define COLOR_ReduceAction412 SFT_parser[1684]
+#define INIT_TABLE_POS_ReduceAction412 SFT_parser[1685]
+#define COLOR_parser___ReduceAction412___init SFT_parser[1686]
+#define ID_ReduceAction413 SFT_parser[1687]
+#define COLOR_ReduceAction413 SFT_parser[1688]
+#define INIT_TABLE_POS_ReduceAction413 SFT_parser[1689]
+#define COLOR_parser___ReduceAction413___init SFT_parser[1690]
+#define ID_ReduceAction414 SFT_parser[1691]
+#define COLOR_ReduceAction414 SFT_parser[1692]
+#define INIT_TABLE_POS_ReduceAction414 SFT_parser[1693]
+#define COLOR_parser___ReduceAction414___init SFT_parser[1694]
+#define ID_ReduceAction415 SFT_parser[1695]
+#define COLOR_ReduceAction415 SFT_parser[1696]
+#define INIT_TABLE_POS_ReduceAction415 SFT_parser[1697]
+#define COLOR_parser___ReduceAction415___init SFT_parser[1698]
+#define ID_ReduceAction416 SFT_parser[1699]
+#define COLOR_ReduceAction416 SFT_parser[1700]
+#define INIT_TABLE_POS_ReduceAction416 SFT_parser[1701]
+#define COLOR_parser___ReduceAction416___init SFT_parser[1702]
+#define ID_ReduceAction417 SFT_parser[1703]
+#define COLOR_ReduceAction417 SFT_parser[1704]
+#define INIT_TABLE_POS_ReduceAction417 SFT_parser[1705]
+#define COLOR_parser___ReduceAction417___init SFT_parser[1706]
+#define ID_ReduceAction418 SFT_parser[1707]
+#define COLOR_ReduceAction418 SFT_parser[1708]
+#define INIT_TABLE_POS_ReduceAction418 SFT_parser[1709]
+#define COLOR_parser___ReduceAction418___init SFT_parser[1710]
+#define ID_ReduceAction419 SFT_parser[1711]
+#define COLOR_ReduceAction419 SFT_parser[1712]
+#define INIT_TABLE_POS_ReduceAction419 SFT_parser[1713]
+#define COLOR_parser___ReduceAction419___init SFT_parser[1714]
+#define ID_ReduceAction420 SFT_parser[1715]
+#define COLOR_ReduceAction420 SFT_parser[1716]
+#define INIT_TABLE_POS_ReduceAction420 SFT_parser[1717]
+#define COLOR_parser___ReduceAction420___init SFT_parser[1718]
+#define ID_ReduceAction421 SFT_parser[1719]
+#define COLOR_ReduceAction421 SFT_parser[1720]
+#define INIT_TABLE_POS_ReduceAction421 SFT_parser[1721]
+#define COLOR_parser___ReduceAction421___init SFT_parser[1722]
+#define ID_ReduceAction422 SFT_parser[1723]
+#define COLOR_ReduceAction422 SFT_parser[1724]
+#define INIT_TABLE_POS_ReduceAction422 SFT_parser[1725]
+#define COLOR_parser___ReduceAction422___init SFT_parser[1726]
+#define ID_ReduceAction423 SFT_parser[1727]
+#define COLOR_ReduceAction423 SFT_parser[1728]
+#define INIT_TABLE_POS_ReduceAction423 SFT_parser[1729]
+#define COLOR_parser___ReduceAction423___init SFT_parser[1730]
+#define ID_ReduceAction424 SFT_parser[1731]
+#define COLOR_ReduceAction424 SFT_parser[1732]
+#define INIT_TABLE_POS_ReduceAction424 SFT_parser[1733]
+#define COLOR_parser___ReduceAction424___init SFT_parser[1734]
+#define ID_ReduceAction425 SFT_parser[1735]
+#define COLOR_ReduceAction425 SFT_parser[1736]
+#define INIT_TABLE_POS_ReduceAction425 SFT_parser[1737]
+#define COLOR_parser___ReduceAction425___init SFT_parser[1738]
+#define ID_ReduceAction426 SFT_parser[1739]
+#define COLOR_ReduceAction426 SFT_parser[1740]
+#define INIT_TABLE_POS_ReduceAction426 SFT_parser[1741]
+#define COLOR_parser___ReduceAction426___init SFT_parser[1742]
+#define ID_ReduceAction427 SFT_parser[1743]
+#define COLOR_ReduceAction427 SFT_parser[1744]
+#define INIT_TABLE_POS_ReduceAction427 SFT_parser[1745]
+#define COLOR_parser___ReduceAction427___init SFT_parser[1746]
+#define ID_ReduceAction428 SFT_parser[1747]
+#define COLOR_ReduceAction428 SFT_parser[1748]
+#define INIT_TABLE_POS_ReduceAction428 SFT_parser[1749]
+#define COLOR_parser___ReduceAction428___init SFT_parser[1750]
+#define ID_ReduceAction429 SFT_parser[1751]
+#define COLOR_ReduceAction429 SFT_parser[1752]
+#define INIT_TABLE_POS_ReduceAction429 SFT_parser[1753]
+#define COLOR_parser___ReduceAction429___init SFT_parser[1754]
+#define ID_ReduceAction430 SFT_parser[1755]
+#define COLOR_ReduceAction430 SFT_parser[1756]
+#define INIT_TABLE_POS_ReduceAction430 SFT_parser[1757]
+#define COLOR_parser___ReduceAction430___init SFT_parser[1758]
+#define ID_ReduceAction431 SFT_parser[1759]
+#define COLOR_ReduceAction431 SFT_parser[1760]
+#define INIT_TABLE_POS_ReduceAction431 SFT_parser[1761]
+#define COLOR_parser___ReduceAction431___init SFT_parser[1762]
+#define ID_ReduceAction432 SFT_parser[1763]
+#define COLOR_ReduceAction432 SFT_parser[1764]
+#define INIT_TABLE_POS_ReduceAction432 SFT_parser[1765]
+#define COLOR_parser___ReduceAction432___init SFT_parser[1766]
+#define ID_ReduceAction433 SFT_parser[1767]
+#define COLOR_ReduceAction433 SFT_parser[1768]
+#define INIT_TABLE_POS_ReduceAction433 SFT_parser[1769]
+#define COLOR_parser___ReduceAction433___init SFT_parser[1770]
+#define ID_ReduceAction434 SFT_parser[1771]
+#define COLOR_ReduceAction434 SFT_parser[1772]
+#define INIT_TABLE_POS_ReduceAction434 SFT_parser[1773]
+#define COLOR_parser___ReduceAction434___init SFT_parser[1774]
+#define ID_ReduceAction435 SFT_parser[1775]
+#define COLOR_ReduceAction435 SFT_parser[1776]
+#define INIT_TABLE_POS_ReduceAction435 SFT_parser[1777]
+#define COLOR_parser___ReduceAction435___init SFT_parser[1778]
+#define ID_ReduceAction436 SFT_parser[1779]
+#define COLOR_ReduceAction436 SFT_parser[1780]
+#define INIT_TABLE_POS_ReduceAction436 SFT_parser[1781]
+#define COLOR_parser___ReduceAction436___init SFT_parser[1782]
+#define ID_ReduceAction437 SFT_parser[1783]
+#define COLOR_ReduceAction437 SFT_parser[1784]
+#define INIT_TABLE_POS_ReduceAction437 SFT_parser[1785]
+#define COLOR_parser___ReduceAction437___init SFT_parser[1786]
+#define ID_ReduceAction438 SFT_parser[1787]
+#define COLOR_ReduceAction438 SFT_parser[1788]
+#define INIT_TABLE_POS_ReduceAction438 SFT_parser[1789]
+#define COLOR_parser___ReduceAction438___init SFT_parser[1790]
+#define ID_ReduceAction439 SFT_parser[1791]
+#define COLOR_ReduceAction439 SFT_parser[1792]
+#define INIT_TABLE_POS_ReduceAction439 SFT_parser[1793]
+#define COLOR_parser___ReduceAction439___init SFT_parser[1794]
+#define ID_ReduceAction440 SFT_parser[1795]
+#define COLOR_ReduceAction440 SFT_parser[1796]
+#define INIT_TABLE_POS_ReduceAction440 SFT_parser[1797]
+#define COLOR_parser___ReduceAction440___init SFT_parser[1798]
+#define ID_ReduceAction441 SFT_parser[1799]
+#define COLOR_ReduceAction441 SFT_parser[1800]
+#define INIT_TABLE_POS_ReduceAction441 SFT_parser[1801]
+#define COLOR_parser___ReduceAction441___init SFT_parser[1802]
+#define ID_ReduceAction442 SFT_parser[1803]
+#define COLOR_ReduceAction442 SFT_parser[1804]
+#define INIT_TABLE_POS_ReduceAction442 SFT_parser[1805]
+#define COLOR_parser___ReduceAction442___init SFT_parser[1806]
+#define ID_ReduceAction443 SFT_parser[1807]
+#define COLOR_ReduceAction443 SFT_parser[1808]
+#define INIT_TABLE_POS_ReduceAction443 SFT_parser[1809]
+#define COLOR_parser___ReduceAction443___init SFT_parser[1810]
+#define ID_ReduceAction444 SFT_parser[1811]
+#define COLOR_ReduceAction444 SFT_parser[1812]
+#define INIT_TABLE_POS_ReduceAction444 SFT_parser[1813]
+#define COLOR_parser___ReduceAction444___init SFT_parser[1814]
+#define ID_ReduceAction445 SFT_parser[1815]
+#define COLOR_ReduceAction445 SFT_parser[1816]
+#define INIT_TABLE_POS_ReduceAction445 SFT_parser[1817]
+#define COLOR_parser___ReduceAction445___init SFT_parser[1818]
+#define ID_ReduceAction446 SFT_parser[1819]
+#define COLOR_ReduceAction446 SFT_parser[1820]
+#define INIT_TABLE_POS_ReduceAction446 SFT_parser[1821]
+#define COLOR_parser___ReduceAction446___init SFT_parser[1822]
+#define ID_ReduceAction447 SFT_parser[1823]
+#define COLOR_ReduceAction447 SFT_parser[1824]
+#define INIT_TABLE_POS_ReduceAction447 SFT_parser[1825]
+#define COLOR_parser___ReduceAction447___init SFT_parser[1826]
+#define ID_ReduceAction448 SFT_parser[1827]
+#define COLOR_ReduceAction448 SFT_parser[1828]
+#define INIT_TABLE_POS_ReduceAction448 SFT_parser[1829]
+#define COLOR_parser___ReduceAction448___init SFT_parser[1830]
+#define ID_ReduceAction449 SFT_parser[1831]
+#define COLOR_ReduceAction449 SFT_parser[1832]
+#define INIT_TABLE_POS_ReduceAction449 SFT_parser[1833]
+#define COLOR_parser___ReduceAction449___init SFT_parser[1834]
+#define ID_ReduceAction450 SFT_parser[1835]
+#define COLOR_ReduceAction450 SFT_parser[1836]
+#define INIT_TABLE_POS_ReduceAction450 SFT_parser[1837]
+#define COLOR_parser___ReduceAction450___init SFT_parser[1838]
+#define ID_ReduceAction451 SFT_parser[1839]
+#define COLOR_ReduceAction451 SFT_parser[1840]
+#define INIT_TABLE_POS_ReduceAction451 SFT_parser[1841]
+#define COLOR_parser___ReduceAction451___init SFT_parser[1842]
+#define ID_ReduceAction452 SFT_parser[1843]
+#define COLOR_ReduceAction452 SFT_parser[1844]
+#define INIT_TABLE_POS_ReduceAction452 SFT_parser[1845]
+#define COLOR_parser___ReduceAction452___init SFT_parser[1846]
+#define ID_ReduceAction453 SFT_parser[1847]
+#define COLOR_ReduceAction453 SFT_parser[1848]
+#define INIT_TABLE_POS_ReduceAction453 SFT_parser[1849]
+#define COLOR_parser___ReduceAction453___init SFT_parser[1850]
+#define ID_ReduceAction454 SFT_parser[1851]
+#define COLOR_ReduceAction454 SFT_parser[1852]
+#define INIT_TABLE_POS_ReduceAction454 SFT_parser[1853]
+#define COLOR_parser___ReduceAction454___init SFT_parser[1854]
+#define ID_ReduceAction455 SFT_parser[1855]
+#define COLOR_ReduceAction455 SFT_parser[1856]
+#define INIT_TABLE_POS_ReduceAction455 SFT_parser[1857]
+#define COLOR_parser___ReduceAction455___init SFT_parser[1858]
+#define ID_ReduceAction456 SFT_parser[1859]
+#define COLOR_ReduceAction456 SFT_parser[1860]
+#define INIT_TABLE_POS_ReduceAction456 SFT_parser[1861]
+#define COLOR_parser___ReduceAction456___init SFT_parser[1862]
+#define ID_ReduceAction457 SFT_parser[1863]
+#define COLOR_ReduceAction457 SFT_parser[1864]
+#define INIT_TABLE_POS_ReduceAction457 SFT_parser[1865]
+#define COLOR_parser___ReduceAction457___init SFT_parser[1866]
+#define ID_ReduceAction458 SFT_parser[1867]
+#define COLOR_ReduceAction458 SFT_parser[1868]
+#define INIT_TABLE_POS_ReduceAction458 SFT_parser[1869]
+#define COLOR_parser___ReduceAction458___init SFT_parser[1870]
+#define ID_ReduceAction459 SFT_parser[1871]
+#define COLOR_ReduceAction459 SFT_parser[1872]
+#define INIT_TABLE_POS_ReduceAction459 SFT_parser[1873]
+#define COLOR_parser___ReduceAction459___init SFT_parser[1874]
+#define ID_ReduceAction460 SFT_parser[1875]
+#define COLOR_ReduceAction460 SFT_parser[1876]
+#define INIT_TABLE_POS_ReduceAction460 SFT_parser[1877]
+#define COLOR_parser___ReduceAction460___init SFT_parser[1878]
+#define ID_ReduceAction461 SFT_parser[1879]
+#define COLOR_ReduceAction461 SFT_parser[1880]
+#define INIT_TABLE_POS_ReduceAction461 SFT_parser[1881]
+#define COLOR_parser___ReduceAction461___init SFT_parser[1882]
+#define ID_ReduceAction462 SFT_parser[1883]
+#define COLOR_ReduceAction462 SFT_parser[1884]
+#define INIT_TABLE_POS_ReduceAction462 SFT_parser[1885]
+#define COLOR_parser___ReduceAction462___init SFT_parser[1886]
+#define ID_ReduceAction463 SFT_parser[1887]
+#define COLOR_ReduceAction463 SFT_parser[1888]
+#define INIT_TABLE_POS_ReduceAction463 SFT_parser[1889]
+#define COLOR_parser___ReduceAction463___init SFT_parser[1890]
+#define ID_ReduceAction464 SFT_parser[1891]
+#define COLOR_ReduceAction464 SFT_parser[1892]
+#define INIT_TABLE_POS_ReduceAction464 SFT_parser[1893]
+#define COLOR_parser___ReduceAction464___init SFT_parser[1894]
+#define ID_ReduceAction465 SFT_parser[1895]
+#define COLOR_ReduceAction465 SFT_parser[1896]
+#define INIT_TABLE_POS_ReduceAction465 SFT_parser[1897]
+#define COLOR_parser___ReduceAction465___init SFT_parser[1898]
+#define ID_ReduceAction466 SFT_parser[1899]
+#define COLOR_ReduceAction466 SFT_parser[1900]
+#define INIT_TABLE_POS_ReduceAction466 SFT_parser[1901]
+#define COLOR_parser___ReduceAction466___init SFT_parser[1902]
+#define ID_ReduceAction467 SFT_parser[1903]
+#define COLOR_ReduceAction467 SFT_parser[1904]
+#define INIT_TABLE_POS_ReduceAction467 SFT_parser[1905]
+#define COLOR_parser___ReduceAction467___init SFT_parser[1906]
+#define ID_ReduceAction468 SFT_parser[1907]
+#define COLOR_ReduceAction468 SFT_parser[1908]
+#define INIT_TABLE_POS_ReduceAction468 SFT_parser[1909]
+#define COLOR_parser___ReduceAction468___init SFT_parser[1910]
+#define ID_ReduceAction469 SFT_parser[1911]
+#define COLOR_ReduceAction469 SFT_parser[1912]
+#define INIT_TABLE_POS_ReduceAction469 SFT_parser[1913]
+#define COLOR_parser___ReduceAction469___init SFT_parser[1914]
+#define ID_ReduceAction470 SFT_parser[1915]
+#define COLOR_ReduceAction470 SFT_parser[1916]
+#define INIT_TABLE_POS_ReduceAction470 SFT_parser[1917]
+#define COLOR_parser___ReduceAction470___init SFT_parser[1918]
+#define ID_ReduceAction471 SFT_parser[1919]
+#define COLOR_ReduceAction471 SFT_parser[1920]
+#define INIT_TABLE_POS_ReduceAction471 SFT_parser[1921]
+#define COLOR_parser___ReduceAction471___init SFT_parser[1922]
+#define ID_ReduceAction472 SFT_parser[1923]
+#define COLOR_ReduceAction472 SFT_parser[1924]
+#define INIT_TABLE_POS_ReduceAction472 SFT_parser[1925]
+#define COLOR_parser___ReduceAction472___init SFT_parser[1926]
+#define ID_ReduceAction473 SFT_parser[1927]
+#define COLOR_ReduceAction473 SFT_parser[1928]
+#define INIT_TABLE_POS_ReduceAction473 SFT_parser[1929]
+#define COLOR_parser___ReduceAction473___init SFT_parser[1930]
+#define ID_ReduceAction474 SFT_parser[1931]
+#define COLOR_ReduceAction474 SFT_parser[1932]
+#define INIT_TABLE_POS_ReduceAction474 SFT_parser[1933]
+#define COLOR_parser___ReduceAction474___init SFT_parser[1934]
+#define ID_ReduceAction475 SFT_parser[1935]
+#define COLOR_ReduceAction475 SFT_parser[1936]
+#define INIT_TABLE_POS_ReduceAction475 SFT_parser[1937]
+#define COLOR_parser___ReduceAction475___init SFT_parser[1938]
+#define ID_ReduceAction476 SFT_parser[1939]
+#define COLOR_ReduceAction476 SFT_parser[1940]
+#define INIT_TABLE_POS_ReduceAction476 SFT_parser[1941]
+#define COLOR_parser___ReduceAction476___init SFT_parser[1942]
+#define ID_ReduceAction477 SFT_parser[1943]
+#define COLOR_ReduceAction477 SFT_parser[1944]
+#define INIT_TABLE_POS_ReduceAction477 SFT_parser[1945]
+#define COLOR_parser___ReduceAction477___init SFT_parser[1946]
+#define ID_ReduceAction478 SFT_parser[1947]
+#define COLOR_ReduceAction478 SFT_parser[1948]
+#define INIT_TABLE_POS_ReduceAction478 SFT_parser[1949]
+#define COLOR_parser___ReduceAction478___init SFT_parser[1950]
+#define ID_ReduceAction479 SFT_parser[1951]
+#define COLOR_ReduceAction479 SFT_parser[1952]
+#define INIT_TABLE_POS_ReduceAction479 SFT_parser[1953]
+#define COLOR_parser___ReduceAction479___init SFT_parser[1954]
+#define ID_ReduceAction480 SFT_parser[1955]
+#define COLOR_ReduceAction480 SFT_parser[1956]
+#define INIT_TABLE_POS_ReduceAction480 SFT_parser[1957]
+#define COLOR_parser___ReduceAction480___init SFT_parser[1958]
+#define ID_ReduceAction481 SFT_parser[1959]
+#define COLOR_ReduceAction481 SFT_parser[1960]
+#define INIT_TABLE_POS_ReduceAction481 SFT_parser[1961]
+#define COLOR_parser___ReduceAction481___init SFT_parser[1962]
+#define ID_ReduceAction482 SFT_parser[1963]
+#define COLOR_ReduceAction482 SFT_parser[1964]
+#define INIT_TABLE_POS_ReduceAction482 SFT_parser[1965]
+#define COLOR_parser___ReduceAction482___init SFT_parser[1966]
+#define ID_ReduceAction483 SFT_parser[1967]
+#define COLOR_ReduceAction483 SFT_parser[1968]
+#define INIT_TABLE_POS_ReduceAction483 SFT_parser[1969]
+#define COLOR_parser___ReduceAction483___init SFT_parser[1970]
+#define ID_ReduceAction484 SFT_parser[1971]
+#define COLOR_ReduceAction484 SFT_parser[1972]
+#define INIT_TABLE_POS_ReduceAction484 SFT_parser[1973]
+#define COLOR_parser___ReduceAction484___init SFT_parser[1974]
+#define ID_ReduceAction485 SFT_parser[1975]
+#define COLOR_ReduceAction485 SFT_parser[1976]
+#define INIT_TABLE_POS_ReduceAction485 SFT_parser[1977]
+#define COLOR_parser___ReduceAction485___init SFT_parser[1978]
+#define ID_ReduceAction486 SFT_parser[1979]
+#define COLOR_ReduceAction486 SFT_parser[1980]
+#define INIT_TABLE_POS_ReduceAction486 SFT_parser[1981]
+#define COLOR_parser___ReduceAction486___init SFT_parser[1982]
+#define ID_ReduceAction487 SFT_parser[1983]
+#define COLOR_ReduceAction487 SFT_parser[1984]
+#define INIT_TABLE_POS_ReduceAction487 SFT_parser[1985]
+#define COLOR_parser___ReduceAction487___init SFT_parser[1986]
+#define ID_ReduceAction488 SFT_parser[1987]
+#define COLOR_ReduceAction488 SFT_parser[1988]
+#define INIT_TABLE_POS_ReduceAction488 SFT_parser[1989]
+#define COLOR_parser___ReduceAction488___init SFT_parser[1990]
+#define ID_ReduceAction489 SFT_parser[1991]
+#define COLOR_ReduceAction489 SFT_parser[1992]
+#define INIT_TABLE_POS_ReduceAction489 SFT_parser[1993]
+#define COLOR_parser___ReduceAction489___init SFT_parser[1994]
+#define ID_ReduceAction490 SFT_parser[1995]
+#define COLOR_ReduceAction490 SFT_parser[1996]
+#define INIT_TABLE_POS_ReduceAction490 SFT_parser[1997]
+#define COLOR_parser___ReduceAction490___init SFT_parser[1998]
+#define ID_ReduceAction491 SFT_parser[1999]
+#define COLOR_ReduceAction491 SFT_parser[2000]
+#define INIT_TABLE_POS_ReduceAction491 SFT_parser[2001]
+#define COLOR_parser___ReduceAction491___init SFT_parser[2002]
+#define ID_ReduceAction492 SFT_parser[2003]
+#define COLOR_ReduceAction492 SFT_parser[2004]
+#define INIT_TABLE_POS_ReduceAction492 SFT_parser[2005]
+#define COLOR_parser___ReduceAction492___init SFT_parser[2006]
+#define ID_ReduceAction493 SFT_parser[2007]
+#define COLOR_ReduceAction493 SFT_parser[2008]
+#define INIT_TABLE_POS_ReduceAction493 SFT_parser[2009]
+#define COLOR_parser___ReduceAction493___init SFT_parser[2010]
+#define ID_ReduceAction494 SFT_parser[2011]
+#define COLOR_ReduceAction494 SFT_parser[2012]
+#define INIT_TABLE_POS_ReduceAction494 SFT_parser[2013]
+#define COLOR_parser___ReduceAction494___init SFT_parser[2014]
+#define ID_ReduceAction495 SFT_parser[2015]
+#define COLOR_ReduceAction495 SFT_parser[2016]
+#define INIT_TABLE_POS_ReduceAction495 SFT_parser[2017]
+#define COLOR_parser___ReduceAction495___init SFT_parser[2018]
+#define ID_ReduceAction496 SFT_parser[2019]
+#define COLOR_ReduceAction496 SFT_parser[2020]
+#define INIT_TABLE_POS_ReduceAction496 SFT_parser[2021]
+#define COLOR_parser___ReduceAction496___init SFT_parser[2022]
+#define ID_ReduceAction497 SFT_parser[2023]
+#define COLOR_ReduceAction497 SFT_parser[2024]
+#define INIT_TABLE_POS_ReduceAction497 SFT_parser[2025]
+#define COLOR_parser___ReduceAction497___init SFT_parser[2026]
+#define ID_ReduceAction498 SFT_parser[2027]
+#define COLOR_ReduceAction498 SFT_parser[2028]
+#define INIT_TABLE_POS_ReduceAction498 SFT_parser[2029]
+#define COLOR_parser___ReduceAction498___init SFT_parser[2030]
+#define ID_ReduceAction499 SFT_parser[2031]
+#define COLOR_ReduceAction499 SFT_parser[2032]
+#define INIT_TABLE_POS_ReduceAction499 SFT_parser[2033]
+#define COLOR_parser___ReduceAction499___init SFT_parser[2034]
+#define ID_ReduceAction500 SFT_parser[2035]
+#define COLOR_ReduceAction500 SFT_parser[2036]
+#define INIT_TABLE_POS_ReduceAction500 SFT_parser[2037]
+#define COLOR_parser___ReduceAction500___init SFT_parser[2038]
+#define ID_ReduceAction501 SFT_parser[2039]
+#define COLOR_ReduceAction501 SFT_parser[2040]
+#define INIT_TABLE_POS_ReduceAction501 SFT_parser[2041]
+#define COLOR_parser___ReduceAction501___init SFT_parser[2042]
+#define ID_ReduceAction502 SFT_parser[2043]
+#define COLOR_ReduceAction502 SFT_parser[2044]
+#define INIT_TABLE_POS_ReduceAction502 SFT_parser[2045]
+#define COLOR_parser___ReduceAction502___init SFT_parser[2046]
+#define ID_ReduceAction503 SFT_parser[2047]
+#define COLOR_ReduceAction503 SFT_parser[2048]
+#define INIT_TABLE_POS_ReduceAction503 SFT_parser[2049]
+#define COLOR_parser___ReduceAction503___init SFT_parser[2050]
+#define ID_ReduceAction504 SFT_parser[2051]
+#define COLOR_ReduceAction504 SFT_parser[2052]
+#define INIT_TABLE_POS_ReduceAction504 SFT_parser[2053]
+#define COLOR_parser___ReduceAction504___init SFT_parser[2054]
+#define ID_ReduceAction505 SFT_parser[2055]
+#define COLOR_ReduceAction505 SFT_parser[2056]
+#define INIT_TABLE_POS_ReduceAction505 SFT_parser[2057]
+#define COLOR_parser___ReduceAction505___init SFT_parser[2058]
+#define ID_ReduceAction506 SFT_parser[2059]
+#define COLOR_ReduceAction506 SFT_parser[2060]
+#define INIT_TABLE_POS_ReduceAction506 SFT_parser[2061]
+#define COLOR_parser___ReduceAction506___init SFT_parser[2062]
+#define ID_ReduceAction507 SFT_parser[2063]
+#define COLOR_ReduceAction507 SFT_parser[2064]
+#define INIT_TABLE_POS_ReduceAction507 SFT_parser[2065]
+#define COLOR_parser___ReduceAction507___init SFT_parser[2066]
+#define ID_ReduceAction508 SFT_parser[2067]
+#define COLOR_ReduceAction508 SFT_parser[2068]
+#define INIT_TABLE_POS_ReduceAction508 SFT_parser[2069]
+#define COLOR_parser___ReduceAction508___init SFT_parser[2070]
+#define ID_ReduceAction509 SFT_parser[2071]
+#define COLOR_ReduceAction509 SFT_parser[2072]
+#define INIT_TABLE_POS_ReduceAction509 SFT_parser[2073]
+#define COLOR_parser___ReduceAction509___init SFT_parser[2074]
+#define ID_ReduceAction510 SFT_parser[2075]
+#define COLOR_ReduceAction510 SFT_parser[2076]
+#define INIT_TABLE_POS_ReduceAction510 SFT_parser[2077]
+#define COLOR_parser___ReduceAction510___init SFT_parser[2078]
+#define ID_ReduceAction511 SFT_parser[2079]
+#define COLOR_ReduceAction511 SFT_parser[2080]
+#define INIT_TABLE_POS_ReduceAction511 SFT_parser[2081]
+#define COLOR_parser___ReduceAction511___init SFT_parser[2082]
+#define ID_ReduceAction512 SFT_parser[2083]
+#define COLOR_ReduceAction512 SFT_parser[2084]
+#define INIT_TABLE_POS_ReduceAction512 SFT_parser[2085]
+#define COLOR_parser___ReduceAction512___init SFT_parser[2086]
+#define ID_ReduceAction513 SFT_parser[2087]
+#define COLOR_ReduceAction513 SFT_parser[2088]
+#define INIT_TABLE_POS_ReduceAction513 SFT_parser[2089]
+#define COLOR_parser___ReduceAction513___init SFT_parser[2090]
+#define ID_ReduceAction514 SFT_parser[2091]
+#define COLOR_ReduceAction514 SFT_parser[2092]
+#define INIT_TABLE_POS_ReduceAction514 SFT_parser[2093]
+#define COLOR_parser___ReduceAction514___init SFT_parser[2094]
+#define ID_ReduceAction515 SFT_parser[2095]
+#define COLOR_ReduceAction515 SFT_parser[2096]
+#define INIT_TABLE_POS_ReduceAction515 SFT_parser[2097]
+#define COLOR_parser___ReduceAction515___init SFT_parser[2098]
+#define ID_ReduceAction516 SFT_parser[2099]
+#define COLOR_ReduceAction516 SFT_parser[2100]
+#define INIT_TABLE_POS_ReduceAction516 SFT_parser[2101]
+#define COLOR_parser___ReduceAction516___init SFT_parser[2102]
+#define ID_ReduceAction517 SFT_parser[2103]
+#define COLOR_ReduceAction517 SFT_parser[2104]
+#define INIT_TABLE_POS_ReduceAction517 SFT_parser[2105]
+#define COLOR_parser___ReduceAction517___init SFT_parser[2106]
+#define ID_ReduceAction518 SFT_parser[2107]
+#define COLOR_ReduceAction518 SFT_parser[2108]
+#define INIT_TABLE_POS_ReduceAction518 SFT_parser[2109]
+#define COLOR_parser___ReduceAction518___init SFT_parser[2110]
+#define ID_ReduceAction519 SFT_parser[2111]
+#define COLOR_ReduceAction519 SFT_parser[2112]
+#define INIT_TABLE_POS_ReduceAction519 SFT_parser[2113]
+#define COLOR_parser___ReduceAction519___init SFT_parser[2114]
+#define ID_ReduceAction520 SFT_parser[2115]
+#define COLOR_ReduceAction520 SFT_parser[2116]
+#define INIT_TABLE_POS_ReduceAction520 SFT_parser[2117]
+#define COLOR_parser___ReduceAction520___init SFT_parser[2118]
+#define ID_ReduceAction521 SFT_parser[2119]
+#define COLOR_ReduceAction521 SFT_parser[2120]
+#define INIT_TABLE_POS_ReduceAction521 SFT_parser[2121]
+#define COLOR_parser___ReduceAction521___init SFT_parser[2122]
+#define ID_ReduceAction522 SFT_parser[2123]
+#define COLOR_ReduceAction522 SFT_parser[2124]
+#define INIT_TABLE_POS_ReduceAction522 SFT_parser[2125]
+#define COLOR_parser___ReduceAction522___init SFT_parser[2126]
+#define ID_ReduceAction523 SFT_parser[2127]
+#define COLOR_ReduceAction523 SFT_parser[2128]
+#define INIT_TABLE_POS_ReduceAction523 SFT_parser[2129]
+#define COLOR_parser___ReduceAction523___init SFT_parser[2130]
+#define ID_ReduceAction524 SFT_parser[2131]
+#define COLOR_ReduceAction524 SFT_parser[2132]
+#define INIT_TABLE_POS_ReduceAction524 SFT_parser[2133]
+#define COLOR_parser___ReduceAction524___init SFT_parser[2134]
+#define ID_ReduceAction525 SFT_parser[2135]
+#define COLOR_ReduceAction525 SFT_parser[2136]
+#define INIT_TABLE_POS_ReduceAction525 SFT_parser[2137]
+#define COLOR_parser___ReduceAction525___init SFT_parser[2138]
+#define ID_ReduceAction526 SFT_parser[2139]
+#define COLOR_ReduceAction526 SFT_parser[2140]
+#define INIT_TABLE_POS_ReduceAction526 SFT_parser[2141]
+#define COLOR_parser___ReduceAction526___init SFT_parser[2142]
+#define ID_ReduceAction527 SFT_parser[2143]
+#define COLOR_ReduceAction527 SFT_parser[2144]
+#define INIT_TABLE_POS_ReduceAction527 SFT_parser[2145]
+#define COLOR_parser___ReduceAction527___init SFT_parser[2146]
+#define ID_ReduceAction528 SFT_parser[2147]
+#define COLOR_ReduceAction528 SFT_parser[2148]
+#define INIT_TABLE_POS_ReduceAction528 SFT_parser[2149]
+#define COLOR_parser___ReduceAction528___init SFT_parser[2150]
+#define ID_ReduceAction529 SFT_parser[2151]
+#define COLOR_ReduceAction529 SFT_parser[2152]
+#define INIT_TABLE_POS_ReduceAction529 SFT_parser[2153]
+#define COLOR_parser___ReduceAction529___init SFT_parser[2154]
+#define ID_ReduceAction530 SFT_parser[2155]
+#define COLOR_ReduceAction530 SFT_parser[2156]
+#define INIT_TABLE_POS_ReduceAction530 SFT_parser[2157]
+#define COLOR_parser___ReduceAction530___init SFT_parser[2158]
+#define ID_ReduceAction531 SFT_parser[2159]
+#define COLOR_ReduceAction531 SFT_parser[2160]
+#define INIT_TABLE_POS_ReduceAction531 SFT_parser[2161]
+#define COLOR_parser___ReduceAction531___init SFT_parser[2162]
+#define ID_ReduceAction532 SFT_parser[2163]
+#define COLOR_ReduceAction532 SFT_parser[2164]
+#define INIT_TABLE_POS_ReduceAction532 SFT_parser[2165]
+#define COLOR_parser___ReduceAction532___init SFT_parser[2166]
+#define ID_ReduceAction533 SFT_parser[2167]
+#define COLOR_ReduceAction533 SFT_parser[2168]
+#define INIT_TABLE_POS_ReduceAction533 SFT_parser[2169]
+#define COLOR_parser___ReduceAction533___init SFT_parser[2170]
+#define ID_ReduceAction534 SFT_parser[2171]
+#define COLOR_ReduceAction534 SFT_parser[2172]
+#define INIT_TABLE_POS_ReduceAction534 SFT_parser[2173]
+#define COLOR_parser___ReduceAction534___init SFT_parser[2174]
+#define ID_ReduceAction535 SFT_parser[2175]
+#define COLOR_ReduceAction535 SFT_parser[2176]
+#define INIT_TABLE_POS_ReduceAction535 SFT_parser[2177]
+#define COLOR_parser___ReduceAction535___init SFT_parser[2178]
+#define ID_ReduceAction536 SFT_parser[2179]
+#define COLOR_ReduceAction536 SFT_parser[2180]
+#define INIT_TABLE_POS_ReduceAction536 SFT_parser[2181]
+#define COLOR_parser___ReduceAction536___init SFT_parser[2182]
+#define ID_ReduceAction537 SFT_parser[2183]
+#define COLOR_ReduceAction537 SFT_parser[2184]
+#define INIT_TABLE_POS_ReduceAction537 SFT_parser[2185]
+#define COLOR_parser___ReduceAction537___init SFT_parser[2186]
+#define ID_ReduceAction538 SFT_parser[2187]
+#define COLOR_ReduceAction538 SFT_parser[2188]
+#define INIT_TABLE_POS_ReduceAction538 SFT_parser[2189]
+#define COLOR_parser___ReduceAction538___init SFT_parser[2190]
+#define ID_ReduceAction539 SFT_parser[2191]
+#define COLOR_ReduceAction539 SFT_parser[2192]
+#define INIT_TABLE_POS_ReduceAction539 SFT_parser[2193]
+#define COLOR_parser___ReduceAction539___init SFT_parser[2194]
+#define ID_ReduceAction540 SFT_parser[2195]
+#define COLOR_ReduceAction540 SFT_parser[2196]
+#define INIT_TABLE_POS_ReduceAction540 SFT_parser[2197]
+#define COLOR_parser___ReduceAction540___init SFT_parser[2198]
+#define ID_ReduceAction541 SFT_parser[2199]
+#define COLOR_ReduceAction541 SFT_parser[2200]
+#define INIT_TABLE_POS_ReduceAction541 SFT_parser[2201]
+#define COLOR_parser___ReduceAction541___init SFT_parser[2202]
+#define ID_ReduceAction542 SFT_parser[2203]
+#define COLOR_ReduceAction542 SFT_parser[2204]
+#define INIT_TABLE_POS_ReduceAction542 SFT_parser[2205]
+#define COLOR_parser___ReduceAction542___init SFT_parser[2206]
+#define ID_ReduceAction543 SFT_parser[2207]
+#define COLOR_ReduceAction543 SFT_parser[2208]
+#define INIT_TABLE_POS_ReduceAction543 SFT_parser[2209]
+#define COLOR_parser___ReduceAction543___init SFT_parser[2210]
+#define ID_ReduceAction544 SFT_parser[2211]
+#define COLOR_ReduceAction544 SFT_parser[2212]
+#define INIT_TABLE_POS_ReduceAction544 SFT_parser[2213]
+#define COLOR_parser___ReduceAction544___init SFT_parser[2214]
+#define ID_ReduceAction545 SFT_parser[2215]
+#define COLOR_ReduceAction545 SFT_parser[2216]
+#define INIT_TABLE_POS_ReduceAction545 SFT_parser[2217]
+#define COLOR_parser___ReduceAction545___init SFT_parser[2218]
+#define ID_ReduceAction546 SFT_parser[2219]
+#define COLOR_ReduceAction546 SFT_parser[2220]
+#define INIT_TABLE_POS_ReduceAction546 SFT_parser[2221]
+#define COLOR_parser___ReduceAction546___init SFT_parser[2222]
+#define ID_ReduceAction547 SFT_parser[2223]
+#define COLOR_ReduceAction547 SFT_parser[2224]
+#define INIT_TABLE_POS_ReduceAction547 SFT_parser[2225]
+#define COLOR_parser___ReduceAction547___init SFT_parser[2226]
+#define ID_ReduceAction548 SFT_parser[2227]
+#define COLOR_ReduceAction548 SFT_parser[2228]
+#define INIT_TABLE_POS_ReduceAction548 SFT_parser[2229]
+#define COLOR_parser___ReduceAction548___init SFT_parser[2230]
+#define ID_ReduceAction549 SFT_parser[2231]
+#define COLOR_ReduceAction549 SFT_parser[2232]
+#define INIT_TABLE_POS_ReduceAction549 SFT_parser[2233]
+#define COLOR_parser___ReduceAction549___init SFT_parser[2234]
+#define ID_ReduceAction550 SFT_parser[2235]
+#define COLOR_ReduceAction550 SFT_parser[2236]
+#define INIT_TABLE_POS_ReduceAction550 SFT_parser[2237]
+#define COLOR_parser___ReduceAction550___init SFT_parser[2238]
+#define ID_ReduceAction551 SFT_parser[2239]
+#define COLOR_ReduceAction551 SFT_parser[2240]
+#define INIT_TABLE_POS_ReduceAction551 SFT_parser[2241]
+#define COLOR_parser___ReduceAction551___init SFT_parser[2242]
+#define ID_ReduceAction552 SFT_parser[2243]
+#define COLOR_ReduceAction552 SFT_parser[2244]
+#define INIT_TABLE_POS_ReduceAction552 SFT_parser[2245]
+#define COLOR_parser___ReduceAction552___init SFT_parser[2246]
+#define ID_ReduceAction553 SFT_parser[2247]
+#define COLOR_ReduceAction553 SFT_parser[2248]
+#define INIT_TABLE_POS_ReduceAction553 SFT_parser[2249]
+#define COLOR_parser___ReduceAction553___init SFT_parser[2250]
+#define ID_ReduceAction554 SFT_parser[2251]
+#define COLOR_ReduceAction554 SFT_parser[2252]
+#define INIT_TABLE_POS_ReduceAction554 SFT_parser[2253]
+#define COLOR_parser___ReduceAction554___init SFT_parser[2254]
+#define ID_ReduceAction555 SFT_parser[2255]
+#define COLOR_ReduceAction555 SFT_parser[2256]
+#define INIT_TABLE_POS_ReduceAction555 SFT_parser[2257]
+#define COLOR_parser___ReduceAction555___init SFT_parser[2258]
+#define ID_ReduceAction556 SFT_parser[2259]
+#define COLOR_ReduceAction556 SFT_parser[2260]
+#define INIT_TABLE_POS_ReduceAction556 SFT_parser[2261]
+#define COLOR_parser___ReduceAction556___init SFT_parser[2262]
+#define ID_ReduceAction557 SFT_parser[2263]
+#define COLOR_ReduceAction557 SFT_parser[2264]
+#define INIT_TABLE_POS_ReduceAction557 SFT_parser[2265]
+#define COLOR_parser___ReduceAction557___init SFT_parser[2266]
+#define ID_ReduceAction558 SFT_parser[2267]
+#define COLOR_ReduceAction558 SFT_parser[2268]
+#define INIT_TABLE_POS_ReduceAction558 SFT_parser[2269]
+#define COLOR_parser___ReduceAction558___init SFT_parser[2270]
+#define ID_ReduceAction559 SFT_parser[2271]
+#define COLOR_ReduceAction559 SFT_parser[2272]
+#define INIT_TABLE_POS_ReduceAction559 SFT_parser[2273]
+#define COLOR_parser___ReduceAction559___init SFT_parser[2274]
+#define ID_ReduceAction560 SFT_parser[2275]
+#define COLOR_ReduceAction560 SFT_parser[2276]
+#define INIT_TABLE_POS_ReduceAction560 SFT_parser[2277]
+#define COLOR_parser___ReduceAction560___init SFT_parser[2278]
+#define ID_ReduceAction561 SFT_parser[2279]
+#define COLOR_ReduceAction561 SFT_parser[2280]
+#define INIT_TABLE_POS_ReduceAction561 SFT_parser[2281]
+#define COLOR_parser___ReduceAction561___init SFT_parser[2282]
+#define ID_ReduceAction562 SFT_parser[2283]
+#define COLOR_ReduceAction562 SFT_parser[2284]
+#define INIT_TABLE_POS_ReduceAction562 SFT_parser[2285]
+#define COLOR_parser___ReduceAction562___init SFT_parser[2286]
+#define ID_ReduceAction563 SFT_parser[2287]
+#define COLOR_ReduceAction563 SFT_parser[2288]
+#define INIT_TABLE_POS_ReduceAction563 SFT_parser[2289]
+#define COLOR_parser___ReduceAction563___init SFT_parser[2290]
+#define ID_ReduceAction564 SFT_parser[2291]
+#define COLOR_ReduceAction564 SFT_parser[2292]
+#define INIT_TABLE_POS_ReduceAction564 SFT_parser[2293]
+#define COLOR_parser___ReduceAction564___init SFT_parser[2294]
+#define ID_ReduceAction565 SFT_parser[2295]
+#define COLOR_ReduceAction565 SFT_parser[2296]
+#define INIT_TABLE_POS_ReduceAction565 SFT_parser[2297]
+#define COLOR_parser___ReduceAction565___init SFT_parser[2298]
+#define ID_ReduceAction566 SFT_parser[2299]
+#define COLOR_ReduceAction566 SFT_parser[2300]
+#define INIT_TABLE_POS_ReduceAction566 SFT_parser[2301]
+#define COLOR_parser___ReduceAction566___init SFT_parser[2302]
+#define ID_ReduceAction567 SFT_parser[2303]
+#define COLOR_ReduceAction567 SFT_parser[2304]
+#define INIT_TABLE_POS_ReduceAction567 SFT_parser[2305]
+#define COLOR_parser___ReduceAction567___init SFT_parser[2306]
+#define ID_ReduceAction568 SFT_parser[2307]
+#define COLOR_ReduceAction568 SFT_parser[2308]
+#define INIT_TABLE_POS_ReduceAction568 SFT_parser[2309]
+#define COLOR_parser___ReduceAction568___init SFT_parser[2310]
+#define ID_ReduceAction569 SFT_parser[2311]
+#define COLOR_ReduceAction569 SFT_parser[2312]
+#define INIT_TABLE_POS_ReduceAction569 SFT_parser[2313]
+#define COLOR_parser___ReduceAction569___init SFT_parser[2314]
+#define ID_ReduceAction570 SFT_parser[2315]
+#define COLOR_ReduceAction570 SFT_parser[2316]
+#define INIT_TABLE_POS_ReduceAction570 SFT_parser[2317]
+#define COLOR_parser___ReduceAction570___init SFT_parser[2318]
+#define ID_ReduceAction571 SFT_parser[2319]
+#define COLOR_ReduceAction571 SFT_parser[2320]
+#define INIT_TABLE_POS_ReduceAction571 SFT_parser[2321]
+#define COLOR_parser___ReduceAction571___init SFT_parser[2322]
+#define ID_ReduceAction572 SFT_parser[2323]
+#define COLOR_ReduceAction572 SFT_parser[2324]
+#define INIT_TABLE_POS_ReduceAction572 SFT_parser[2325]
+#define COLOR_parser___ReduceAction572___init SFT_parser[2326]
 #define ATTR_parser___State____state(recv) ATTR(recv, COLOR_parser___State____state)
 typedef val_t (* parser___State___state_t)(val_t  self);
 val_t parser___State___state(val_t  self);
@@ -3542,6 +3543,10 @@ val_t NEW_parser___SearchTokensVisitor___init();
 typedef void (* parser___ReduceAction___action_t)(val_t  self, val_t  param0);
 void parser___ReduceAction___action(val_t  self, val_t  param0);
 #define LOCATE_parser___ReduceAction___action "parser::ReduceAction::action"
+typedef void (* parser___ReduceAction___init_t)(val_t  self, int* init_table);
+void parser___ReduceAction___init(val_t  self, int* init_table);
+val_t NEW_parser___ReduceAction___init();
+#define LOCATE_parser___ReduceAction___init "parser::ReduceAction::init"
 typedef void (* parser___ReduceAction0___action_t)(val_t  self, val_t  param0);
 void parser___ReduceAction0___action(val_t  self, val_t  param0);
 #define LOCATE_parser___ReduceAction0___action "parser::ReduceAction0::(parser::ReduceAction::action)"
index 82ad781..dc01cf4 100644 (file)
@@ -1,14 +1,40 @@
 /* This C file is generated by NIT to compile module parser_nodes. */
 #include "parser_nodes._sep.h"
+void parser_nodes___PNode___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_parser_nodes___PNode___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
+  tracehead = trace.prev;
+  return;
+}
+void parser_nodes___EOF___noinit(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 269, LOCATE_parser_nodes___EOF___noinit};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_EOF].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_EOF].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
+void parser_nodes___PError___noinit(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 273, LOCATE_parser_nodes___PError___noinit};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PError].i]) return;
+  ((parser_nodes___EOF___noinit_t)CALL( self,COLOR_parser_nodes___EOF___noinit))( self, init_table /*YYY*/) /*EOF::noinit*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PError].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
 val_t parser_nodes___PPropdef___n_doc(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 283, LOCATE_parser_nodes___PPropdef___n_doc};
+  struct trace_t trace = {NULL, NULL, 285, LOCATE_parser_nodes___PPropdef___n_doc};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
 }
 void parser_nodes___PPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 283, LOCATE_parser_nodes___PPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 285, LOCATE_parser_nodes___PPropdef___n_doc__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  param0;
@@ -16,14 +42,14 @@ void parser_nodes___PPropdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___PAble___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 286, LOCATE_parser_nodes___PAble___n_kwredef};
+  struct trace_t trace = {NULL, NULL, 288, LOCATE_parser_nodes___PAble___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
 }
 void parser_nodes___PAble___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 286, LOCATE_parser_nodes___PAble___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 288, LOCATE_parser_nodes___PAble___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  param0;
@@ -31,14 +57,14 @@ void parser_nodes___PAble___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___PParam___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 292, LOCATE_parser_nodes___PParam___n_id};
+  struct trace_t trace = {NULL, NULL, 294, LOCATE_parser_nodes___PParam___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
 }
 void parser_nodes___PParam___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 292, LOCATE_parser_nodes___PParam___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 294, LOCATE_parser_nodes___PParam___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ =  param0;
@@ -46,14 +72,14 @@ void parser_nodes___PParam___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___PParam___n_type(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 293, LOCATE_parser_nodes___PParam___n_type};
+  struct trace_t trace = {NULL, NULL, 295, LOCATE_parser_nodes___PParam___n_type};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/;
 }
 void parser_nodes___PParam___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 293, LOCATE_parser_nodes___PParam___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 295, LOCATE_parser_nodes___PParam___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ =  param0;
@@ -61,14 +87,14 @@ void parser_nodes___PParam___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AModule___n_packagedecl(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 303, LOCATE_parser_nodes___AModule___n_packagedecl};
+  struct trace_t trace = {NULL, NULL, 305, LOCATE_parser_nodes___AModule___n_packagedecl};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
 }
 void parser_nodes___AModule___n_packagedecl__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 303, LOCATE_parser_nodes___AModule___n_packagedecl__eq};
+  struct trace_t trace = {NULL, NULL, 305, LOCATE_parser_nodes___AModule___n_packagedecl__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ =  param0;
@@ -76,14 +102,14 @@ void parser_nodes___AModule___n_packagedecl__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AModule___n_imports(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 304, LOCATE_parser_nodes___AModule___n_imports};
+  struct trace_t trace = {NULL, NULL, 306, LOCATE_parser_nodes___AModule___n_imports};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
 }
 void parser_nodes___AModule___n_imports__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 304, LOCATE_parser_nodes___AModule___n_imports__eq};
+  struct trace_t trace = {NULL, NULL, 306, LOCATE_parser_nodes___AModule___n_imports__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/ =  param0;
@@ -91,14 +117,14 @@ void parser_nodes___AModule___n_imports__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AModule___n_classdefs(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 305, LOCATE_parser_nodes___AModule___n_classdefs};
+  struct trace_t trace = {NULL, NULL, 307, LOCATE_parser_nodes___AModule___n_classdefs};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
 }
 void parser_nodes___AModule___n_classdefs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 305, LOCATE_parser_nodes___AModule___n_classdefs__eq};
+  struct trace_t trace = {NULL, NULL, 307, LOCATE_parser_nodes___AModule___n_classdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/ =  param0;
@@ -106,14 +132,14 @@ void parser_nodes___AModule___n_classdefs__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___APackagedecl___n_doc(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 309, LOCATE_parser_nodes___APackagedecl___n_doc};
+  struct trace_t trace = {NULL, NULL, 311, LOCATE_parser_nodes___APackagedecl___n_doc};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
 }
 void parser_nodes___APackagedecl___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 309, LOCATE_parser_nodes___APackagedecl___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 311, LOCATE_parser_nodes___APackagedecl___n_doc__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ =  param0;
@@ -121,14 +147,14 @@ void parser_nodes___APackagedecl___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___APackagedecl___n_kwpackage(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 310, LOCATE_parser_nodes___APackagedecl___n_kwpackage};
+  struct trace_t trace = {NULL, NULL, 312, LOCATE_parser_nodes___APackagedecl___n_kwpackage};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
 }
 void parser_nodes___APackagedecl___n_kwpackage__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 310, LOCATE_parser_nodes___APackagedecl___n_kwpackage__eq};
+  struct trace_t trace = {NULL, NULL, 312, LOCATE_parser_nodes___APackagedecl___n_kwpackage__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ =  param0;
@@ -136,14 +162,14 @@ void parser_nodes___APackagedecl___n_kwpackage__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___APackagedecl___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 311, LOCATE_parser_nodes___APackagedecl___n_id};
+  struct trace_t trace = {NULL, NULL, 313, LOCATE_parser_nodes___APackagedecl___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
 }
 void parser_nodes___APackagedecl___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 311, LOCATE_parser_nodes___APackagedecl___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 313, LOCATE_parser_nodes___APackagedecl___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ =  param0;
@@ -151,14 +177,14 @@ void parser_nodes___APackagedecl___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AImport___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 315, LOCATE_parser_nodes___AImport___n_visibility};
+  struct trace_t trace = {NULL, NULL, 317, LOCATE_parser_nodes___AImport___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
 }
 void parser_nodes___AImport___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 315, LOCATE_parser_nodes___AImport___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 317, LOCATE_parser_nodes___AImport___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ =  param0;
@@ -166,14 +192,14 @@ void parser_nodes___AImport___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AImport___n_kwimport(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 316, LOCATE_parser_nodes___AImport___n_kwimport};
+  struct trace_t trace = {NULL, NULL, 318, LOCATE_parser_nodes___AImport___n_kwimport};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
 }
 void parser_nodes___AImport___n_kwimport__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 316, LOCATE_parser_nodes___AImport___n_kwimport__eq};
+  struct trace_t trace = {NULL, NULL, 318, LOCATE_parser_nodes___AImport___n_kwimport__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ =  param0;
@@ -181,14 +207,14 @@ void parser_nodes___AImport___n_kwimport__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AImport___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 317, LOCATE_parser_nodes___AImport___n_id};
+  struct trace_t trace = {NULL, NULL, 319, LOCATE_parser_nodes___AImport___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
 }
 void parser_nodes___AImport___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 317, LOCATE_parser_nodes___AImport___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 319, LOCATE_parser_nodes___AImport___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ =  param0;
@@ -196,14 +222,14 @@ void parser_nodes___AImport___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ANoImport___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 321, LOCATE_parser_nodes___ANoImport___n_visibility};
+  struct trace_t trace = {NULL, NULL, 323, LOCATE_parser_nodes___ANoImport___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
 }
 void parser_nodes___ANoImport___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 321, LOCATE_parser_nodes___ANoImport___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 323, LOCATE_parser_nodes___ANoImport___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ =  param0;
@@ -211,14 +237,14 @@ void parser_nodes___ANoImport___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ANoImport___n_kwimport(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 322, LOCATE_parser_nodes___ANoImport___n_kwimport};
+  struct trace_t trace = {NULL, NULL, 324, LOCATE_parser_nodes___ANoImport___n_kwimport};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
 }
 void parser_nodes___ANoImport___n_kwimport__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 322, LOCATE_parser_nodes___ANoImport___n_kwimport__eq};
+  struct trace_t trace = {NULL, NULL, 324, LOCATE_parser_nodes___ANoImport___n_kwimport__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ =  param0;
@@ -226,14 +252,14 @@ void parser_nodes___ANoImport___n_kwimport__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ANoImport___n_kwend(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 323, LOCATE_parser_nodes___ANoImport___n_kwend};
+  struct trace_t trace = {NULL, NULL, 325, LOCATE_parser_nodes___ANoImport___n_kwend};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
 }
 void parser_nodes___ANoImport___n_kwend__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 323, LOCATE_parser_nodes___ANoImport___n_kwend__eq};
+  struct trace_t trace = {NULL, NULL, 325, LOCATE_parser_nodes___ANoImport___n_kwend__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ =  param0;
@@ -241,14 +267,14 @@ void parser_nodes___ANoImport___n_kwend__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___APrivateVisibility___n_kwprivate(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 330, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate};
+  struct trace_t trace = {NULL, NULL, 332, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
 }
 void parser_nodes___APrivateVisibility___n_kwprivate__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 330, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate__eq};
+  struct trace_t trace = {NULL, NULL, 332, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ =  param0;
@@ -256,14 +282,14 @@ void parser_nodes___APrivateVisibility___n_kwprivate__eq(val_t  self, val_t  par
   return;
 }
 val_t parser_nodes___AProtectedVisibility___n_kwprotected(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 334, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected};
+  struct trace_t trace = {NULL, NULL, 336, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
 }
 void parser_nodes___AProtectedVisibility___n_kwprotected__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 334, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected__eq};
+  struct trace_t trace = {NULL, NULL, 336, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ =  param0;
@@ -271,14 +297,14 @@ void parser_nodes___AProtectedVisibility___n_kwprotected__eq(val_t  self, val_t
   return;
 }
 val_t parser_nodes___AIntrudeVisibility___n_kwintrude(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 338, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude};
+  struct trace_t trace = {NULL, NULL, 340, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
 }
 void parser_nodes___AIntrudeVisibility___n_kwintrude__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 338, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude__eq};
+  struct trace_t trace = {NULL, NULL, 340, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ =  param0;
@@ -286,14 +312,14 @@ void parser_nodes___AIntrudeVisibility___n_kwintrude__eq(val_t  self, val_t  par
   return;
 }
 val_t parser_nodes___AClassdef___n_doc(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 342, LOCATE_parser_nodes___AClassdef___n_doc};
+  struct trace_t trace = {NULL, NULL, 344, LOCATE_parser_nodes___AClassdef___n_doc};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
 }
 void parser_nodes___AClassdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 342, LOCATE_parser_nodes___AClassdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 344, LOCATE_parser_nodes___AClassdef___n_doc__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ =  param0;
@@ -301,14 +327,14 @@ void parser_nodes___AClassdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AClassdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 343, LOCATE_parser_nodes___AClassdef___n_kwredef};
+  struct trace_t trace = {NULL, NULL, 345, LOCATE_parser_nodes___AClassdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
 }
 void parser_nodes___AClassdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 343, LOCATE_parser_nodes___AClassdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 345, LOCATE_parser_nodes___AClassdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ =  param0;
@@ -316,14 +342,14 @@ void parser_nodes___AClassdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AClassdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 344, LOCATE_parser_nodes___AClassdef___n_visibility};
+  struct trace_t trace = {NULL, NULL, 346, LOCATE_parser_nodes___AClassdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
 }
 void parser_nodes___AClassdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 344, LOCATE_parser_nodes___AClassdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 346, LOCATE_parser_nodes___AClassdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ =  param0;
@@ -331,14 +357,14 @@ void parser_nodes___AClassdef___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AClassdef___n_classkind(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 345, LOCATE_parser_nodes___AClassdef___n_classkind};
+  struct trace_t trace = {NULL, NULL, 347, LOCATE_parser_nodes___AClassdef___n_classkind};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
 }
 void parser_nodes___AClassdef___n_classkind__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 345, LOCATE_parser_nodes___AClassdef___n_classkind__eq};
+  struct trace_t trace = {NULL, NULL, 347, LOCATE_parser_nodes___AClassdef___n_classkind__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ =  param0;
@@ -346,14 +372,14 @@ void parser_nodes___AClassdef___n_classkind__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AClassdef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 346, LOCATE_parser_nodes___AClassdef___n_id};
+  struct trace_t trace = {NULL, NULL, 348, LOCATE_parser_nodes___AClassdef___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
 }
 void parser_nodes___AClassdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 346, LOCATE_parser_nodes___AClassdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 348, LOCATE_parser_nodes___AClassdef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ =  param0;
@@ -361,14 +387,14 @@ void parser_nodes___AClassdef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AClassdef___n_formaldefs(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 347, LOCATE_parser_nodes___AClassdef___n_formaldefs};
+  struct trace_t trace = {NULL, NULL, 349, LOCATE_parser_nodes___AClassdef___n_formaldefs};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
 }
 void parser_nodes___AClassdef___n_formaldefs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 347, LOCATE_parser_nodes___AClassdef___n_formaldefs__eq};
+  struct trace_t trace = {NULL, NULL, 349, LOCATE_parser_nodes___AClassdef___n_formaldefs__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/ =  param0;
@@ -376,14 +402,14 @@ void parser_nodes___AClassdef___n_formaldefs__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AClassdef___n_superclasses(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 348, LOCATE_parser_nodes___AClassdef___n_superclasses};
+  struct trace_t trace = {NULL, NULL, 350, LOCATE_parser_nodes___AClassdef___n_superclasses};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
 }
 void parser_nodes___AClassdef___n_superclasses__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 348, LOCATE_parser_nodes___AClassdef___n_superclasses__eq};
+  struct trace_t trace = {NULL, NULL, 350, LOCATE_parser_nodes___AClassdef___n_superclasses__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/ =  param0;
@@ -391,14 +417,14 @@ void parser_nodes___AClassdef___n_superclasses__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AClassdef___n_propdefs(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 349, LOCATE_parser_nodes___AClassdef___n_propdefs};
+  struct trace_t trace = {NULL, NULL, 351, LOCATE_parser_nodes___AClassdef___n_propdefs};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
 }
 void parser_nodes___AClassdef___n_propdefs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 349, LOCATE_parser_nodes___AClassdef___n_propdefs__eq};
+  struct trace_t trace = {NULL, NULL, 351, LOCATE_parser_nodes___AClassdef___n_propdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/ =  param0;
@@ -406,14 +432,14 @@ void parser_nodes___AClassdef___n_propdefs__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ATopClassdef___n_propdefs(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 353, LOCATE_parser_nodes___ATopClassdef___n_propdefs};
+  struct trace_t trace = {NULL, NULL, 355, LOCATE_parser_nodes___ATopClassdef___n_propdefs};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
 }
 void parser_nodes___ATopClassdef___n_propdefs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 353, LOCATE_parser_nodes___ATopClassdef___n_propdefs__eq};
+  struct trace_t trace = {NULL, NULL, 355, LOCATE_parser_nodes___ATopClassdef___n_propdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/ =  param0;
@@ -421,14 +447,14 @@ void parser_nodes___ATopClassdef___n_propdefs__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AMainClassdef___n_propdefs(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 357, LOCATE_parser_nodes___AMainClassdef___n_propdefs};
+  struct trace_t trace = {NULL, NULL, 359, LOCATE_parser_nodes___AMainClassdef___n_propdefs};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
 }
 void parser_nodes___AMainClassdef___n_propdefs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 357, LOCATE_parser_nodes___AMainClassdef___n_propdefs__eq};
+  struct trace_t trace = {NULL, NULL, 359, LOCATE_parser_nodes___AMainClassdef___n_propdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/ =  param0;
@@ -436,14 +462,14 @@ void parser_nodes___AMainClassdef___n_propdefs__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AConcreteClasskind___n_kwclass(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 361, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass};
+  struct trace_t trace = {NULL, NULL, 363, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
 }
 void parser_nodes___AConcreteClasskind___n_kwclass__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 361, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass__eq};
+  struct trace_t trace = {NULL, NULL, 363, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ =  param0;
@@ -451,14 +477,14 @@ void parser_nodes___AConcreteClasskind___n_kwclass__eq(val_t  self, val_t  param
   return;
 }
 val_t parser_nodes___AAbstractClasskind___n_kwabstract(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 365, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract};
+  struct trace_t trace = {NULL, NULL, 367, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
 }
 void parser_nodes___AAbstractClasskind___n_kwabstract__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 365, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract__eq};
+  struct trace_t trace = {NULL, NULL, 367, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ =  param0;
@@ -466,14 +492,14 @@ void parser_nodes___AAbstractClasskind___n_kwabstract__eq(val_t  self, val_t  pa
   return;
 }
 val_t parser_nodes___AAbstractClasskind___n_kwclass(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 366, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass};
+  struct trace_t trace = {NULL, NULL, 368, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
 }
 void parser_nodes___AAbstractClasskind___n_kwclass__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 366, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass__eq};
+  struct trace_t trace = {NULL, NULL, 368, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ =  param0;
@@ -481,14 +507,14 @@ void parser_nodes___AAbstractClasskind___n_kwclass__eq(val_t  self, val_t  param
   return;
 }
 val_t parser_nodes___AInterfaceClasskind___n_kwinterface(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 370, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface};
+  struct trace_t trace = {NULL, NULL, 372, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
 }
 void parser_nodes___AInterfaceClasskind___n_kwinterface__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 370, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface__eq};
+  struct trace_t trace = {NULL, NULL, 372, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ =  param0;
@@ -496,14 +522,14 @@ void parser_nodes___AInterfaceClasskind___n_kwinterface__eq(val_t  self, val_t
   return;
 }
 val_t parser_nodes___AUniversalClasskind___n_kwuniversal(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 374, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal};
+  struct trace_t trace = {NULL, NULL, 376, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
 }
 void parser_nodes___AUniversalClasskind___n_kwuniversal__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 374, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal__eq};
+  struct trace_t trace = {NULL, NULL, 376, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ =  param0;
@@ -511,14 +537,14 @@ void parser_nodes___AUniversalClasskind___n_kwuniversal__eq(val_t  self, val_t
   return;
 }
 val_t parser_nodes___AFormaldef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 378, LOCATE_parser_nodes___AFormaldef___n_id};
+  struct trace_t trace = {NULL, NULL, 380, LOCATE_parser_nodes___AFormaldef___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
 }
 void parser_nodes___AFormaldef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 378, LOCATE_parser_nodes___AFormaldef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 380, LOCATE_parser_nodes___AFormaldef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ =  param0;
@@ -526,14 +552,14 @@ void parser_nodes___AFormaldef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AFormaldef___n_type(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 379, LOCATE_parser_nodes___AFormaldef___n_type};
+  struct trace_t trace = {NULL, NULL, 381, LOCATE_parser_nodes___AFormaldef___n_type};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
 }
 void parser_nodes___AFormaldef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 379, LOCATE_parser_nodes___AFormaldef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 381, LOCATE_parser_nodes___AFormaldef___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ =  param0;
@@ -541,14 +567,14 @@ void parser_nodes___AFormaldef___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ASuperclass___n_kwspecial(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 383, LOCATE_parser_nodes___ASuperclass___n_kwspecial};
+  struct trace_t trace = {NULL, NULL, 385, LOCATE_parser_nodes___ASuperclass___n_kwspecial};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
 }
 void parser_nodes___ASuperclass___n_kwspecial__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 383, LOCATE_parser_nodes___ASuperclass___n_kwspecial__eq};
+  struct trace_t trace = {NULL, NULL, 385, LOCATE_parser_nodes___ASuperclass___n_kwspecial__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ =  param0;
@@ -556,14 +582,14 @@ void parser_nodes___ASuperclass___n_kwspecial__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ASuperclass___n_type(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 384, LOCATE_parser_nodes___ASuperclass___n_type};
+  struct trace_t trace = {NULL, NULL, 386, LOCATE_parser_nodes___ASuperclass___n_type};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
 }
 void parser_nodes___ASuperclass___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 384, LOCATE_parser_nodes___ASuperclass___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 386, LOCATE_parser_nodes___ASuperclass___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ =  param0;
@@ -571,14 +597,14 @@ void parser_nodes___ASuperclass___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 388, LOCATE_parser_nodes___AAttrPropdef___n_kwredef};
+  struct trace_t trace = {NULL, NULL, 390, LOCATE_parser_nodes___AAttrPropdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
 }
 void parser_nodes___AAttrPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 388, LOCATE_parser_nodes___AAttrPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 390, LOCATE_parser_nodes___AAttrPropdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ =  param0;
@@ -586,14 +612,14 @@ void parser_nodes___AAttrPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 389, LOCATE_parser_nodes___AAttrPropdef___n_visibility};
+  struct trace_t trace = {NULL, NULL, 391, LOCATE_parser_nodes___AAttrPropdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
 }
 void parser_nodes___AAttrPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 389, LOCATE_parser_nodes___AAttrPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 391, LOCATE_parser_nodes___AAttrPropdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ =  param0;
@@ -601,14 +627,14 @@ void parser_nodes___AAttrPropdef___n_visibility__eq(val_t  self, val_t  param0)
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_kwattr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 390, LOCATE_parser_nodes___AAttrPropdef___n_kwattr};
+  struct trace_t trace = {NULL, NULL, 392, LOCATE_parser_nodes___AAttrPropdef___n_kwattr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
 }
 void parser_nodes___AAttrPropdef___n_kwattr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 390, LOCATE_parser_nodes___AAttrPropdef___n_kwattr__eq};
+  struct trace_t trace = {NULL, NULL, 392, LOCATE_parser_nodes___AAttrPropdef___n_kwattr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ =  param0;
@@ -616,14 +642,14 @@ void parser_nodes___AAttrPropdef___n_kwattr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 391, LOCATE_parser_nodes___AAttrPropdef___n_id};
+  struct trace_t trace = {NULL, NULL, 393, LOCATE_parser_nodes___AAttrPropdef___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
 }
 void parser_nodes___AAttrPropdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 391, LOCATE_parser_nodes___AAttrPropdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 393, LOCATE_parser_nodes___AAttrPropdef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ =  param0;
@@ -631,14 +657,14 @@ void parser_nodes___AAttrPropdef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_type(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 392, LOCATE_parser_nodes___AAttrPropdef___n_type};
+  struct trace_t trace = {NULL, NULL, 394, LOCATE_parser_nodes___AAttrPropdef___n_type};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
 }
 void parser_nodes___AAttrPropdef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 392, LOCATE_parser_nodes___AAttrPropdef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 394, LOCATE_parser_nodes___AAttrPropdef___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ =  param0;
@@ -646,14 +672,14 @@ void parser_nodes___AAttrPropdef___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_readable(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 393, LOCATE_parser_nodes___AAttrPropdef___n_readable};
+  struct trace_t trace = {NULL, NULL, 395, LOCATE_parser_nodes___AAttrPropdef___n_readable};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
 }
 void parser_nodes___AAttrPropdef___n_readable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 393, LOCATE_parser_nodes___AAttrPropdef___n_readable__eq};
+  struct trace_t trace = {NULL, NULL, 395, LOCATE_parser_nodes___AAttrPropdef___n_readable__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ =  param0;
@@ -661,14 +687,14 @@ void parser_nodes___AAttrPropdef___n_readable__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_writable(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 394, LOCATE_parser_nodes___AAttrPropdef___n_writable};
+  struct trace_t trace = {NULL, NULL, 396, LOCATE_parser_nodes___AAttrPropdef___n_writable};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
 }
 void parser_nodes___AAttrPropdef___n_writable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 394, LOCATE_parser_nodes___AAttrPropdef___n_writable__eq};
+  struct trace_t trace = {NULL, NULL, 396, LOCATE_parser_nodes___AAttrPropdef___n_writable__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ =  param0;
@@ -676,14 +702,14 @@ void parser_nodes___AAttrPropdef___n_writable__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 395, LOCATE_parser_nodes___AAttrPropdef___n_expr};
+  struct trace_t trace = {NULL, NULL, 397, LOCATE_parser_nodes___AAttrPropdef___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
 }
 void parser_nodes___AAttrPropdef___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 395, LOCATE_parser_nodes___AAttrPropdef___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 397, LOCATE_parser_nodes___AAttrPropdef___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ =  param0;
@@ -691,14 +717,14 @@ void parser_nodes___AAttrPropdef___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AMethPropdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 399, LOCATE_parser_nodes___AMethPropdef___n_kwredef};
+  struct trace_t trace = {NULL, NULL, 401, LOCATE_parser_nodes___AMethPropdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
 }
 void parser_nodes___AMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 399, LOCATE_parser_nodes___AMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 401, LOCATE_parser_nodes___AMethPropdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  param0;
@@ -706,14 +732,14 @@ void parser_nodes___AMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AMethPropdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 400, LOCATE_parser_nodes___AMethPropdef___n_visibility};
+  struct trace_t trace = {NULL, NULL, 402, LOCATE_parser_nodes___AMethPropdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
 }
 void parser_nodes___AMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 400, LOCATE_parser_nodes___AMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 402, LOCATE_parser_nodes___AMethPropdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  param0;
@@ -721,14 +747,14 @@ void parser_nodes___AMethPropdef___n_visibility__eq(val_t  self, val_t  param0)
   return;
 }
 val_t parser_nodes___AMethPropdef___n_methid(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 401, LOCATE_parser_nodes___AMethPropdef___n_methid};
+  struct trace_t trace = {NULL, NULL, 403, LOCATE_parser_nodes___AMethPropdef___n_methid};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
 }
 void parser_nodes___AMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 401, LOCATE_parser_nodes___AMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 403, LOCATE_parser_nodes___AMethPropdef___n_methid__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  param0;
@@ -736,14 +762,14 @@ void parser_nodes___AMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AMethPropdef___n_signature(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 402, LOCATE_parser_nodes___AMethPropdef___n_signature};
+  struct trace_t trace = {NULL, NULL, 404, LOCATE_parser_nodes___AMethPropdef___n_signature};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
 }
 void parser_nodes___AMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 402, LOCATE_parser_nodes___AMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 404, LOCATE_parser_nodes___AMethPropdef___n_signature__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  param0;
@@ -751,14 +777,14 @@ void parser_nodes___AMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ADeferredMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 406, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth};
+  struct trace_t trace = {NULL, NULL, 408, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
 }
 void parser_nodes___ADeferredMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 406, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 408, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ =  param0;
@@ -766,14 +792,14 @@ void parser_nodes___ADeferredMethPropdef___n_kwmeth__eq(val_t  self, val_t  para
   return;
 }
 val_t parser_nodes___AInternMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 410, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth};
+  struct trace_t trace = {NULL, NULL, 412, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
 }
 void parser_nodes___AInternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 410, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 412, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ =  param0;
@@ -781,14 +807,14 @@ void parser_nodes___AInternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0
   return;
 }
 val_t parser_nodes___AExternMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 414, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth};
+  struct trace_t trace = {NULL, NULL, 416, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
 }
 void parser_nodes___AExternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 414, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 416, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ =  param0;
@@ -796,14 +822,14 @@ void parser_nodes___AExternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0
   return;
 }
 val_t parser_nodes___AExternMethPropdef___n_extern(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 415, LOCATE_parser_nodes___AExternMethPropdef___n_extern};
+  struct trace_t trace = {NULL, NULL, 417, LOCATE_parser_nodes___AExternMethPropdef___n_extern};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
 }
 void parser_nodes___AExternMethPropdef___n_extern__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 415, LOCATE_parser_nodes___AExternMethPropdef___n_extern__eq};
+  struct trace_t trace = {NULL, NULL, 417, LOCATE_parser_nodes___AExternMethPropdef___n_extern__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ =  param0;
@@ -811,14 +837,14 @@ void parser_nodes___AExternMethPropdef___n_extern__eq(val_t  self, val_t  param0
   return;
 }
 val_t parser_nodes___AConcreteMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 419, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth};
+  struct trace_t trace = {NULL, NULL, 421, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
 }
 void parser_nodes___AConcreteMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 419, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 421, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ =  param0;
@@ -826,14 +852,14 @@ void parser_nodes___AConcreteMethPropdef___n_kwmeth__eq(val_t  self, val_t  para
   return;
 }
 val_t parser_nodes___AConcreteMethPropdef___n_block(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 420, LOCATE_parser_nodes___AConcreteMethPropdef___n_block};
+  struct trace_t trace = {NULL, NULL, 422, LOCATE_parser_nodes___AConcreteMethPropdef___n_block};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
 }
 void parser_nodes___AConcreteMethPropdef___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 420, LOCATE_parser_nodes___AConcreteMethPropdef___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 422, LOCATE_parser_nodes___AConcreteMethPropdef___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  param0;
@@ -841,14 +867,14 @@ void parser_nodes___AConcreteMethPropdef___n_block__eq(val_t  self, val_t  param
   return;
 }
 val_t parser_nodes___AConcreteInitPropdef___n_kwinit(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 424, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit};
+  struct trace_t trace = {NULL, NULL, 426, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
 }
 void parser_nodes___AConcreteInitPropdef___n_kwinit__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 424, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit__eq};
+  struct trace_t trace = {NULL, NULL, 426, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ =  param0;
@@ -856,14 +882,14 @@ void parser_nodes___AConcreteInitPropdef___n_kwinit__eq(val_t  self, val_t  para
   return;
 }
 val_t parser_nodes___ATypePropdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 431, LOCATE_parser_nodes___ATypePropdef___n_kwredef};
+  struct trace_t trace = {NULL, NULL, 433, LOCATE_parser_nodes___ATypePropdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
 }
 void parser_nodes___ATypePropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 431, LOCATE_parser_nodes___ATypePropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 433, LOCATE_parser_nodes___ATypePropdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ =  param0;
@@ -871,14 +897,14 @@ void parser_nodes___ATypePropdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ATypePropdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 432, LOCATE_parser_nodes___ATypePropdef___n_visibility};
+  struct trace_t trace = {NULL, NULL, 434, LOCATE_parser_nodes___ATypePropdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
 }
 void parser_nodes___ATypePropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 432, LOCATE_parser_nodes___ATypePropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 434, LOCATE_parser_nodes___ATypePropdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ =  param0;
@@ -886,14 +912,14 @@ void parser_nodes___ATypePropdef___n_visibility__eq(val_t  self, val_t  param0)
   return;
 }
 val_t parser_nodes___ATypePropdef___n_kwtype(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 433, LOCATE_parser_nodes___ATypePropdef___n_kwtype};
+  struct trace_t trace = {NULL, NULL, 435, LOCATE_parser_nodes___ATypePropdef___n_kwtype};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
 }
 void parser_nodes___ATypePropdef___n_kwtype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 433, LOCATE_parser_nodes___ATypePropdef___n_kwtype__eq};
+  struct trace_t trace = {NULL, NULL, 435, LOCATE_parser_nodes___ATypePropdef___n_kwtype__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ =  param0;
@@ -901,14 +927,14 @@ void parser_nodes___ATypePropdef___n_kwtype__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ATypePropdef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 434, LOCATE_parser_nodes___ATypePropdef___n_id};
+  struct trace_t trace = {NULL, NULL, 436, LOCATE_parser_nodes___ATypePropdef___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
 }
 void parser_nodes___ATypePropdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 434, LOCATE_parser_nodes___ATypePropdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 436, LOCATE_parser_nodes___ATypePropdef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ =  param0;
@@ -916,14 +942,14 @@ void parser_nodes___ATypePropdef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ATypePropdef___n_type(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 435, LOCATE_parser_nodes___ATypePropdef___n_type};
+  struct trace_t trace = {NULL, NULL, 437, LOCATE_parser_nodes___ATypePropdef___n_type};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
 }
 void parser_nodes___ATypePropdef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 435, LOCATE_parser_nodes___ATypePropdef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 437, LOCATE_parser_nodes___ATypePropdef___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ =  param0;
@@ -931,14 +957,14 @@ void parser_nodes___ATypePropdef___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AReadAble___n_kwreadable(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 439, LOCATE_parser_nodes___AReadAble___n_kwreadable};
+  struct trace_t trace = {NULL, NULL, 441, LOCATE_parser_nodes___AReadAble___n_kwreadable};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
 }
 void parser_nodes___AReadAble___n_kwreadable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 439, LOCATE_parser_nodes___AReadAble___n_kwreadable__eq};
+  struct trace_t trace = {NULL, NULL, 441, LOCATE_parser_nodes___AReadAble___n_kwreadable__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ =  param0;
@@ -946,14 +972,14 @@ void parser_nodes___AReadAble___n_kwreadable__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AWriteAble___n_kwwritable(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 443, LOCATE_parser_nodes___AWriteAble___n_kwwritable};
+  struct trace_t trace = {NULL, NULL, 445, LOCATE_parser_nodes___AWriteAble___n_kwwritable};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
 }
 void parser_nodes___AWriteAble___n_kwwritable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 443, LOCATE_parser_nodes___AWriteAble___n_kwwritable__eq};
+  struct trace_t trace = {NULL, NULL, 445, LOCATE_parser_nodes___AWriteAble___n_kwwritable__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ =  param0;
@@ -961,14 +987,14 @@ void parser_nodes___AWriteAble___n_kwwritable__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIdMethid___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 447, LOCATE_parser_nodes___AIdMethid___n_id};
+  struct trace_t trace = {NULL, NULL, 449, LOCATE_parser_nodes___AIdMethid___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
 }
 void parser_nodes___AIdMethid___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 447, LOCATE_parser_nodes___AIdMethid___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 449, LOCATE_parser_nodes___AIdMethid___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ =  param0;
@@ -976,14 +1002,14 @@ void parser_nodes___AIdMethid___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___APlusMethid___n_plus(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 451, LOCATE_parser_nodes___APlusMethid___n_plus};
+  struct trace_t trace = {NULL, NULL, 453, LOCATE_parser_nodes___APlusMethid___n_plus};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
 }
 void parser_nodes___APlusMethid___n_plus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 451, LOCATE_parser_nodes___APlusMethid___n_plus__eq};
+  struct trace_t trace = {NULL, NULL, 453, LOCATE_parser_nodes___APlusMethid___n_plus__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ =  param0;
@@ -991,14 +1017,14 @@ void parser_nodes___APlusMethid___n_plus__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AMinusMethid___n_minus(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 455, LOCATE_parser_nodes___AMinusMethid___n_minus};
+  struct trace_t trace = {NULL, NULL, 457, LOCATE_parser_nodes___AMinusMethid___n_minus};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
 }
 void parser_nodes___AMinusMethid___n_minus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 455, LOCATE_parser_nodes___AMinusMethid___n_minus__eq};
+  struct trace_t trace = {NULL, NULL, 457, LOCATE_parser_nodes___AMinusMethid___n_minus__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ =  param0;
@@ -1006,14 +1032,14 @@ void parser_nodes___AMinusMethid___n_minus__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AStarMethid___n_star(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 459, LOCATE_parser_nodes___AStarMethid___n_star};
+  struct trace_t trace = {NULL, NULL, 461, LOCATE_parser_nodes___AStarMethid___n_star};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
 }
 void parser_nodes___AStarMethid___n_star__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 459, LOCATE_parser_nodes___AStarMethid___n_star__eq};
+  struct trace_t trace = {NULL, NULL, 461, LOCATE_parser_nodes___AStarMethid___n_star__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ =  param0;
@@ -1021,14 +1047,14 @@ void parser_nodes___AStarMethid___n_star__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ASlashMethid___n_slash(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 463, LOCATE_parser_nodes___ASlashMethid___n_slash};
+  struct trace_t trace = {NULL, NULL, 465, LOCATE_parser_nodes___ASlashMethid___n_slash};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
 }
 void parser_nodes___ASlashMethid___n_slash__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 463, LOCATE_parser_nodes___ASlashMethid___n_slash__eq};
+  struct trace_t trace = {NULL, NULL, 465, LOCATE_parser_nodes___ASlashMethid___n_slash__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ =  param0;
@@ -1036,14 +1062,14 @@ void parser_nodes___ASlashMethid___n_slash__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___APercentMethid___n_percent(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 467, LOCATE_parser_nodes___APercentMethid___n_percent};
+  struct trace_t trace = {NULL, NULL, 469, LOCATE_parser_nodes___APercentMethid___n_percent};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
 }
 void parser_nodes___APercentMethid___n_percent__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 467, LOCATE_parser_nodes___APercentMethid___n_percent__eq};
+  struct trace_t trace = {NULL, NULL, 469, LOCATE_parser_nodes___APercentMethid___n_percent__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ =  param0;
@@ -1051,14 +1077,14 @@ void parser_nodes___APercentMethid___n_percent__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AEqMethid___n_eq(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 471, LOCATE_parser_nodes___AEqMethid___n_eq};
+  struct trace_t trace = {NULL, NULL, 473, LOCATE_parser_nodes___AEqMethid___n_eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
 }
 void parser_nodes___AEqMethid___n_eq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 471, LOCATE_parser_nodes___AEqMethid___n_eq__eq};
+  struct trace_t trace = {NULL, NULL, 473, LOCATE_parser_nodes___AEqMethid___n_eq__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ =  param0;
@@ -1066,14 +1092,14 @@ void parser_nodes___AEqMethid___n_eq__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ANeMethid___n_ne(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 475, LOCATE_parser_nodes___ANeMethid___n_ne};
+  struct trace_t trace = {NULL, NULL, 477, LOCATE_parser_nodes___ANeMethid___n_ne};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
 }
 void parser_nodes___ANeMethid___n_ne__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 475, LOCATE_parser_nodes___ANeMethid___n_ne__eq};
+  struct trace_t trace = {NULL, NULL, 477, LOCATE_parser_nodes___ANeMethid___n_ne__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ =  param0;
@@ -1081,14 +1107,14 @@ void parser_nodes___ANeMethid___n_ne__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ALeMethid___n_le(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 479, LOCATE_parser_nodes___ALeMethid___n_le};
+  struct trace_t trace = {NULL, NULL, 481, LOCATE_parser_nodes___ALeMethid___n_le};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
 }
 void parser_nodes___ALeMethid___n_le__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 479, LOCATE_parser_nodes___ALeMethid___n_le__eq};
+  struct trace_t trace = {NULL, NULL, 481, LOCATE_parser_nodes___ALeMethid___n_le__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ =  param0;
@@ -1096,14 +1122,14 @@ void parser_nodes___ALeMethid___n_le__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AGeMethid___n_ge(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 483, LOCATE_parser_nodes___AGeMethid___n_ge};
+  struct trace_t trace = {NULL, NULL, 485, LOCATE_parser_nodes___AGeMethid___n_ge};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
 }
 void parser_nodes___AGeMethid___n_ge__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 483, LOCATE_parser_nodes___AGeMethid___n_ge__eq};
+  struct trace_t trace = {NULL, NULL, 485, LOCATE_parser_nodes___AGeMethid___n_ge__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ =  param0;
@@ -1111,14 +1137,14 @@ void parser_nodes___AGeMethid___n_ge__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ALtMethid___n_lt(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 487, LOCATE_parser_nodes___ALtMethid___n_lt};
+  struct trace_t trace = {NULL, NULL, 489, LOCATE_parser_nodes___ALtMethid___n_lt};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
 }
 void parser_nodes___ALtMethid___n_lt__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 487, LOCATE_parser_nodes___ALtMethid___n_lt__eq};
+  struct trace_t trace = {NULL, NULL, 489, LOCATE_parser_nodes___ALtMethid___n_lt__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ =  param0;
@@ -1126,14 +1152,14 @@ void parser_nodes___ALtMethid___n_lt__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AGtMethid___n_gt(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 491, LOCATE_parser_nodes___AGtMethid___n_gt};
+  struct trace_t trace = {NULL, NULL, 493, LOCATE_parser_nodes___AGtMethid___n_gt};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
 }
 void parser_nodes___AGtMethid___n_gt__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 491, LOCATE_parser_nodes___AGtMethid___n_gt__eq};
+  struct trace_t trace = {NULL, NULL, 493, LOCATE_parser_nodes___AGtMethid___n_gt__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ =  param0;
@@ -1141,14 +1167,14 @@ void parser_nodes___AGtMethid___n_gt__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ABraMethid___n_obra(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 495, LOCATE_parser_nodes___ABraMethid___n_obra};
+  struct trace_t trace = {NULL, NULL, 497, LOCATE_parser_nodes___ABraMethid___n_obra};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
 }
 void parser_nodes___ABraMethid___n_obra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 495, LOCATE_parser_nodes___ABraMethid___n_obra__eq};
+  struct trace_t trace = {NULL, NULL, 497, LOCATE_parser_nodes___ABraMethid___n_obra__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ =  param0;
@@ -1156,14 +1182,14 @@ void parser_nodes___ABraMethid___n_obra__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ABraMethid___n_cbra(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 496, LOCATE_parser_nodes___ABraMethid___n_cbra};
+  struct trace_t trace = {NULL, NULL, 498, LOCATE_parser_nodes___ABraMethid___n_cbra};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
 }
 void parser_nodes___ABraMethid___n_cbra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 496, LOCATE_parser_nodes___ABraMethid___n_cbra__eq};
+  struct trace_t trace = {NULL, NULL, 498, LOCATE_parser_nodes___ABraMethid___n_cbra__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ =  param0;
@@ -1171,14 +1197,14 @@ void parser_nodes___ABraMethid___n_cbra__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AStarshipMethid___n_starship(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 500, LOCATE_parser_nodes___AStarshipMethid___n_starship};
+  struct trace_t trace = {NULL, NULL, 502, LOCATE_parser_nodes___AStarshipMethid___n_starship};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
 }
 void parser_nodes___AStarshipMethid___n_starship__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 500, LOCATE_parser_nodes___AStarshipMethid___n_starship__eq};
+  struct trace_t trace = {NULL, NULL, 502, LOCATE_parser_nodes___AStarshipMethid___n_starship__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ =  param0;
@@ -1186,14 +1212,14 @@ void parser_nodes___AStarshipMethid___n_starship__eq(val_t  self, val_t  param0)
   return;
 }
 val_t parser_nodes___AAssignMethid___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 504, LOCATE_parser_nodes___AAssignMethid___n_id};
+  struct trace_t trace = {NULL, NULL, 506, LOCATE_parser_nodes___AAssignMethid___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
 }
 void parser_nodes___AAssignMethid___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 504, LOCATE_parser_nodes___AAssignMethid___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 506, LOCATE_parser_nodes___AAssignMethid___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ =  param0;
@@ -1201,14 +1227,14 @@ void parser_nodes___AAssignMethid___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAssignMethid___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 505, LOCATE_parser_nodes___AAssignMethid___n_assign};
+  struct trace_t trace = {NULL, NULL, 507, LOCATE_parser_nodes___AAssignMethid___n_assign};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
 }
 void parser_nodes___AAssignMethid___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 505, LOCATE_parser_nodes___AAssignMethid___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 507, LOCATE_parser_nodes___AAssignMethid___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ =  param0;
@@ -1216,14 +1242,14 @@ void parser_nodes___AAssignMethid___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ABraassignMethid___n_obra(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 509, LOCATE_parser_nodes___ABraassignMethid___n_obra};
+  struct trace_t trace = {NULL, NULL, 511, LOCATE_parser_nodes___ABraassignMethid___n_obra};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
 }
 void parser_nodes___ABraassignMethid___n_obra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 509, LOCATE_parser_nodes___ABraassignMethid___n_obra__eq};
+  struct trace_t trace = {NULL, NULL, 511, LOCATE_parser_nodes___ABraassignMethid___n_obra__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ =  param0;
@@ -1231,14 +1257,14 @@ void parser_nodes___ABraassignMethid___n_obra__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ABraassignMethid___n_cbra(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 510, LOCATE_parser_nodes___ABraassignMethid___n_cbra};
+  struct trace_t trace = {NULL, NULL, 512, LOCATE_parser_nodes___ABraassignMethid___n_cbra};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
 }
 void parser_nodes___ABraassignMethid___n_cbra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 510, LOCATE_parser_nodes___ABraassignMethid___n_cbra__eq};
+  struct trace_t trace = {NULL, NULL, 512, LOCATE_parser_nodes___ABraassignMethid___n_cbra__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ =  param0;
@@ -1246,14 +1272,14 @@ void parser_nodes___ABraassignMethid___n_cbra__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ABraassignMethid___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 511, LOCATE_parser_nodes___ABraassignMethid___n_assign};
+  struct trace_t trace = {NULL, NULL, 513, LOCATE_parser_nodes___ABraassignMethid___n_assign};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
 }
 void parser_nodes___ABraassignMethid___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 511, LOCATE_parser_nodes___ABraassignMethid___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 513, LOCATE_parser_nodes___ABraassignMethid___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ =  param0;
@@ -1261,14 +1287,14 @@ void parser_nodes___ABraassignMethid___n_assign__eq(val_t  self, val_t  param0)
   return;
 }
 val_t parser_nodes___ASignature___n_params(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 515, LOCATE_parser_nodes___ASignature___n_params};
+  struct trace_t trace = {NULL, NULL, 517, LOCATE_parser_nodes___ASignature___n_params};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
 }
 void parser_nodes___ASignature___n_params__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 515, LOCATE_parser_nodes___ASignature___n_params__eq};
+  struct trace_t trace = {NULL, NULL, 517, LOCATE_parser_nodes___ASignature___n_params__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/ =  param0;
@@ -1276,14 +1302,14 @@ void parser_nodes___ASignature___n_params__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ASignature___n_type(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 516, LOCATE_parser_nodes___ASignature___n_type};
+  struct trace_t trace = {NULL, NULL, 518, LOCATE_parser_nodes___ASignature___n_type};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
 }
 void parser_nodes___ASignature___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 516, LOCATE_parser_nodes___ASignature___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 518, LOCATE_parser_nodes___ASignature___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ =  param0;
@@ -1291,14 +1317,14 @@ void parser_nodes___ASignature___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AParam___n_dotdotdot(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 520, LOCATE_parser_nodes___AParam___n_dotdotdot};
+  struct trace_t trace = {NULL, NULL, 522, LOCATE_parser_nodes___AParam___n_dotdotdot};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
 }
 void parser_nodes___AParam___n_dotdotdot__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 520, LOCATE_parser_nodes___AParam___n_dotdotdot__eq};
+  struct trace_t trace = {NULL, NULL, 522, LOCATE_parser_nodes___AParam___n_dotdotdot__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ =  param0;
@@ -1306,14 +1332,14 @@ void parser_nodes___AParam___n_dotdotdot__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AType___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 524, LOCATE_parser_nodes___AType___n_id};
+  struct trace_t trace = {NULL, NULL, 526, LOCATE_parser_nodes___AType___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
 }
 void parser_nodes___AType___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 524, LOCATE_parser_nodes___AType___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 526, LOCATE_parser_nodes___AType___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ =  param0;
@@ -1321,14 +1347,14 @@ void parser_nodes___AType___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AType___n_types(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 525, LOCATE_parser_nodes___AType___n_types};
+  struct trace_t trace = {NULL, NULL, 527, LOCATE_parser_nodes___AType___n_types};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
 }
 void parser_nodes___AType___n_types__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 525, LOCATE_parser_nodes___AType___n_types__eq};
+  struct trace_t trace = {NULL, NULL, 527, LOCATE_parser_nodes___AType___n_types__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/ =  param0;
@@ -1336,14 +1362,14 @@ void parser_nodes___AType___n_types__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ABlockExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 532, LOCATE_parser_nodes___ABlockExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 534, LOCATE_parser_nodes___ABlockExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
 }
 void parser_nodes___ABlockExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 532, LOCATE_parser_nodes___ABlockExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 534, LOCATE_parser_nodes___ABlockExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/ =  param0;
@@ -1351,14 +1377,14 @@ void parser_nodes___ABlockExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_kwvar(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 536, LOCATE_parser_nodes___AVardeclExpr___n_kwvar};
+  struct trace_t trace = {NULL, NULL, 538, LOCATE_parser_nodes___AVardeclExpr___n_kwvar};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
 }
 void parser_nodes___AVardeclExpr___n_kwvar__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 536, LOCATE_parser_nodes___AVardeclExpr___n_kwvar__eq};
+  struct trace_t trace = {NULL, NULL, 538, LOCATE_parser_nodes___AVardeclExpr___n_kwvar__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ =  param0;
@@ -1366,14 +1392,14 @@ void parser_nodes___AVardeclExpr___n_kwvar__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 537, LOCATE_parser_nodes___AVardeclExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 539, LOCATE_parser_nodes___AVardeclExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
 }
 void parser_nodes___AVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 537, LOCATE_parser_nodes___AVardeclExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 539, LOCATE_parser_nodes___AVardeclExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ =  param0;
@@ -1381,14 +1407,14 @@ void parser_nodes___AVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_type(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 538, LOCATE_parser_nodes___AVardeclExpr___n_type};
+  struct trace_t trace = {NULL, NULL, 540, LOCATE_parser_nodes___AVardeclExpr___n_type};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
 }
 void parser_nodes___AVardeclExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 538, LOCATE_parser_nodes___AVardeclExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 540, LOCATE_parser_nodes___AVardeclExpr___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ =  param0;
@@ -1396,14 +1422,14 @@ void parser_nodes___AVardeclExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 539, LOCATE_parser_nodes___AVardeclExpr___n_assign};
+  struct trace_t trace = {NULL, NULL, 541, LOCATE_parser_nodes___AVardeclExpr___n_assign};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
 }
 void parser_nodes___AVardeclExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 539, LOCATE_parser_nodes___AVardeclExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 541, LOCATE_parser_nodes___AVardeclExpr___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ =  param0;
@@ -1411,14 +1437,14 @@ void parser_nodes___AVardeclExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 540, LOCATE_parser_nodes___AVardeclExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 542, LOCATE_parser_nodes___AVardeclExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
 }
 void parser_nodes___AVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 540, LOCATE_parser_nodes___AVardeclExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 542, LOCATE_parser_nodes___AVardeclExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ =  param0;
@@ -1426,14 +1452,14 @@ void parser_nodes___AVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AReturnExpr___n_kwreturn(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 544, LOCATE_parser_nodes___AReturnExpr___n_kwreturn};
+  struct trace_t trace = {NULL, NULL, 546, LOCATE_parser_nodes___AReturnExpr___n_kwreturn};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
 }
 void parser_nodes___AReturnExpr___n_kwreturn__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 544, LOCATE_parser_nodes___AReturnExpr___n_kwreturn__eq};
+  struct trace_t trace = {NULL, NULL, 546, LOCATE_parser_nodes___AReturnExpr___n_kwreturn__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ =  param0;
@@ -1441,14 +1467,14 @@ void parser_nodes___AReturnExpr___n_kwreturn__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AReturnExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 545, LOCATE_parser_nodes___AReturnExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 547, LOCATE_parser_nodes___AReturnExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
 }
 void parser_nodes___AReturnExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 545, LOCATE_parser_nodes___AReturnExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 547, LOCATE_parser_nodes___AReturnExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ =  param0;
@@ -1456,14 +1482,14 @@ void parser_nodes___AReturnExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ABreakExpr___n_kwbreak(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 549, LOCATE_parser_nodes___ABreakExpr___n_kwbreak};
+  struct trace_t trace = {NULL, NULL, 551, LOCATE_parser_nodes___ABreakExpr___n_kwbreak};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
 }
 void parser_nodes___ABreakExpr___n_kwbreak__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 549, LOCATE_parser_nodes___ABreakExpr___n_kwbreak__eq};
+  struct trace_t trace = {NULL, NULL, 551, LOCATE_parser_nodes___ABreakExpr___n_kwbreak__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ =  param0;
@@ -1471,14 +1497,14 @@ void parser_nodes___ABreakExpr___n_kwbreak__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAbortExpr___n_kwabort(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 553, LOCATE_parser_nodes___AAbortExpr___n_kwabort};
+  struct trace_t trace = {NULL, NULL, 555, LOCATE_parser_nodes___AAbortExpr___n_kwabort};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
 }
 void parser_nodes___AAbortExpr___n_kwabort__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 553, LOCATE_parser_nodes___AAbortExpr___n_kwabort__eq};
+  struct trace_t trace = {NULL, NULL, 555, LOCATE_parser_nodes___AAbortExpr___n_kwabort__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ =  param0;
@@ -1486,14 +1512,14 @@ void parser_nodes___AAbortExpr___n_kwabort__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AContinueExpr___n_kwcontinue(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 557, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue};
+  struct trace_t trace = {NULL, NULL, 559, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
 }
 void parser_nodes___AContinueExpr___n_kwcontinue__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 557, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue__eq};
+  struct trace_t trace = {NULL, NULL, 559, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ =  param0;
@@ -1501,14 +1527,14 @@ void parser_nodes___AContinueExpr___n_kwcontinue__eq(val_t  self, val_t  param0)
   return;
 }
 val_t parser_nodes___ADoExpr___n_kwdo(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 561, LOCATE_parser_nodes___ADoExpr___n_kwdo};
+  struct trace_t trace = {NULL, NULL, 563, LOCATE_parser_nodes___ADoExpr___n_kwdo};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
 }
 void parser_nodes___ADoExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 561, LOCATE_parser_nodes___ADoExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 563, LOCATE_parser_nodes___ADoExpr___n_kwdo__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ =  param0;
@@ -1516,14 +1542,14 @@ void parser_nodes___ADoExpr___n_kwdo__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ADoExpr___n_block(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 562, LOCATE_parser_nodes___ADoExpr___n_block};
+  struct trace_t trace = {NULL, NULL, 564, LOCATE_parser_nodes___ADoExpr___n_block};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
 }
 void parser_nodes___ADoExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 562, LOCATE_parser_nodes___ADoExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 564, LOCATE_parser_nodes___ADoExpr___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ =  param0;
@@ -1531,14 +1557,14 @@ void parser_nodes___ADoExpr___n_block__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIfExpr___n_kwif(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 566, LOCATE_parser_nodes___AIfExpr___n_kwif};
+  struct trace_t trace = {NULL, NULL, 568, LOCATE_parser_nodes___AIfExpr___n_kwif};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
 }
 void parser_nodes___AIfExpr___n_kwif__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 566, LOCATE_parser_nodes___AIfExpr___n_kwif__eq};
+  struct trace_t trace = {NULL, NULL, 568, LOCATE_parser_nodes___AIfExpr___n_kwif__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ =  param0;
@@ -1546,14 +1572,14 @@ void parser_nodes___AIfExpr___n_kwif__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIfExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 567, LOCATE_parser_nodes___AIfExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 569, LOCATE_parser_nodes___AIfExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
 }
 void parser_nodes___AIfExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 567, LOCATE_parser_nodes___AIfExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 569, LOCATE_parser_nodes___AIfExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ =  param0;
@@ -1561,14 +1587,14 @@ void parser_nodes___AIfExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIfExpr___n_then(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 568, LOCATE_parser_nodes___AIfExpr___n_then};
+  struct trace_t trace = {NULL, NULL, 570, LOCATE_parser_nodes___AIfExpr___n_then};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
 }
 void parser_nodes___AIfExpr___n_then__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 568, LOCATE_parser_nodes___AIfExpr___n_then__eq};
+  struct trace_t trace = {NULL, NULL, 570, LOCATE_parser_nodes___AIfExpr___n_then__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ =  param0;
@@ -1576,14 +1602,14 @@ void parser_nodes___AIfExpr___n_then__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIfExpr___n_else(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 569, LOCATE_parser_nodes___AIfExpr___n_else};
+  struct trace_t trace = {NULL, NULL, 571, LOCATE_parser_nodes___AIfExpr___n_else};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
 }
 void parser_nodes___AIfExpr___n_else__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 569, LOCATE_parser_nodes___AIfExpr___n_else__eq};
+  struct trace_t trace = {NULL, NULL, 571, LOCATE_parser_nodes___AIfExpr___n_else__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ =  param0;
@@ -1591,14 +1617,14 @@ void parser_nodes___AIfExpr___n_else__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_kwif(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 573, LOCATE_parser_nodes___AIfexprExpr___n_kwif};
+  struct trace_t trace = {NULL, NULL, 575, LOCATE_parser_nodes___AIfexprExpr___n_kwif};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
 }
 void parser_nodes___AIfexprExpr___n_kwif__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 573, LOCATE_parser_nodes___AIfexprExpr___n_kwif__eq};
+  struct trace_t trace = {NULL, NULL, 575, LOCATE_parser_nodes___AIfexprExpr___n_kwif__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ =  param0;
@@ -1606,14 +1632,14 @@ void parser_nodes___AIfexprExpr___n_kwif__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 574, LOCATE_parser_nodes___AIfexprExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 576, LOCATE_parser_nodes___AIfexprExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
 }
 void parser_nodes___AIfexprExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 574, LOCATE_parser_nodes___AIfexprExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 576, LOCATE_parser_nodes___AIfexprExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ =  param0;
@@ -1621,14 +1647,14 @@ void parser_nodes___AIfexprExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_kwthen(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 575, LOCATE_parser_nodes___AIfexprExpr___n_kwthen};
+  struct trace_t trace = {NULL, NULL, 577, LOCATE_parser_nodes___AIfexprExpr___n_kwthen};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
 }
 void parser_nodes___AIfexprExpr___n_kwthen__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 575, LOCATE_parser_nodes___AIfexprExpr___n_kwthen__eq};
+  struct trace_t trace = {NULL, NULL, 577, LOCATE_parser_nodes___AIfexprExpr___n_kwthen__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ =  param0;
@@ -1636,14 +1662,14 @@ void parser_nodes___AIfexprExpr___n_kwthen__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_then(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 576, LOCATE_parser_nodes___AIfexprExpr___n_then};
+  struct trace_t trace = {NULL, NULL, 578, LOCATE_parser_nodes___AIfexprExpr___n_then};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
 }
 void parser_nodes___AIfexprExpr___n_then__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 576, LOCATE_parser_nodes___AIfexprExpr___n_then__eq};
+  struct trace_t trace = {NULL, NULL, 578, LOCATE_parser_nodes___AIfexprExpr___n_then__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ =  param0;
@@ -1651,14 +1677,14 @@ void parser_nodes___AIfexprExpr___n_then__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_kwelse(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 577, LOCATE_parser_nodes___AIfexprExpr___n_kwelse};
+  struct trace_t trace = {NULL, NULL, 579, LOCATE_parser_nodes___AIfexprExpr___n_kwelse};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
 }
 void parser_nodes___AIfexprExpr___n_kwelse__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 577, LOCATE_parser_nodes___AIfexprExpr___n_kwelse__eq};
+  struct trace_t trace = {NULL, NULL, 579, LOCATE_parser_nodes___AIfexprExpr___n_kwelse__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ =  param0;
@@ -1666,14 +1692,14 @@ void parser_nodes___AIfexprExpr___n_kwelse__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_else(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 578, LOCATE_parser_nodes___AIfexprExpr___n_else};
+  struct trace_t trace = {NULL, NULL, 580, LOCATE_parser_nodes___AIfexprExpr___n_else};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
 }
 void parser_nodes___AIfexprExpr___n_else__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 578, LOCATE_parser_nodes___AIfexprExpr___n_else__eq};
+  struct trace_t trace = {NULL, NULL, 580, LOCATE_parser_nodes___AIfexprExpr___n_else__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ =  param0;
@@ -1681,14 +1707,14 @@ void parser_nodes___AIfexprExpr___n_else__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AWhileExpr___n_kwwhile(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 582, LOCATE_parser_nodes___AWhileExpr___n_kwwhile};
+  struct trace_t trace = {NULL, NULL, 584, LOCATE_parser_nodes___AWhileExpr___n_kwwhile};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
 }
 void parser_nodes___AWhileExpr___n_kwwhile__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 582, LOCATE_parser_nodes___AWhileExpr___n_kwwhile__eq};
+  struct trace_t trace = {NULL, NULL, 584, LOCATE_parser_nodes___AWhileExpr___n_kwwhile__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ =  param0;
@@ -1696,14 +1722,14 @@ void parser_nodes___AWhileExpr___n_kwwhile__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AWhileExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 583, LOCATE_parser_nodes___AWhileExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 585, LOCATE_parser_nodes___AWhileExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
 }
 void parser_nodes___AWhileExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 583, LOCATE_parser_nodes___AWhileExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 585, LOCATE_parser_nodes___AWhileExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ =  param0;
@@ -1711,14 +1737,14 @@ void parser_nodes___AWhileExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AWhileExpr___n_kwdo(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 584, LOCATE_parser_nodes___AWhileExpr___n_kwdo};
+  struct trace_t trace = {NULL, NULL, 586, LOCATE_parser_nodes___AWhileExpr___n_kwdo};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
 }
 void parser_nodes___AWhileExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 584, LOCATE_parser_nodes___AWhileExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 586, LOCATE_parser_nodes___AWhileExpr___n_kwdo__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ =  param0;
@@ -1726,14 +1752,14 @@ void parser_nodes___AWhileExpr___n_kwdo__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AWhileExpr___n_block(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 585, LOCATE_parser_nodes___AWhileExpr___n_block};
+  struct trace_t trace = {NULL, NULL, 587, LOCATE_parser_nodes___AWhileExpr___n_block};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
 }
 void parser_nodes___AWhileExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 585, LOCATE_parser_nodes___AWhileExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 587, LOCATE_parser_nodes___AWhileExpr___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ =  param0;
@@ -1741,14 +1767,14 @@ void parser_nodes___AWhileExpr___n_block__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AForExpr___n_vardecl(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 589, LOCATE_parser_nodes___AForExpr___n_vardecl};
+  struct trace_t trace = {NULL, NULL, 591, LOCATE_parser_nodes___AForExpr___n_vardecl};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
 }
 void parser_nodes___AForExpr___n_vardecl__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 589, LOCATE_parser_nodes___AForExpr___n_vardecl__eq};
+  struct trace_t trace = {NULL, NULL, 591, LOCATE_parser_nodes___AForExpr___n_vardecl__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ =  param0;
@@ -1756,14 +1782,14 @@ void parser_nodes___AForExpr___n_vardecl__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AForExpr___n_kwdo(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 590, LOCATE_parser_nodes___AForExpr___n_kwdo};
+  struct trace_t trace = {NULL, NULL, 592, LOCATE_parser_nodes___AForExpr___n_kwdo};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
 }
 void parser_nodes___AForExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 590, LOCATE_parser_nodes___AForExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 592, LOCATE_parser_nodes___AForExpr___n_kwdo__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ =  param0;
@@ -1771,14 +1797,14 @@ void parser_nodes___AForExpr___n_kwdo__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AForExpr___n_block(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 591, LOCATE_parser_nodes___AForExpr___n_block};
+  struct trace_t trace = {NULL, NULL, 593, LOCATE_parser_nodes___AForExpr___n_block};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
 }
 void parser_nodes___AForExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 591, LOCATE_parser_nodes___AForExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 593, LOCATE_parser_nodes___AForExpr___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ =  param0;
@@ -1786,14 +1812,14 @@ void parser_nodes___AForExpr___n_block__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AForVardeclExpr___n_kwfor(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 595, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor};
+  struct trace_t trace = {NULL, NULL, 597, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
 }
 void parser_nodes___AForVardeclExpr___n_kwfor__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 595, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor__eq};
+  struct trace_t trace = {NULL, NULL, 597, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ =  param0;
@@ -1801,14 +1827,14 @@ void parser_nodes___AForVardeclExpr___n_kwfor__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AForVardeclExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 596, LOCATE_parser_nodes___AForVardeclExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 598, LOCATE_parser_nodes___AForVardeclExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
 }
 void parser_nodes___AForVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 596, LOCATE_parser_nodes___AForVardeclExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 598, LOCATE_parser_nodes___AForVardeclExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ =  param0;
@@ -1816,14 +1842,14 @@ void parser_nodes___AForVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AForVardeclExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 597, LOCATE_parser_nodes___AForVardeclExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 599, LOCATE_parser_nodes___AForVardeclExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
 }
 void parser_nodes___AForVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 597, LOCATE_parser_nodes___AForVardeclExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 599, LOCATE_parser_nodes___AForVardeclExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ =  param0;
@@ -1831,14 +1857,14 @@ void parser_nodes___AForVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAssertExpr___n_kwassert(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 601, LOCATE_parser_nodes___AAssertExpr___n_kwassert};
+  struct trace_t trace = {NULL, NULL, 603, LOCATE_parser_nodes___AAssertExpr___n_kwassert};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
 }
 void parser_nodes___AAssertExpr___n_kwassert__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 601, LOCATE_parser_nodes___AAssertExpr___n_kwassert__eq};
+  struct trace_t trace = {NULL, NULL, 603, LOCATE_parser_nodes___AAssertExpr___n_kwassert__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ =  param0;
@@ -1846,14 +1872,14 @@ void parser_nodes___AAssertExpr___n_kwassert__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAssertExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 602, LOCATE_parser_nodes___AAssertExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 604, LOCATE_parser_nodes___AAssertExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
 }
 void parser_nodes___AAssertExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 602, LOCATE_parser_nodes___AAssertExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 604, LOCATE_parser_nodes___AAssertExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ =  param0;
@@ -1861,14 +1887,14 @@ void parser_nodes___AAssertExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAssertExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 603, LOCATE_parser_nodes___AAssertExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 605, LOCATE_parser_nodes___AAssertExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
 }
 void parser_nodes___AAssertExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 603, LOCATE_parser_nodes___AAssertExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 605, LOCATE_parser_nodes___AAssertExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ =  param0;
@@ -1876,14 +1902,14 @@ void parser_nodes___AAssertExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAssignFormExpr___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 607, LOCATE_parser_nodes___AAssignFormExpr___n_assign};
+  struct trace_t trace = {NULL, NULL, 609, LOCATE_parser_nodes___AAssignFormExpr___n_assign};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
 }
 void parser_nodes___AAssignFormExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 607, LOCATE_parser_nodes___AAssignFormExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 609, LOCATE_parser_nodes___AAssignFormExpr___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  param0;
@@ -1891,14 +1917,14 @@ void parser_nodes___AAssignFormExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAssignFormExpr___n_value(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 608, LOCATE_parser_nodes___AAssignFormExpr___n_value};
+  struct trace_t trace = {NULL, NULL, 610, LOCATE_parser_nodes___AAssignFormExpr___n_value};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
 }
 void parser_nodes___AAssignFormExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 608, LOCATE_parser_nodes___AAssignFormExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 610, LOCATE_parser_nodes___AAssignFormExpr___n_value__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  param0;
@@ -1906,14 +1932,14 @@ void parser_nodes___AAssignFormExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AReassignFormExpr___n_assign_op(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 612, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op};
+  struct trace_t trace = {NULL, NULL, 614, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
 }
 void parser_nodes___AReassignFormExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 612, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op__eq};
+  struct trace_t trace = {NULL, NULL, 614, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  param0;
@@ -1921,14 +1947,14 @@ void parser_nodes___AReassignFormExpr___n_assign_op__eq(val_t  self, val_t  para
   return;
 }
 val_t parser_nodes___AReassignFormExpr___n_value(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 613, LOCATE_parser_nodes___AReassignFormExpr___n_value};
+  struct trace_t trace = {NULL, NULL, 615, LOCATE_parser_nodes___AReassignFormExpr___n_value};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
 }
 void parser_nodes___AReassignFormExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 613, LOCATE_parser_nodes___AReassignFormExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 615, LOCATE_parser_nodes___AReassignFormExpr___n_value__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  param0;
@@ -1936,14 +1962,14 @@ void parser_nodes___AReassignFormExpr___n_value__eq(val_t  self, val_t  param0)
   return;
 }
 val_t parser_nodes___AOnceExpr___n_kwonce(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 617, LOCATE_parser_nodes___AOnceExpr___n_kwonce};
+  struct trace_t trace = {NULL, NULL, 619, LOCATE_parser_nodes___AOnceExpr___n_kwonce};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
 }
 void parser_nodes___AOnceExpr___n_kwonce__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 617, LOCATE_parser_nodes___AOnceExpr___n_kwonce__eq};
+  struct trace_t trace = {NULL, NULL, 619, LOCATE_parser_nodes___AOnceExpr___n_kwonce__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ =  param0;
@@ -1951,14 +1977,14 @@ void parser_nodes___AOnceExpr___n_kwonce__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ASendExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 621, LOCATE_parser_nodes___ASendExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 623, LOCATE_parser_nodes___ASendExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
 }
 void parser_nodes___ASendExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 621, LOCATE_parser_nodes___ASendExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 623, LOCATE_parser_nodes___ASendExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  param0;
@@ -1966,14 +1992,14 @@ void parser_nodes___ASendExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ABinopExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 625, LOCATE_parser_nodes___ABinopExpr___n_expr2};
+  struct trace_t trace = {NULL, NULL, 627, LOCATE_parser_nodes___ABinopExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
 }
 void parser_nodes___ABinopExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 625, LOCATE_parser_nodes___ABinopExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 627, LOCATE_parser_nodes___ABinopExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  param0;
@@ -1981,14 +2007,14 @@ void parser_nodes___ABinopExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AOrExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 632, LOCATE_parser_nodes___AOrExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 634, LOCATE_parser_nodes___AOrExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
 }
 void parser_nodes___AOrExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 632, LOCATE_parser_nodes___AOrExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 634, LOCATE_parser_nodes___AOrExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ =  param0;
@@ -1996,14 +2022,14 @@ void parser_nodes___AOrExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AOrExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 633, LOCATE_parser_nodes___AOrExpr___n_expr2};
+  struct trace_t trace = {NULL, NULL, 635, LOCATE_parser_nodes___AOrExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
 }
 void parser_nodes___AOrExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 633, LOCATE_parser_nodes___AOrExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 635, LOCATE_parser_nodes___AOrExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ =  param0;
@@ -2011,14 +2037,14 @@ void parser_nodes___AOrExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAndExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 637, LOCATE_parser_nodes___AAndExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 639, LOCATE_parser_nodes___AAndExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
 }
 void parser_nodes___AAndExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 637, LOCATE_parser_nodes___AAndExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 639, LOCATE_parser_nodes___AAndExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ =  param0;
@@ -2026,14 +2052,14 @@ void parser_nodes___AAndExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAndExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 638, LOCATE_parser_nodes___AAndExpr___n_expr2};
+  struct trace_t trace = {NULL, NULL, 640, LOCATE_parser_nodes___AAndExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
 }
 void parser_nodes___AAndExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 638, LOCATE_parser_nodes___AAndExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 640, LOCATE_parser_nodes___AAndExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ =  param0;
@@ -2041,14 +2067,14 @@ void parser_nodes___AAndExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ANotExpr___n_kwnot(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 642, LOCATE_parser_nodes___ANotExpr___n_kwnot};
+  struct trace_t trace = {NULL, NULL, 644, LOCATE_parser_nodes___ANotExpr___n_kwnot};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
 }
 void parser_nodes___ANotExpr___n_kwnot__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 642, LOCATE_parser_nodes___ANotExpr___n_kwnot__eq};
+  struct trace_t trace = {NULL, NULL, 644, LOCATE_parser_nodes___ANotExpr___n_kwnot__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ =  param0;
@@ -2056,14 +2082,14 @@ void parser_nodes___ANotExpr___n_kwnot__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ANotExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 643, LOCATE_parser_nodes___ANotExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 645, LOCATE_parser_nodes___ANotExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
 }
 void parser_nodes___ANotExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 643, LOCATE_parser_nodes___ANotExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 645, LOCATE_parser_nodes___ANotExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ =  param0;
@@ -2071,14 +2097,14 @@ void parser_nodes___ANotExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AEeExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 650, LOCATE_parser_nodes___AEeExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 652, LOCATE_parser_nodes___AEeExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
 }
 void parser_nodes___AEeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 650, LOCATE_parser_nodes___AEeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 652, LOCATE_parser_nodes___AEeExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ =  param0;
@@ -2086,14 +2112,14 @@ void parser_nodes___AEeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AEeExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 651, LOCATE_parser_nodes___AEeExpr___n_expr2};
+  struct trace_t trace = {NULL, NULL, 653, LOCATE_parser_nodes___AEeExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
 }
 void parser_nodes___AEeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 651, LOCATE_parser_nodes___AEeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 653, LOCATE_parser_nodes___AEeExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ =  param0;
@@ -2101,14 +2127,14 @@ void parser_nodes___AEeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIsaExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 670, LOCATE_parser_nodes___AIsaExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 672, LOCATE_parser_nodes___AIsaExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
 }
 void parser_nodes___AIsaExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 670, LOCATE_parser_nodes___AIsaExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 672, LOCATE_parser_nodes___AIsaExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ =  param0;
@@ -2116,14 +2142,14 @@ void parser_nodes___AIsaExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIsaExpr___n_type(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 671, LOCATE_parser_nodes___AIsaExpr___n_type};
+  struct trace_t trace = {NULL, NULL, 673, LOCATE_parser_nodes___AIsaExpr___n_type};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
 }
 void parser_nodes___AIsaExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 671, LOCATE_parser_nodes___AIsaExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 673, LOCATE_parser_nodes___AIsaExpr___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ =  param0;
@@ -2131,14 +2157,14 @@ void parser_nodes___AIsaExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AUminusExpr___n_minus(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 693, LOCATE_parser_nodes___AUminusExpr___n_minus};
+  struct trace_t trace = {NULL, NULL, 695, LOCATE_parser_nodes___AUminusExpr___n_minus};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
 }
 void parser_nodes___AUminusExpr___n_minus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 693, LOCATE_parser_nodes___AUminusExpr___n_minus__eq};
+  struct trace_t trace = {NULL, NULL, 695, LOCATE_parser_nodes___AUminusExpr___n_minus__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ =  param0;
@@ -2146,14 +2172,14 @@ void parser_nodes___AUminusExpr___n_minus__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ANewExpr___n_kwnew(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 697, LOCATE_parser_nodes___ANewExpr___n_kwnew};
+  struct trace_t trace = {NULL, NULL, 699, LOCATE_parser_nodes___ANewExpr___n_kwnew};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
 }
 void parser_nodes___ANewExpr___n_kwnew__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 697, LOCATE_parser_nodes___ANewExpr___n_kwnew__eq};
+  struct trace_t trace = {NULL, NULL, 699, LOCATE_parser_nodes___ANewExpr___n_kwnew__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ =  param0;
@@ -2161,14 +2187,14 @@ void parser_nodes___ANewExpr___n_kwnew__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ANewExpr___n_type(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 698, LOCATE_parser_nodes___ANewExpr___n_type};
+  struct trace_t trace = {NULL, NULL, 700, LOCATE_parser_nodes___ANewExpr___n_type};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
 }
 void parser_nodes___ANewExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 698, LOCATE_parser_nodes___ANewExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 700, LOCATE_parser_nodes___ANewExpr___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ =  param0;
@@ -2176,14 +2202,14 @@ void parser_nodes___ANewExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ANewExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 699, LOCATE_parser_nodes___ANewExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 701, LOCATE_parser_nodes___ANewExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
 }
 void parser_nodes___ANewExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 699, LOCATE_parser_nodes___ANewExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 701, LOCATE_parser_nodes___ANewExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ =  param0;
@@ -2191,14 +2217,14 @@ void parser_nodes___ANewExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ANewExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 700, LOCATE_parser_nodes___ANewExpr___n_args};
+  struct trace_t trace = {NULL, NULL, 702, LOCATE_parser_nodes___ANewExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
 }
 void parser_nodes___ANewExpr___n_args__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 700, LOCATE_parser_nodes___ANewExpr___n_args__eq};
+  struct trace_t trace = {NULL, NULL, 702, LOCATE_parser_nodes___ANewExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/ =  param0;
@@ -2206,14 +2232,14 @@ void parser_nodes___ANewExpr___n_args__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAttrFormExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 704, LOCATE_parser_nodes___AAttrFormExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 706, LOCATE_parser_nodes___AAttrFormExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
 }
 void parser_nodes___AAttrFormExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 704, LOCATE_parser_nodes___AAttrFormExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 706, LOCATE_parser_nodes___AAttrFormExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  param0;
@@ -2221,14 +2247,14 @@ void parser_nodes___AAttrFormExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAttrFormExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 705, LOCATE_parser_nodes___AAttrFormExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 707, LOCATE_parser_nodes___AAttrFormExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
 }
 void parser_nodes___AAttrFormExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 705, LOCATE_parser_nodes___AAttrFormExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 707, LOCATE_parser_nodes___AAttrFormExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  param0;
@@ -2236,14 +2262,14 @@ void parser_nodes___AAttrFormExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ACallFormExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 716, LOCATE_parser_nodes___ACallFormExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 718, LOCATE_parser_nodes___ACallFormExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
 }
 void parser_nodes___ACallFormExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 716, LOCATE_parser_nodes___ACallFormExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 718, LOCATE_parser_nodes___ACallFormExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  param0;
@@ -2251,14 +2277,14 @@ void parser_nodes___ACallFormExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ACallFormExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 717, LOCATE_parser_nodes___ACallFormExpr___n_args};
+  struct trace_t trace = {NULL, NULL, 719, LOCATE_parser_nodes___ACallFormExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
 }
 void parser_nodes___ACallFormExpr___n_args__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 717, LOCATE_parser_nodes___ACallFormExpr___n_args__eq};
+  struct trace_t trace = {NULL, NULL, 719, LOCATE_parser_nodes___ACallFormExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/ =  param0;
@@ -2266,14 +2292,14 @@ void parser_nodes___ACallFormExpr___n_args__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ASuperExpr___n_qualified(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 738, LOCATE_parser_nodes___ASuperExpr___n_qualified};
+  struct trace_t trace = {NULL, NULL, 740, LOCATE_parser_nodes___ASuperExpr___n_qualified};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
 }
 void parser_nodes___ASuperExpr___n_qualified__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 738, LOCATE_parser_nodes___ASuperExpr___n_qualified__eq};
+  struct trace_t trace = {NULL, NULL, 740, LOCATE_parser_nodes___ASuperExpr___n_qualified__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ =  param0;
@@ -2281,14 +2307,14 @@ void parser_nodes___ASuperExpr___n_qualified__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ASuperExpr___n_kwsuper(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 739, LOCATE_parser_nodes___ASuperExpr___n_kwsuper};
+  struct trace_t trace = {NULL, NULL, 741, LOCATE_parser_nodes___ASuperExpr___n_kwsuper};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
 }
 void parser_nodes___ASuperExpr___n_kwsuper__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 739, LOCATE_parser_nodes___ASuperExpr___n_kwsuper__eq};
+  struct trace_t trace = {NULL, NULL, 741, LOCATE_parser_nodes___ASuperExpr___n_kwsuper__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ =  param0;
@@ -2296,14 +2322,14 @@ void parser_nodes___ASuperExpr___n_kwsuper__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ASuperExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 740, LOCATE_parser_nodes___ASuperExpr___n_args};
+  struct trace_t trace = {NULL, NULL, 742, LOCATE_parser_nodes___ASuperExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
 }
 void parser_nodes___ASuperExpr___n_args__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 740, LOCATE_parser_nodes___ASuperExpr___n_args__eq};
+  struct trace_t trace = {NULL, NULL, 742, LOCATE_parser_nodes___ASuperExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/ =  param0;
@@ -2311,14 +2337,14 @@ void parser_nodes___ASuperExpr___n_args__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AInitExpr___n_kwinit(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 744, LOCATE_parser_nodes___AInitExpr___n_kwinit};
+  struct trace_t trace = {NULL, NULL, 746, LOCATE_parser_nodes___AInitExpr___n_kwinit};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
 }
 void parser_nodes___AInitExpr___n_kwinit__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 744, LOCATE_parser_nodes___AInitExpr___n_kwinit__eq};
+  struct trace_t trace = {NULL, NULL, 746, LOCATE_parser_nodes___AInitExpr___n_kwinit__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ =  param0;
@@ -2326,14 +2352,14 @@ void parser_nodes___AInitExpr___n_kwinit__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AInitExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 745, LOCATE_parser_nodes___AInitExpr___n_args};
+  struct trace_t trace = {NULL, NULL, 747, LOCATE_parser_nodes___AInitExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
 }
 void parser_nodes___AInitExpr___n_args__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 745, LOCATE_parser_nodes___AInitExpr___n_args__eq};
+  struct trace_t trace = {NULL, NULL, 747, LOCATE_parser_nodes___AInitExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/ =  param0;
@@ -2341,14 +2367,14 @@ void parser_nodes___AInitExpr___n_args__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ABraFormExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 749, LOCATE_parser_nodes___ABraFormExpr___n_args};
+  struct trace_t trace = {NULL, NULL, 751, LOCATE_parser_nodes___ABraFormExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
 }
 void parser_nodes___ABraFormExpr___n_args__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 749, LOCATE_parser_nodes___ABraFormExpr___n_args__eq};
+  struct trace_t trace = {NULL, NULL, 751, LOCATE_parser_nodes___ABraFormExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/ =  param0;
@@ -2356,14 +2382,14 @@ void parser_nodes___ABraFormExpr___n_args__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AVarFormExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 760, LOCATE_parser_nodes___AVarFormExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 762, LOCATE_parser_nodes___AVarFormExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
 }
 void parser_nodes___AVarFormExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 760, LOCATE_parser_nodes___AVarFormExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 762, LOCATE_parser_nodes___AVarFormExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  param0;
@@ -2371,14 +2397,14 @@ void parser_nodes___AVarFormExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ARangeExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 779, LOCATE_parser_nodes___ARangeExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 781, LOCATE_parser_nodes___ARangeExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
 }
 void parser_nodes___ARangeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 779, LOCATE_parser_nodes___ARangeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 781, LOCATE_parser_nodes___ARangeExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  param0;
@@ -2386,14 +2412,14 @@ void parser_nodes___ARangeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ARangeExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 780, LOCATE_parser_nodes___ARangeExpr___n_expr2};
+  struct trace_t trace = {NULL, NULL, 782, LOCATE_parser_nodes___ARangeExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
 }
 void parser_nodes___ARangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 780, LOCATE_parser_nodes___ARangeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 782, LOCATE_parser_nodes___ARangeExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  param0;
@@ -2401,14 +2427,14 @@ void parser_nodes___ARangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AArrayExpr___n_exprs(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 790, LOCATE_parser_nodes___AArrayExpr___n_exprs};
+  struct trace_t trace = {NULL, NULL, 792, LOCATE_parser_nodes___AArrayExpr___n_exprs};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
 }
 void parser_nodes___AArrayExpr___n_exprs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 790, LOCATE_parser_nodes___AArrayExpr___n_exprs__eq};
+  struct trace_t trace = {NULL, NULL, 792, LOCATE_parser_nodes___AArrayExpr___n_exprs__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/ =  param0;
@@ -2416,14 +2442,14 @@ void parser_nodes___AArrayExpr___n_exprs__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ASelfExpr___n_kwself(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 794, LOCATE_parser_nodes___ASelfExpr___n_kwself};
+  struct trace_t trace = {NULL, NULL, 796, LOCATE_parser_nodes___ASelfExpr___n_kwself};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
 }
 void parser_nodes___ASelfExpr___n_kwself__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 794, LOCATE_parser_nodes___ASelfExpr___n_kwself__eq};
+  struct trace_t trace = {NULL, NULL, 796, LOCATE_parser_nodes___ASelfExpr___n_kwself__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ =  param0;
@@ -2431,14 +2457,14 @@ void parser_nodes___ASelfExpr___n_kwself__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ATrueExpr___n_kwtrue(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 801, LOCATE_parser_nodes___ATrueExpr___n_kwtrue};
+  struct trace_t trace = {NULL, NULL, 803, LOCATE_parser_nodes___ATrueExpr___n_kwtrue};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
 }
 void parser_nodes___ATrueExpr___n_kwtrue__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 801, LOCATE_parser_nodes___ATrueExpr___n_kwtrue__eq};
+  struct trace_t trace = {NULL, NULL, 803, LOCATE_parser_nodes___ATrueExpr___n_kwtrue__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ =  param0;
@@ -2446,14 +2472,14 @@ void parser_nodes___ATrueExpr___n_kwtrue__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AFalseExpr___n_kwfalse(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 805, LOCATE_parser_nodes___AFalseExpr___n_kwfalse};
+  struct trace_t trace = {NULL, NULL, 807, LOCATE_parser_nodes___AFalseExpr___n_kwfalse};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
 }
 void parser_nodes___AFalseExpr___n_kwfalse__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 805, LOCATE_parser_nodes___AFalseExpr___n_kwfalse__eq};
+  struct trace_t trace = {NULL, NULL, 807, LOCATE_parser_nodes___AFalseExpr___n_kwfalse__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ =  param0;
@@ -2461,14 +2487,14 @@ void parser_nodes___AFalseExpr___n_kwfalse__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ANullExpr___n_kwnull(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 809, LOCATE_parser_nodes___ANullExpr___n_kwnull};
+  struct trace_t trace = {NULL, NULL, 811, LOCATE_parser_nodes___ANullExpr___n_kwnull};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
 }
 void parser_nodes___ANullExpr___n_kwnull__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 809, LOCATE_parser_nodes___ANullExpr___n_kwnull__eq};
+  struct trace_t trace = {NULL, NULL, 811, LOCATE_parser_nodes___ANullExpr___n_kwnull__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ =  param0;
@@ -2476,14 +2502,14 @@ void parser_nodes___ANullExpr___n_kwnull__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AIntExpr___n_number(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 813, LOCATE_parser_nodes___AIntExpr___n_number};
+  struct trace_t trace = {NULL, NULL, 815, LOCATE_parser_nodes___AIntExpr___n_number};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
 }
 void parser_nodes___AIntExpr___n_number__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 813, LOCATE_parser_nodes___AIntExpr___n_number__eq};
+  struct trace_t trace = {NULL, NULL, 815, LOCATE_parser_nodes___AIntExpr___n_number__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ =  param0;
@@ -2491,14 +2517,14 @@ void parser_nodes___AIntExpr___n_number__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AFloatExpr___n_float(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 817, LOCATE_parser_nodes___AFloatExpr___n_float};
+  struct trace_t trace = {NULL, NULL, 819, LOCATE_parser_nodes___AFloatExpr___n_float};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
 }
 void parser_nodes___AFloatExpr___n_float__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 817, LOCATE_parser_nodes___AFloatExpr___n_float__eq};
+  struct trace_t trace = {NULL, NULL, 819, LOCATE_parser_nodes___AFloatExpr___n_float__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ =  param0;
@@ -2506,14 +2532,14 @@ void parser_nodes___AFloatExpr___n_float__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ACharExpr___n_char(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 821, LOCATE_parser_nodes___ACharExpr___n_char};
+  struct trace_t trace = {NULL, NULL, 823, LOCATE_parser_nodes___ACharExpr___n_char};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
 }
 void parser_nodes___ACharExpr___n_char__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 821, LOCATE_parser_nodes___ACharExpr___n_char__eq};
+  struct trace_t trace = {NULL, NULL, 823, LOCATE_parser_nodes___ACharExpr___n_char__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ =  param0;
@@ -2521,14 +2547,14 @@ void parser_nodes___ACharExpr___n_char__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 828, LOCATE_parser_nodes___AStringExpr___n_string};
+  struct trace_t trace = {NULL, NULL, 830, LOCATE_parser_nodes___AStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
 }
 void parser_nodes___AStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 828, LOCATE_parser_nodes___AStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 830, LOCATE_parser_nodes___AStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ =  param0;
@@ -2536,14 +2562,14 @@ void parser_nodes___AStringExpr___n_string__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AStartStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 832, LOCATE_parser_nodes___AStartStringExpr___n_string};
+  struct trace_t trace = {NULL, NULL, 834, LOCATE_parser_nodes___AStartStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
 }
 void parser_nodes___AStartStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 832, LOCATE_parser_nodes___AStartStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 834, LOCATE_parser_nodes___AStartStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ =  param0;
@@ -2551,14 +2577,14 @@ void parser_nodes___AStartStringExpr___n_string__eq(val_t  self, val_t  param0)
   return;
 }
 val_t parser_nodes___AMidStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 836, LOCATE_parser_nodes___AMidStringExpr___n_string};
+  struct trace_t trace = {NULL, NULL, 838, LOCATE_parser_nodes___AMidStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
 }
 void parser_nodes___AMidStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 836, LOCATE_parser_nodes___AMidStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 838, LOCATE_parser_nodes___AMidStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ =  param0;
@@ -2566,14 +2592,14 @@ void parser_nodes___AMidStringExpr___n_string__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AEndStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 840, LOCATE_parser_nodes___AEndStringExpr___n_string};
+  struct trace_t trace = {NULL, NULL, 842, LOCATE_parser_nodes___AEndStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
 }
 void parser_nodes___AEndStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 840, LOCATE_parser_nodes___AEndStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 842, LOCATE_parser_nodes___AEndStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ =  param0;
@@ -2581,14 +2607,14 @@ void parser_nodes___AEndStringExpr___n_string__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ASuperstringExpr___n_exprs(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 844, LOCATE_parser_nodes___ASuperstringExpr___n_exprs};
+  struct trace_t trace = {NULL, NULL, 846, LOCATE_parser_nodes___ASuperstringExpr___n_exprs};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
 }
 void parser_nodes___ASuperstringExpr___n_exprs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 844, LOCATE_parser_nodes___ASuperstringExpr___n_exprs__eq};
+  struct trace_t trace = {NULL, NULL, 846, LOCATE_parser_nodes___ASuperstringExpr___n_exprs__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/ =  param0;
@@ -2596,14 +2622,14 @@ void parser_nodes___ASuperstringExpr___n_exprs__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AProxyExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 851, LOCATE_parser_nodes___AProxyExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 853, LOCATE_parser_nodes___AProxyExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
 }
 void parser_nodes___AProxyExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 851, LOCATE_parser_nodes___AProxyExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 853, LOCATE_parser_nodes___AProxyExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  param0;
@@ -2611,14 +2637,14 @@ void parser_nodes___AProxyExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAsCastExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 855, LOCATE_parser_nodes___AAsCastExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 857, LOCATE_parser_nodes___AAsCastExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
 }
 void parser_nodes___AAsCastExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 855, LOCATE_parser_nodes___AAsCastExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 857, LOCATE_parser_nodes___AAsCastExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ =  param0;
@@ -2626,14 +2652,14 @@ void parser_nodes___AAsCastExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAsCastExpr___n_kwas(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 856, LOCATE_parser_nodes___AAsCastExpr___n_kwas};
+  struct trace_t trace = {NULL, NULL, 858, LOCATE_parser_nodes___AAsCastExpr___n_kwas};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
 }
 void parser_nodes___AAsCastExpr___n_kwas__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 856, LOCATE_parser_nodes___AAsCastExpr___n_kwas__eq};
+  struct trace_t trace = {NULL, NULL, 858, LOCATE_parser_nodes___AAsCastExpr___n_kwas__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ =  param0;
@@ -2641,14 +2667,14 @@ void parser_nodes___AAsCastExpr___n_kwas__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AAsCastExpr___n_type(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 857, LOCATE_parser_nodes___AAsCastExpr___n_type};
+  struct trace_t trace = {NULL, NULL, 859, LOCATE_parser_nodes___AAsCastExpr___n_type};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/;
 }
 void parser_nodes___AAsCastExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 857, LOCATE_parser_nodes___AAsCastExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 859, LOCATE_parser_nodes___AAsCastExpr___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ =  param0;
@@ -2656,14 +2682,14 @@ void parser_nodes___AAsCastExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___APlusAssignOp___n_pluseq(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 861, LOCATE_parser_nodes___APlusAssignOp___n_pluseq};
+  struct trace_t trace = {NULL, NULL, 863, LOCATE_parser_nodes___APlusAssignOp___n_pluseq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
 }
 void parser_nodes___APlusAssignOp___n_pluseq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 861, LOCATE_parser_nodes___APlusAssignOp___n_pluseq__eq};
+  struct trace_t trace = {NULL, NULL, 863, LOCATE_parser_nodes___APlusAssignOp___n_pluseq__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ =  param0;
@@ -2671,14 +2697,14 @@ void parser_nodes___APlusAssignOp___n_pluseq__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AMinusAssignOp___n_minuseq(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 865, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq};
+  struct trace_t trace = {NULL, NULL, 867, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
 }
 void parser_nodes___AMinusAssignOp___n_minuseq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 865, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq__eq};
+  struct trace_t trace = {NULL, NULL, 867, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ =  param0;
@@ -2686,14 +2712,14 @@ void parser_nodes___AMinusAssignOp___n_minuseq__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AQualified___n_id(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 869, LOCATE_parser_nodes___AQualified___n_id};
+  struct trace_t trace = {NULL, NULL, 871, LOCATE_parser_nodes___AQualified___n_id};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
 }
 void parser_nodes___AQualified___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 869, LOCATE_parser_nodes___AQualified___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 871, LOCATE_parser_nodes___AQualified___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/ =  param0;
@@ -2701,14 +2727,14 @@ void parser_nodes___AQualified___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___AQualified___n_classid(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 870, LOCATE_parser_nodes___AQualified___n_classid};
+  struct trace_t trace = {NULL, NULL, 872, LOCATE_parser_nodes___AQualified___n_classid};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
 }
 void parser_nodes___AQualified___n_classid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 870, LOCATE_parser_nodes___AQualified___n_classid__eq};
+  struct trace_t trace = {NULL, NULL, 872, LOCATE_parser_nodes___AQualified___n_classid__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ =  param0;
@@ -2716,14 +2742,14 @@ void parser_nodes___AQualified___n_classid__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___ADoc___n_comment(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 874, LOCATE_parser_nodes___ADoc___n_comment};
+  struct trace_t trace = {NULL, NULL, 876, LOCATE_parser_nodes___ADoc___n_comment};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
 }
 void parser_nodes___ADoc___n_comment__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 874, LOCATE_parser_nodes___ADoc___n_comment__eq};
+  struct trace_t trace = {NULL, NULL, 876, LOCATE_parser_nodes___ADoc___n_comment__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/ =  param0;
@@ -2731,14 +2757,14 @@ void parser_nodes___ADoc___n_comment__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___Start___n_base(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 879, LOCATE_parser_nodes___Start___n_base};
+  struct trace_t trace = {NULL, NULL, 881, LOCATE_parser_nodes___Start___n_base};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
 }
 void parser_nodes___Start___n_base__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 879, LOCATE_parser_nodes___Start___n_base__eq};
+  struct trace_t trace = {NULL, NULL, 881, LOCATE_parser_nodes___Start___n_base__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/ =  param0;
@@ -2746,14 +2772,14 @@ void parser_nodes___Start___n_base__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_nodes___Start___n_eof(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 880, LOCATE_parser_nodes___Start___n_eof};
+  struct trace_t trace = {NULL, NULL, 882, LOCATE_parser_nodes___Start___n_eof};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___Start____n_eof( self) /*Start::_n_eof*/;
 }
 void parser_nodes___Start___n_eof__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 880, LOCATE_parser_nodes___Start___n_eof__eq};
+  struct trace_t trace = {NULL, NULL, 882, LOCATE_parser_nodes___Start___n_eof__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___Start____n_eof( self) /*Start::_n_eof*/ =  param0;
index b240391..eca807c 100644 (file)
@@ -478,1260 +478,1275 @@ extern const int SFT_parser_nodes[];
 #define ID_PNode SFT_parser_nodes[0]
 #define COLOR_PNode SFT_parser_nodes[1]
 #define INIT_TABLE_POS_PNode SFT_parser_nodes[2]
-#define ID_Token SFT_parser_nodes[3]
-#define COLOR_Token SFT_parser_nodes[4]
-#define INIT_TABLE_POS_Token SFT_parser_nodes[5]
-#define ID_Prod SFT_parser_nodes[6]
-#define COLOR_Prod SFT_parser_nodes[7]
-#define INIT_TABLE_POS_Prod SFT_parser_nodes[8]
-#define ID_TEol SFT_parser_nodes[9]
-#define COLOR_TEol SFT_parser_nodes[10]
-#define INIT_TABLE_POS_TEol SFT_parser_nodes[11]
-#define ID_TComment SFT_parser_nodes[12]
-#define COLOR_TComment SFT_parser_nodes[13]
-#define INIT_TABLE_POS_TComment SFT_parser_nodes[14]
-#define ID_TKwpackage SFT_parser_nodes[15]
-#define COLOR_TKwpackage SFT_parser_nodes[16]
-#define INIT_TABLE_POS_TKwpackage SFT_parser_nodes[17]
-#define ID_TKwimport SFT_parser_nodes[18]
-#define COLOR_TKwimport SFT_parser_nodes[19]
-#define INIT_TABLE_POS_TKwimport SFT_parser_nodes[20]
-#define ID_TKwclass SFT_parser_nodes[21]
-#define COLOR_TKwclass SFT_parser_nodes[22]
-#define INIT_TABLE_POS_TKwclass SFT_parser_nodes[23]
-#define ID_TKwabstract SFT_parser_nodes[24]
-#define COLOR_TKwabstract SFT_parser_nodes[25]
-#define INIT_TABLE_POS_TKwabstract SFT_parser_nodes[26]
-#define ID_TKwinterface SFT_parser_nodes[27]
-#define COLOR_TKwinterface SFT_parser_nodes[28]
-#define INIT_TABLE_POS_TKwinterface SFT_parser_nodes[29]
-#define ID_TKwuniversal SFT_parser_nodes[30]
-#define COLOR_TKwuniversal SFT_parser_nodes[31]
-#define INIT_TABLE_POS_TKwuniversal SFT_parser_nodes[32]
-#define ID_TKwspecial SFT_parser_nodes[33]
-#define COLOR_TKwspecial SFT_parser_nodes[34]
-#define INIT_TABLE_POS_TKwspecial SFT_parser_nodes[35]
-#define ID_TKwend SFT_parser_nodes[36]
-#define COLOR_TKwend SFT_parser_nodes[37]
-#define INIT_TABLE_POS_TKwend SFT_parser_nodes[38]
-#define ID_TKwmeth SFT_parser_nodes[39]
-#define COLOR_TKwmeth SFT_parser_nodes[40]
-#define INIT_TABLE_POS_TKwmeth SFT_parser_nodes[41]
-#define ID_TKwtype SFT_parser_nodes[42]
-#define COLOR_TKwtype SFT_parser_nodes[43]
-#define INIT_TABLE_POS_TKwtype SFT_parser_nodes[44]
-#define ID_TKwattr SFT_parser_nodes[45]
-#define COLOR_TKwattr SFT_parser_nodes[46]
-#define INIT_TABLE_POS_TKwattr SFT_parser_nodes[47]
-#define ID_TKwinit SFT_parser_nodes[48]
-#define COLOR_TKwinit SFT_parser_nodes[49]
-#define INIT_TABLE_POS_TKwinit SFT_parser_nodes[50]
-#define ID_TKwredef SFT_parser_nodes[51]
-#define COLOR_TKwredef SFT_parser_nodes[52]
-#define INIT_TABLE_POS_TKwredef SFT_parser_nodes[53]
-#define ID_TKwis SFT_parser_nodes[54]
-#define COLOR_TKwis SFT_parser_nodes[55]
-#define INIT_TABLE_POS_TKwis SFT_parser_nodes[56]
-#define ID_TKwdo SFT_parser_nodes[57]
-#define COLOR_TKwdo SFT_parser_nodes[58]
-#define INIT_TABLE_POS_TKwdo SFT_parser_nodes[59]
-#define ID_TKwreadable SFT_parser_nodes[60]
-#define COLOR_TKwreadable SFT_parser_nodes[61]
-#define INIT_TABLE_POS_TKwreadable SFT_parser_nodes[62]
-#define ID_TKwwritable SFT_parser_nodes[63]
-#define COLOR_TKwwritable SFT_parser_nodes[64]
-#define INIT_TABLE_POS_TKwwritable SFT_parser_nodes[65]
-#define ID_TKwvar SFT_parser_nodes[66]
-#define COLOR_TKwvar SFT_parser_nodes[67]
-#define INIT_TABLE_POS_TKwvar SFT_parser_nodes[68]
-#define ID_TKwintern SFT_parser_nodes[69]
-#define COLOR_TKwintern SFT_parser_nodes[70]
-#define INIT_TABLE_POS_TKwintern SFT_parser_nodes[71]
-#define ID_TKwextern SFT_parser_nodes[72]
-#define COLOR_TKwextern SFT_parser_nodes[73]
-#define INIT_TABLE_POS_TKwextern SFT_parser_nodes[74]
-#define ID_TKwprotected SFT_parser_nodes[75]
-#define COLOR_TKwprotected SFT_parser_nodes[76]
-#define INIT_TABLE_POS_TKwprotected SFT_parser_nodes[77]
-#define ID_TKwprivate SFT_parser_nodes[78]
-#define COLOR_TKwprivate SFT_parser_nodes[79]
-#define INIT_TABLE_POS_TKwprivate SFT_parser_nodes[80]
-#define ID_TKwintrude SFT_parser_nodes[81]
-#define COLOR_TKwintrude SFT_parser_nodes[82]
-#define INIT_TABLE_POS_TKwintrude SFT_parser_nodes[83]
-#define ID_TKwif SFT_parser_nodes[84]
-#define COLOR_TKwif SFT_parser_nodes[85]
-#define INIT_TABLE_POS_TKwif SFT_parser_nodes[86]
-#define ID_TKwthen SFT_parser_nodes[87]
-#define COLOR_TKwthen SFT_parser_nodes[88]
-#define INIT_TABLE_POS_TKwthen SFT_parser_nodes[89]
-#define ID_TKwelse SFT_parser_nodes[90]
-#define COLOR_TKwelse SFT_parser_nodes[91]
-#define INIT_TABLE_POS_TKwelse SFT_parser_nodes[92]
-#define ID_TKwwhile SFT_parser_nodes[93]
-#define COLOR_TKwwhile SFT_parser_nodes[94]
-#define INIT_TABLE_POS_TKwwhile SFT_parser_nodes[95]
-#define ID_TKwfor SFT_parser_nodes[96]
-#define COLOR_TKwfor SFT_parser_nodes[97]
-#define INIT_TABLE_POS_TKwfor SFT_parser_nodes[98]
-#define ID_TKwin SFT_parser_nodes[99]
-#define COLOR_TKwin SFT_parser_nodes[100]
-#define INIT_TABLE_POS_TKwin SFT_parser_nodes[101]
-#define ID_TKwand SFT_parser_nodes[102]
-#define COLOR_TKwand SFT_parser_nodes[103]
-#define INIT_TABLE_POS_TKwand SFT_parser_nodes[104]
-#define ID_TKwor SFT_parser_nodes[105]
-#define COLOR_TKwor SFT_parser_nodes[106]
-#define INIT_TABLE_POS_TKwor SFT_parser_nodes[107]
-#define ID_TKwnot SFT_parser_nodes[108]
-#define COLOR_TKwnot SFT_parser_nodes[109]
-#define INIT_TABLE_POS_TKwnot SFT_parser_nodes[110]
-#define ID_TKwreturn SFT_parser_nodes[111]
-#define COLOR_TKwreturn SFT_parser_nodes[112]
-#define INIT_TABLE_POS_TKwreturn SFT_parser_nodes[113]
-#define ID_TKwcontinue SFT_parser_nodes[114]
-#define COLOR_TKwcontinue SFT_parser_nodes[115]
-#define INIT_TABLE_POS_TKwcontinue SFT_parser_nodes[116]
-#define ID_TKwbreak SFT_parser_nodes[117]
-#define COLOR_TKwbreak SFT_parser_nodes[118]
-#define INIT_TABLE_POS_TKwbreak SFT_parser_nodes[119]
-#define ID_TKwabort SFT_parser_nodes[120]
-#define COLOR_TKwabort SFT_parser_nodes[121]
-#define INIT_TABLE_POS_TKwabort SFT_parser_nodes[122]
-#define ID_TKwassert SFT_parser_nodes[123]
-#define COLOR_TKwassert SFT_parser_nodes[124]
-#define INIT_TABLE_POS_TKwassert SFT_parser_nodes[125]
-#define ID_TKwnew SFT_parser_nodes[126]
-#define COLOR_TKwnew SFT_parser_nodes[127]
-#define INIT_TABLE_POS_TKwnew SFT_parser_nodes[128]
-#define ID_TKwisa SFT_parser_nodes[129]
-#define COLOR_TKwisa SFT_parser_nodes[130]
-#define INIT_TABLE_POS_TKwisa SFT_parser_nodes[131]
-#define ID_TKwonce SFT_parser_nodes[132]
-#define COLOR_TKwonce SFT_parser_nodes[133]
-#define INIT_TABLE_POS_TKwonce SFT_parser_nodes[134]
-#define ID_TKwsuper SFT_parser_nodes[135]
-#define COLOR_TKwsuper SFT_parser_nodes[136]
-#define INIT_TABLE_POS_TKwsuper SFT_parser_nodes[137]
-#define ID_TKwself SFT_parser_nodes[138]
-#define COLOR_TKwself SFT_parser_nodes[139]
-#define INIT_TABLE_POS_TKwself SFT_parser_nodes[140]
-#define ID_TKwtrue SFT_parser_nodes[141]
-#define COLOR_TKwtrue SFT_parser_nodes[142]
-#define INIT_TABLE_POS_TKwtrue SFT_parser_nodes[143]
-#define ID_TKwfalse SFT_parser_nodes[144]
-#define COLOR_TKwfalse SFT_parser_nodes[145]
-#define INIT_TABLE_POS_TKwfalse SFT_parser_nodes[146]
-#define ID_TKwnull SFT_parser_nodes[147]
-#define COLOR_TKwnull SFT_parser_nodes[148]
-#define INIT_TABLE_POS_TKwnull SFT_parser_nodes[149]
-#define ID_TKwas SFT_parser_nodes[150]
-#define COLOR_TKwas SFT_parser_nodes[151]
-#define INIT_TABLE_POS_TKwas SFT_parser_nodes[152]
-#define ID_TOpar SFT_parser_nodes[153]
-#define COLOR_TOpar SFT_parser_nodes[154]
-#define INIT_TABLE_POS_TOpar SFT_parser_nodes[155]
-#define ID_TCpar SFT_parser_nodes[156]
-#define COLOR_TCpar SFT_parser_nodes[157]
-#define INIT_TABLE_POS_TCpar SFT_parser_nodes[158]
-#define ID_TObra SFT_parser_nodes[159]
-#define COLOR_TObra SFT_parser_nodes[160]
-#define INIT_TABLE_POS_TObra SFT_parser_nodes[161]
-#define ID_TCbra SFT_parser_nodes[162]
-#define COLOR_TCbra SFT_parser_nodes[163]
-#define INIT_TABLE_POS_TCbra SFT_parser_nodes[164]
-#define ID_TComma SFT_parser_nodes[165]
-#define COLOR_TComma SFT_parser_nodes[166]
-#define INIT_TABLE_POS_TComma SFT_parser_nodes[167]
-#define ID_TColumn SFT_parser_nodes[168]
-#define COLOR_TColumn SFT_parser_nodes[169]
-#define INIT_TABLE_POS_TColumn SFT_parser_nodes[170]
-#define ID_TQuad SFT_parser_nodes[171]
-#define COLOR_TQuad SFT_parser_nodes[172]
-#define INIT_TABLE_POS_TQuad SFT_parser_nodes[173]
-#define ID_TAssign SFT_parser_nodes[174]
-#define COLOR_TAssign SFT_parser_nodes[175]
-#define INIT_TABLE_POS_TAssign SFT_parser_nodes[176]
-#define ID_TPluseq SFT_parser_nodes[177]
-#define COLOR_TPluseq SFT_parser_nodes[178]
-#define INIT_TABLE_POS_TPluseq SFT_parser_nodes[179]
-#define ID_TMinuseq SFT_parser_nodes[180]
-#define COLOR_TMinuseq SFT_parser_nodes[181]
-#define INIT_TABLE_POS_TMinuseq SFT_parser_nodes[182]
-#define ID_TDotdotdot SFT_parser_nodes[183]
-#define COLOR_TDotdotdot SFT_parser_nodes[184]
-#define INIT_TABLE_POS_TDotdotdot SFT_parser_nodes[185]
-#define ID_TDotdot SFT_parser_nodes[186]
-#define COLOR_TDotdot SFT_parser_nodes[187]
-#define INIT_TABLE_POS_TDotdot SFT_parser_nodes[188]
-#define ID_TDot SFT_parser_nodes[189]
-#define COLOR_TDot SFT_parser_nodes[190]
-#define INIT_TABLE_POS_TDot SFT_parser_nodes[191]
-#define ID_TPlus SFT_parser_nodes[192]
-#define COLOR_TPlus SFT_parser_nodes[193]
-#define INIT_TABLE_POS_TPlus SFT_parser_nodes[194]
-#define ID_TMinus SFT_parser_nodes[195]
-#define COLOR_TMinus SFT_parser_nodes[196]
-#define INIT_TABLE_POS_TMinus SFT_parser_nodes[197]
-#define ID_TStar SFT_parser_nodes[198]
-#define COLOR_TStar SFT_parser_nodes[199]
-#define INIT_TABLE_POS_TStar SFT_parser_nodes[200]
-#define ID_TSlash SFT_parser_nodes[201]
-#define COLOR_TSlash SFT_parser_nodes[202]
-#define INIT_TABLE_POS_TSlash SFT_parser_nodes[203]
-#define ID_TPercent SFT_parser_nodes[204]
-#define COLOR_TPercent SFT_parser_nodes[205]
-#define INIT_TABLE_POS_TPercent SFT_parser_nodes[206]
-#define ID_TEq SFT_parser_nodes[207]
-#define COLOR_TEq SFT_parser_nodes[208]
-#define INIT_TABLE_POS_TEq SFT_parser_nodes[209]
-#define ID_TNe SFT_parser_nodes[210]
-#define COLOR_TNe SFT_parser_nodes[211]
-#define INIT_TABLE_POS_TNe SFT_parser_nodes[212]
-#define ID_TLt SFT_parser_nodes[213]
-#define COLOR_TLt SFT_parser_nodes[214]
-#define INIT_TABLE_POS_TLt SFT_parser_nodes[215]
-#define ID_TLe SFT_parser_nodes[216]
-#define COLOR_TLe SFT_parser_nodes[217]
-#define INIT_TABLE_POS_TLe SFT_parser_nodes[218]
-#define ID_TGt SFT_parser_nodes[219]
-#define COLOR_TGt SFT_parser_nodes[220]
-#define INIT_TABLE_POS_TGt SFT_parser_nodes[221]
-#define ID_TGe SFT_parser_nodes[222]
-#define COLOR_TGe SFT_parser_nodes[223]
-#define INIT_TABLE_POS_TGe SFT_parser_nodes[224]
-#define ID_TStarship SFT_parser_nodes[225]
-#define COLOR_TStarship SFT_parser_nodes[226]
-#define INIT_TABLE_POS_TStarship SFT_parser_nodes[227]
-#define ID_TClassid SFT_parser_nodes[228]
-#define COLOR_TClassid SFT_parser_nodes[229]
-#define INIT_TABLE_POS_TClassid SFT_parser_nodes[230]
-#define ID_TId SFT_parser_nodes[231]
-#define COLOR_TId SFT_parser_nodes[232]
-#define INIT_TABLE_POS_TId SFT_parser_nodes[233]
-#define ID_TAttrid SFT_parser_nodes[234]
-#define COLOR_TAttrid SFT_parser_nodes[235]
-#define INIT_TABLE_POS_TAttrid SFT_parser_nodes[236]
-#define ID_TNumber SFT_parser_nodes[237]
-#define COLOR_TNumber SFT_parser_nodes[238]
-#define INIT_TABLE_POS_TNumber SFT_parser_nodes[239]
-#define ID_TFloat SFT_parser_nodes[240]
-#define COLOR_TFloat SFT_parser_nodes[241]
-#define INIT_TABLE_POS_TFloat SFT_parser_nodes[242]
-#define ID_TChar SFT_parser_nodes[243]
-#define COLOR_TChar SFT_parser_nodes[244]
-#define INIT_TABLE_POS_TChar SFT_parser_nodes[245]
-#define ID_TString SFT_parser_nodes[246]
-#define COLOR_TString SFT_parser_nodes[247]
-#define INIT_TABLE_POS_TString SFT_parser_nodes[248]
-#define ID_TStartString SFT_parser_nodes[249]
-#define COLOR_TStartString SFT_parser_nodes[250]
-#define INIT_TABLE_POS_TStartString SFT_parser_nodes[251]
-#define ID_TMidString SFT_parser_nodes[252]
-#define COLOR_TMidString SFT_parser_nodes[253]
-#define INIT_TABLE_POS_TMidString SFT_parser_nodes[254]
-#define ID_TEndString SFT_parser_nodes[255]
-#define COLOR_TEndString SFT_parser_nodes[256]
-#define INIT_TABLE_POS_TEndString SFT_parser_nodes[257]
-#define ID_EOF SFT_parser_nodes[258]
-#define COLOR_EOF SFT_parser_nodes[259]
-#define INIT_TABLE_POS_EOF SFT_parser_nodes[260]
-#define ID_PError SFT_parser_nodes[261]
-#define COLOR_PError SFT_parser_nodes[262]
-#define INIT_TABLE_POS_PError SFT_parser_nodes[263]
-#define ID_PModule SFT_parser_nodes[264]
-#define COLOR_PModule SFT_parser_nodes[265]
-#define INIT_TABLE_POS_PModule SFT_parser_nodes[266]
-#define ID_PPackagedecl SFT_parser_nodes[267]
-#define COLOR_PPackagedecl SFT_parser_nodes[268]
-#define INIT_TABLE_POS_PPackagedecl SFT_parser_nodes[269]
-#define ID_PImport SFT_parser_nodes[270]
-#define COLOR_PImport SFT_parser_nodes[271]
-#define INIT_TABLE_POS_PImport SFT_parser_nodes[272]
-#define ID_PVisibility SFT_parser_nodes[273]
-#define COLOR_PVisibility SFT_parser_nodes[274]
-#define INIT_TABLE_POS_PVisibility SFT_parser_nodes[275]
-#define ID_PClassdef SFT_parser_nodes[276]
-#define COLOR_PClassdef SFT_parser_nodes[277]
-#define INIT_TABLE_POS_PClassdef SFT_parser_nodes[278]
-#define ID_PClasskind SFT_parser_nodes[279]
-#define COLOR_PClasskind SFT_parser_nodes[280]
-#define INIT_TABLE_POS_PClasskind SFT_parser_nodes[281]
-#define ID_PFormaldef SFT_parser_nodes[282]
-#define COLOR_PFormaldef SFT_parser_nodes[283]
-#define INIT_TABLE_POS_PFormaldef SFT_parser_nodes[284]
-#define ID_PSuperclass SFT_parser_nodes[285]
-#define COLOR_PSuperclass SFT_parser_nodes[286]
-#define INIT_TABLE_POS_PSuperclass SFT_parser_nodes[287]
-#define ID_PPropdef SFT_parser_nodes[288]
-#define COLOR_PPropdef SFT_parser_nodes[289]
-#define COLOR_parser_nodes___PPropdef____n_doc SFT_parser_nodes[290]
-#define INIT_TABLE_POS_PPropdef SFT_parser_nodes[291]
-#define COLOR_parser_nodes___PPropdef___n_doc SFT_parser_nodes[292]
-#define COLOR_parser_nodes___PPropdef___n_doc__eq SFT_parser_nodes[293]
-#define ID_PAble SFT_parser_nodes[294]
-#define COLOR_PAble SFT_parser_nodes[295]
-#define COLOR_parser_nodes___PAble____n_kwredef SFT_parser_nodes[296]
-#define INIT_TABLE_POS_PAble SFT_parser_nodes[297]
-#define COLOR_parser_nodes___PAble___n_kwredef SFT_parser_nodes[298]
-#define COLOR_parser_nodes___PAble___n_kwredef__eq SFT_parser_nodes[299]
-#define ID_PMethid SFT_parser_nodes[300]
-#define COLOR_PMethid SFT_parser_nodes[301]
-#define INIT_TABLE_POS_PMethid SFT_parser_nodes[302]
-#define ID_PSignature SFT_parser_nodes[303]
-#define COLOR_PSignature SFT_parser_nodes[304]
-#define INIT_TABLE_POS_PSignature SFT_parser_nodes[305]
-#define ID_PParam SFT_parser_nodes[306]
-#define COLOR_PParam SFT_parser_nodes[307]
-#define COLOR_parser_nodes___PParam____n_id SFT_parser_nodes[308]
-#define COLOR_parser_nodes___PParam____n_type SFT_parser_nodes[309]
-#define INIT_TABLE_POS_PParam SFT_parser_nodes[310]
-#define COLOR_parser_nodes___PParam___n_id SFT_parser_nodes[311]
-#define COLOR_parser_nodes___PParam___n_id__eq SFT_parser_nodes[312]
-#define COLOR_parser_nodes___PParam___n_type SFT_parser_nodes[313]
-#define COLOR_parser_nodes___PParam___n_type__eq SFT_parser_nodes[314]
-#define ID_PType SFT_parser_nodes[315]
-#define COLOR_PType SFT_parser_nodes[316]
-#define INIT_TABLE_POS_PType SFT_parser_nodes[317]
-#define ID_PExpr SFT_parser_nodes[318]
-#define COLOR_PExpr SFT_parser_nodes[319]
-#define INIT_TABLE_POS_PExpr SFT_parser_nodes[320]
-#define ID_PAssignOp SFT_parser_nodes[321]
-#define COLOR_PAssignOp SFT_parser_nodes[322]
-#define INIT_TABLE_POS_PAssignOp SFT_parser_nodes[323]
-#define ID_PQualified SFT_parser_nodes[324]
-#define COLOR_PQualified SFT_parser_nodes[325]
-#define INIT_TABLE_POS_PQualified SFT_parser_nodes[326]
-#define ID_PDoc SFT_parser_nodes[327]
-#define COLOR_PDoc SFT_parser_nodes[328]
-#define INIT_TABLE_POS_PDoc SFT_parser_nodes[329]
-#define ID_AModule SFT_parser_nodes[330]
-#define COLOR_AModule SFT_parser_nodes[331]
-#define COLOR_parser_nodes___AModule____n_packagedecl SFT_parser_nodes[332]
-#define COLOR_parser_nodes___AModule____n_imports SFT_parser_nodes[333]
-#define COLOR_parser_nodes___AModule____n_classdefs SFT_parser_nodes[334]
-#define INIT_TABLE_POS_AModule SFT_parser_nodes[335]
-#define COLOR_parser_nodes___AModule___n_packagedecl SFT_parser_nodes[336]
-#define COLOR_parser_nodes___AModule___n_packagedecl__eq SFT_parser_nodes[337]
-#define COLOR_parser_nodes___AModule___n_imports SFT_parser_nodes[338]
-#define COLOR_parser_nodes___AModule___n_imports__eq SFT_parser_nodes[339]
-#define COLOR_parser_nodes___AModule___n_classdefs SFT_parser_nodes[340]
-#define COLOR_parser_nodes___AModule___n_classdefs__eq SFT_parser_nodes[341]
-#define ID_APackagedecl SFT_parser_nodes[342]
-#define COLOR_APackagedecl SFT_parser_nodes[343]
-#define COLOR_parser_nodes___APackagedecl____n_doc SFT_parser_nodes[344]
-#define COLOR_parser_nodes___APackagedecl____n_kwpackage SFT_parser_nodes[345]
-#define COLOR_parser_nodes___APackagedecl____n_id SFT_parser_nodes[346]
-#define INIT_TABLE_POS_APackagedecl SFT_parser_nodes[347]
-#define COLOR_parser_nodes___APackagedecl___n_doc SFT_parser_nodes[348]
-#define COLOR_parser_nodes___APackagedecl___n_doc__eq SFT_parser_nodes[349]
-#define COLOR_parser_nodes___APackagedecl___n_kwpackage SFT_parser_nodes[350]
-#define COLOR_parser_nodes___APackagedecl___n_kwpackage__eq SFT_parser_nodes[351]
-#define COLOR_parser_nodes___APackagedecl___n_id SFT_parser_nodes[352]
-#define COLOR_parser_nodes___APackagedecl___n_id__eq SFT_parser_nodes[353]
-#define ID_AImport SFT_parser_nodes[354]
-#define COLOR_AImport SFT_parser_nodes[355]
-#define COLOR_parser_nodes___AImport____n_visibility SFT_parser_nodes[356]
-#define COLOR_parser_nodes___AImport____n_kwimport SFT_parser_nodes[357]
-#define COLOR_parser_nodes___AImport____n_id SFT_parser_nodes[358]
-#define INIT_TABLE_POS_AImport SFT_parser_nodes[359]
-#define COLOR_parser_nodes___AImport___n_visibility SFT_parser_nodes[360]
-#define COLOR_parser_nodes___AImport___n_visibility__eq SFT_parser_nodes[361]
-#define COLOR_parser_nodes___AImport___n_kwimport SFT_parser_nodes[362]
-#define COLOR_parser_nodes___AImport___n_kwimport__eq SFT_parser_nodes[363]
-#define COLOR_parser_nodes___AImport___n_id SFT_parser_nodes[364]
-#define COLOR_parser_nodes___AImport___n_id__eq SFT_parser_nodes[365]
-#define ID_ANoImport SFT_parser_nodes[366]
-#define COLOR_ANoImport SFT_parser_nodes[367]
-#define COLOR_parser_nodes___ANoImport____n_visibility SFT_parser_nodes[368]
-#define COLOR_parser_nodes___ANoImport____n_kwimport SFT_parser_nodes[369]
-#define COLOR_parser_nodes___ANoImport____n_kwend SFT_parser_nodes[370]
-#define INIT_TABLE_POS_ANoImport SFT_parser_nodes[371]
-#define COLOR_parser_nodes___ANoImport___n_visibility SFT_parser_nodes[372]
-#define COLOR_parser_nodes___ANoImport___n_visibility__eq SFT_parser_nodes[373]
-#define COLOR_parser_nodes___ANoImport___n_kwimport SFT_parser_nodes[374]
-#define COLOR_parser_nodes___ANoImport___n_kwimport__eq SFT_parser_nodes[375]
-#define COLOR_parser_nodes___ANoImport___n_kwend SFT_parser_nodes[376]
-#define COLOR_parser_nodes___ANoImport___n_kwend__eq SFT_parser_nodes[377]
-#define ID_APublicVisibility SFT_parser_nodes[378]
-#define COLOR_APublicVisibility SFT_parser_nodes[379]
-#define INIT_TABLE_POS_APublicVisibility SFT_parser_nodes[380]
-#define ID_APrivateVisibility SFT_parser_nodes[381]
-#define COLOR_APrivateVisibility SFT_parser_nodes[382]
-#define COLOR_parser_nodes___APrivateVisibility____n_kwprivate SFT_parser_nodes[383]
-#define INIT_TABLE_POS_APrivateVisibility SFT_parser_nodes[384]
-#define COLOR_parser_nodes___APrivateVisibility___n_kwprivate SFT_parser_nodes[385]
-#define COLOR_parser_nodes___APrivateVisibility___n_kwprivate__eq SFT_parser_nodes[386]
-#define ID_AProtectedVisibility SFT_parser_nodes[387]
-#define COLOR_AProtectedVisibility SFT_parser_nodes[388]
-#define COLOR_parser_nodes___AProtectedVisibility____n_kwprotected SFT_parser_nodes[389]
-#define INIT_TABLE_POS_AProtectedVisibility SFT_parser_nodes[390]
-#define COLOR_parser_nodes___AProtectedVisibility___n_kwprotected SFT_parser_nodes[391]
-#define COLOR_parser_nodes___AProtectedVisibility___n_kwprotected__eq SFT_parser_nodes[392]
-#define ID_AIntrudeVisibility SFT_parser_nodes[393]
-#define COLOR_AIntrudeVisibility SFT_parser_nodes[394]
-#define COLOR_parser_nodes___AIntrudeVisibility____n_kwintrude SFT_parser_nodes[395]
-#define INIT_TABLE_POS_AIntrudeVisibility SFT_parser_nodes[396]
-#define COLOR_parser_nodes___AIntrudeVisibility___n_kwintrude SFT_parser_nodes[397]
-#define COLOR_parser_nodes___AIntrudeVisibility___n_kwintrude__eq SFT_parser_nodes[398]
-#define ID_AClassdef SFT_parser_nodes[399]
-#define COLOR_AClassdef SFT_parser_nodes[400]
-#define COLOR_parser_nodes___AClassdef____n_doc SFT_parser_nodes[401]
-#define COLOR_parser_nodes___AClassdef____n_kwredef SFT_parser_nodes[402]
-#define COLOR_parser_nodes___AClassdef____n_visibility SFT_parser_nodes[403]
-#define COLOR_parser_nodes___AClassdef____n_classkind SFT_parser_nodes[404]
-#define COLOR_parser_nodes___AClassdef____n_id SFT_parser_nodes[405]
-#define COLOR_parser_nodes___AClassdef____n_formaldefs SFT_parser_nodes[406]
-#define COLOR_parser_nodes___AClassdef____n_superclasses SFT_parser_nodes[407]
-#define COLOR_parser_nodes___AClassdef____n_propdefs SFT_parser_nodes[408]
-#define INIT_TABLE_POS_AClassdef SFT_parser_nodes[409]
-#define COLOR_parser_nodes___AClassdef___n_doc SFT_parser_nodes[410]
-#define COLOR_parser_nodes___AClassdef___n_doc__eq SFT_parser_nodes[411]
-#define COLOR_parser_nodes___AClassdef___n_kwredef SFT_parser_nodes[412]
-#define COLOR_parser_nodes___AClassdef___n_kwredef__eq SFT_parser_nodes[413]
-#define COLOR_parser_nodes___AClassdef___n_visibility SFT_parser_nodes[414]
-#define COLOR_parser_nodes___AClassdef___n_visibility__eq SFT_parser_nodes[415]
-#define COLOR_parser_nodes___AClassdef___n_classkind SFT_parser_nodes[416]
-#define COLOR_parser_nodes___AClassdef___n_classkind__eq SFT_parser_nodes[417]
-#define COLOR_parser_nodes___AClassdef___n_id SFT_parser_nodes[418]
-#define COLOR_parser_nodes___AClassdef___n_id__eq SFT_parser_nodes[419]
-#define COLOR_parser_nodes___AClassdef___n_formaldefs SFT_parser_nodes[420]
-#define COLOR_parser_nodes___AClassdef___n_formaldefs__eq SFT_parser_nodes[421]
-#define COLOR_parser_nodes___AClassdef___n_superclasses SFT_parser_nodes[422]
-#define COLOR_parser_nodes___AClassdef___n_superclasses__eq SFT_parser_nodes[423]
-#define COLOR_parser_nodes___AClassdef___n_propdefs SFT_parser_nodes[424]
-#define COLOR_parser_nodes___AClassdef___n_propdefs__eq SFT_parser_nodes[425]
-#define ID_ATopClassdef SFT_parser_nodes[426]
-#define COLOR_ATopClassdef SFT_parser_nodes[427]
-#define COLOR_parser_nodes___ATopClassdef____n_propdefs SFT_parser_nodes[428]
-#define INIT_TABLE_POS_ATopClassdef SFT_parser_nodes[429]
-#define COLOR_parser_nodes___ATopClassdef___n_propdefs SFT_parser_nodes[430]
-#define COLOR_parser_nodes___ATopClassdef___n_propdefs__eq SFT_parser_nodes[431]
-#define ID_AMainClassdef SFT_parser_nodes[432]
-#define COLOR_AMainClassdef SFT_parser_nodes[433]
-#define COLOR_parser_nodes___AMainClassdef____n_propdefs SFT_parser_nodes[434]
-#define INIT_TABLE_POS_AMainClassdef SFT_parser_nodes[435]
-#define COLOR_parser_nodes___AMainClassdef___n_propdefs SFT_parser_nodes[436]
-#define COLOR_parser_nodes___AMainClassdef___n_propdefs__eq SFT_parser_nodes[437]
-#define ID_AConcreteClasskind SFT_parser_nodes[438]
-#define COLOR_AConcreteClasskind SFT_parser_nodes[439]
-#define COLOR_parser_nodes___AConcreteClasskind____n_kwclass SFT_parser_nodes[440]
-#define INIT_TABLE_POS_AConcreteClasskind SFT_parser_nodes[441]
-#define COLOR_parser_nodes___AConcreteClasskind___n_kwclass SFT_parser_nodes[442]
-#define COLOR_parser_nodes___AConcreteClasskind___n_kwclass__eq SFT_parser_nodes[443]
-#define ID_AAbstractClasskind SFT_parser_nodes[444]
-#define COLOR_AAbstractClasskind SFT_parser_nodes[445]
-#define COLOR_parser_nodes___AAbstractClasskind____n_kwabstract SFT_parser_nodes[446]
-#define COLOR_parser_nodes___AAbstractClasskind____n_kwclass SFT_parser_nodes[447]
-#define INIT_TABLE_POS_AAbstractClasskind SFT_parser_nodes[448]
-#define COLOR_parser_nodes___AAbstractClasskind___n_kwabstract SFT_parser_nodes[449]
-#define COLOR_parser_nodes___AAbstractClasskind___n_kwabstract__eq SFT_parser_nodes[450]
-#define COLOR_parser_nodes___AAbstractClasskind___n_kwclass SFT_parser_nodes[451]
-#define COLOR_parser_nodes___AAbstractClasskind___n_kwclass__eq SFT_parser_nodes[452]
-#define ID_AInterfaceClasskind SFT_parser_nodes[453]
-#define COLOR_AInterfaceClasskind SFT_parser_nodes[454]
-#define COLOR_parser_nodes___AInterfaceClasskind____n_kwinterface SFT_parser_nodes[455]
-#define INIT_TABLE_POS_AInterfaceClasskind SFT_parser_nodes[456]
-#define COLOR_parser_nodes___AInterfaceClasskind___n_kwinterface SFT_parser_nodes[457]
-#define COLOR_parser_nodes___AInterfaceClasskind___n_kwinterface__eq SFT_parser_nodes[458]
-#define ID_AUniversalClasskind SFT_parser_nodes[459]
-#define COLOR_AUniversalClasskind SFT_parser_nodes[460]
-#define COLOR_parser_nodes___AUniversalClasskind____n_kwuniversal SFT_parser_nodes[461]
-#define INIT_TABLE_POS_AUniversalClasskind SFT_parser_nodes[462]
-#define COLOR_parser_nodes___AUniversalClasskind___n_kwuniversal SFT_parser_nodes[463]
-#define COLOR_parser_nodes___AUniversalClasskind___n_kwuniversal__eq SFT_parser_nodes[464]
-#define ID_AFormaldef SFT_parser_nodes[465]
-#define COLOR_AFormaldef SFT_parser_nodes[466]
-#define COLOR_parser_nodes___AFormaldef____n_id SFT_parser_nodes[467]
-#define COLOR_parser_nodes___AFormaldef____n_type SFT_parser_nodes[468]
-#define INIT_TABLE_POS_AFormaldef SFT_parser_nodes[469]
-#define COLOR_parser_nodes___AFormaldef___n_id SFT_parser_nodes[470]
-#define COLOR_parser_nodes___AFormaldef___n_id__eq SFT_parser_nodes[471]
-#define COLOR_parser_nodes___AFormaldef___n_type SFT_parser_nodes[472]
-#define COLOR_parser_nodes___AFormaldef___n_type__eq SFT_parser_nodes[473]
-#define ID_ASuperclass SFT_parser_nodes[474]
-#define COLOR_ASuperclass SFT_parser_nodes[475]
-#define COLOR_parser_nodes___ASuperclass____n_kwspecial SFT_parser_nodes[476]
-#define COLOR_parser_nodes___ASuperclass____n_type SFT_parser_nodes[477]
-#define INIT_TABLE_POS_ASuperclass SFT_parser_nodes[478]
-#define COLOR_parser_nodes___ASuperclass___n_kwspecial SFT_parser_nodes[479]
-#define COLOR_parser_nodes___ASuperclass___n_kwspecial__eq SFT_parser_nodes[480]
-#define COLOR_parser_nodes___ASuperclass___n_type SFT_parser_nodes[481]
-#define COLOR_parser_nodes___ASuperclass___n_type__eq SFT_parser_nodes[482]
-#define ID_AAttrPropdef SFT_parser_nodes[483]
-#define COLOR_AAttrPropdef SFT_parser_nodes[484]
-#define COLOR_parser_nodes___AAttrPropdef____n_kwredef SFT_parser_nodes[485]
-#define COLOR_parser_nodes___AAttrPropdef____n_visibility SFT_parser_nodes[486]
-#define COLOR_parser_nodes___AAttrPropdef____n_kwattr SFT_parser_nodes[487]
-#define COLOR_parser_nodes___AAttrPropdef____n_id SFT_parser_nodes[488]
-#define COLOR_parser_nodes___AAttrPropdef____n_type SFT_parser_nodes[489]
-#define COLOR_parser_nodes___AAttrPropdef____n_readable SFT_parser_nodes[490]
-#define COLOR_parser_nodes___AAttrPropdef____n_writable SFT_parser_nodes[491]
-#define COLOR_parser_nodes___AAttrPropdef____n_expr SFT_parser_nodes[492]
-#define INIT_TABLE_POS_AAttrPropdef SFT_parser_nodes[493]
-#define COLOR_parser_nodes___AAttrPropdef___n_kwredef SFT_parser_nodes[494]
-#define COLOR_parser_nodes___AAttrPropdef___n_kwredef__eq SFT_parser_nodes[495]
-#define COLOR_parser_nodes___AAttrPropdef___n_visibility SFT_parser_nodes[496]
-#define COLOR_parser_nodes___AAttrPropdef___n_visibility__eq SFT_parser_nodes[497]
-#define COLOR_parser_nodes___AAttrPropdef___n_kwattr SFT_parser_nodes[498]
-#define COLOR_parser_nodes___AAttrPropdef___n_kwattr__eq SFT_parser_nodes[499]
-#define COLOR_parser_nodes___AAttrPropdef___n_id SFT_parser_nodes[500]
-#define COLOR_parser_nodes___AAttrPropdef___n_id__eq SFT_parser_nodes[501]
-#define COLOR_parser_nodes___AAttrPropdef___n_type SFT_parser_nodes[502]
-#define COLOR_parser_nodes___AAttrPropdef___n_type__eq SFT_parser_nodes[503]
-#define COLOR_parser_nodes___AAttrPropdef___n_readable SFT_parser_nodes[504]
-#define COLOR_parser_nodes___AAttrPropdef___n_readable__eq SFT_parser_nodes[505]
-#define COLOR_parser_nodes___AAttrPropdef___n_writable SFT_parser_nodes[506]
-#define COLOR_parser_nodes___AAttrPropdef___n_writable__eq SFT_parser_nodes[507]
-#define COLOR_parser_nodes___AAttrPropdef___n_expr SFT_parser_nodes[508]
-#define COLOR_parser_nodes___AAttrPropdef___n_expr__eq SFT_parser_nodes[509]
-#define ID_AMethPropdef SFT_parser_nodes[510]
-#define COLOR_AMethPropdef SFT_parser_nodes[511]
-#define COLOR_parser_nodes___AMethPropdef____n_kwredef SFT_parser_nodes[512]
-#define COLOR_parser_nodes___AMethPropdef____n_visibility SFT_parser_nodes[513]
-#define COLOR_parser_nodes___AMethPropdef____n_methid SFT_parser_nodes[514]
-#define COLOR_parser_nodes___AMethPropdef____n_signature SFT_parser_nodes[515]
-#define INIT_TABLE_POS_AMethPropdef SFT_parser_nodes[516]
-#define COLOR_parser_nodes___AMethPropdef___n_kwredef SFT_parser_nodes[517]
-#define COLOR_parser_nodes___AMethPropdef___n_kwredef__eq SFT_parser_nodes[518]
-#define COLOR_parser_nodes___AMethPropdef___n_visibility SFT_parser_nodes[519]
-#define COLOR_parser_nodes___AMethPropdef___n_visibility__eq SFT_parser_nodes[520]
-#define COLOR_parser_nodes___AMethPropdef___n_methid SFT_parser_nodes[521]
-#define COLOR_parser_nodes___AMethPropdef___n_methid__eq SFT_parser_nodes[522]
-#define COLOR_parser_nodes___AMethPropdef___n_signature SFT_parser_nodes[523]
-#define COLOR_parser_nodes___AMethPropdef___n_signature__eq SFT_parser_nodes[524]
-#define ID_ADeferredMethPropdef SFT_parser_nodes[525]
-#define COLOR_ADeferredMethPropdef SFT_parser_nodes[526]
-#define COLOR_parser_nodes___ADeferredMethPropdef____n_kwmeth SFT_parser_nodes[527]
-#define INIT_TABLE_POS_ADeferredMethPropdef SFT_parser_nodes[528]
-#define COLOR_parser_nodes___ADeferredMethPropdef___n_kwmeth SFT_parser_nodes[529]
-#define COLOR_parser_nodes___ADeferredMethPropdef___n_kwmeth__eq SFT_parser_nodes[530]
-#define ID_AInternMethPropdef SFT_parser_nodes[531]
-#define COLOR_AInternMethPropdef SFT_parser_nodes[532]
-#define COLOR_parser_nodes___AInternMethPropdef____n_kwmeth SFT_parser_nodes[533]
-#define INIT_TABLE_POS_AInternMethPropdef SFT_parser_nodes[534]
-#define COLOR_parser_nodes___AInternMethPropdef___n_kwmeth SFT_parser_nodes[535]
-#define COLOR_parser_nodes___AInternMethPropdef___n_kwmeth__eq SFT_parser_nodes[536]
-#define ID_AExternMethPropdef SFT_parser_nodes[537]
-#define COLOR_AExternMethPropdef SFT_parser_nodes[538]
-#define COLOR_parser_nodes___AExternMethPropdef____n_kwmeth SFT_parser_nodes[539]
-#define COLOR_parser_nodes___AExternMethPropdef____n_extern SFT_parser_nodes[540]
-#define INIT_TABLE_POS_AExternMethPropdef SFT_parser_nodes[541]
-#define COLOR_parser_nodes___AExternMethPropdef___n_kwmeth SFT_parser_nodes[542]
-#define COLOR_parser_nodes___AExternMethPropdef___n_kwmeth__eq SFT_parser_nodes[543]
-#define COLOR_parser_nodes___AExternMethPropdef___n_extern SFT_parser_nodes[544]
-#define COLOR_parser_nodes___AExternMethPropdef___n_extern__eq SFT_parser_nodes[545]
-#define ID_AConcreteMethPropdef SFT_parser_nodes[546]
-#define COLOR_AConcreteMethPropdef SFT_parser_nodes[547]
-#define COLOR_parser_nodes___AConcreteMethPropdef____n_kwmeth SFT_parser_nodes[548]
-#define COLOR_parser_nodes___AConcreteMethPropdef____n_block SFT_parser_nodes[549]
-#define INIT_TABLE_POS_AConcreteMethPropdef SFT_parser_nodes[550]
-#define COLOR_parser_nodes___AConcreteMethPropdef___n_kwmeth SFT_parser_nodes[551]
-#define COLOR_parser_nodes___AConcreteMethPropdef___n_kwmeth__eq SFT_parser_nodes[552]
-#define COLOR_parser_nodes___AConcreteMethPropdef___n_block SFT_parser_nodes[553]
-#define COLOR_parser_nodes___AConcreteMethPropdef___n_block__eq SFT_parser_nodes[554]
-#define ID_AConcreteInitPropdef SFT_parser_nodes[555]
-#define COLOR_AConcreteInitPropdef SFT_parser_nodes[556]
-#define COLOR_parser_nodes___AConcreteInitPropdef____n_kwinit SFT_parser_nodes[557]
-#define INIT_TABLE_POS_AConcreteInitPropdef SFT_parser_nodes[558]
-#define COLOR_parser_nodes___AConcreteInitPropdef___n_kwinit SFT_parser_nodes[559]
-#define COLOR_parser_nodes___AConcreteInitPropdef___n_kwinit__eq SFT_parser_nodes[560]
-#define ID_AMainMethPropdef SFT_parser_nodes[561]
-#define COLOR_AMainMethPropdef SFT_parser_nodes[562]
-#define INIT_TABLE_POS_AMainMethPropdef SFT_parser_nodes[563]
-#define ID_ATypePropdef SFT_parser_nodes[564]
-#define COLOR_ATypePropdef SFT_parser_nodes[565]
-#define COLOR_parser_nodes___ATypePropdef____n_kwredef SFT_parser_nodes[566]
-#define COLOR_parser_nodes___ATypePropdef____n_visibility SFT_parser_nodes[567]
-#define COLOR_parser_nodes___ATypePropdef____n_kwtype SFT_parser_nodes[568]
-#define COLOR_parser_nodes___ATypePropdef____n_id SFT_parser_nodes[569]
-#define COLOR_parser_nodes___ATypePropdef____n_type SFT_parser_nodes[570]
-#define INIT_TABLE_POS_ATypePropdef SFT_parser_nodes[571]
-#define COLOR_parser_nodes___ATypePropdef___n_kwredef SFT_parser_nodes[572]
-#define COLOR_parser_nodes___ATypePropdef___n_kwredef__eq SFT_parser_nodes[573]
-#define COLOR_parser_nodes___ATypePropdef___n_visibility SFT_parser_nodes[574]
-#define COLOR_parser_nodes___ATypePropdef___n_visibility__eq SFT_parser_nodes[575]
-#define COLOR_parser_nodes___ATypePropdef___n_kwtype SFT_parser_nodes[576]
-#define COLOR_parser_nodes___ATypePropdef___n_kwtype__eq SFT_parser_nodes[577]
-#define COLOR_parser_nodes___ATypePropdef___n_id SFT_parser_nodes[578]
-#define COLOR_parser_nodes___ATypePropdef___n_id__eq SFT_parser_nodes[579]
-#define COLOR_parser_nodes___ATypePropdef___n_type SFT_parser_nodes[580]
-#define COLOR_parser_nodes___ATypePropdef___n_type__eq SFT_parser_nodes[581]
-#define ID_AReadAble SFT_parser_nodes[582]
-#define COLOR_AReadAble SFT_parser_nodes[583]
-#define COLOR_parser_nodes___AReadAble____n_kwreadable SFT_parser_nodes[584]
-#define INIT_TABLE_POS_AReadAble SFT_parser_nodes[585]
-#define COLOR_parser_nodes___AReadAble___n_kwreadable SFT_parser_nodes[586]
-#define COLOR_parser_nodes___AReadAble___n_kwreadable__eq SFT_parser_nodes[587]
-#define ID_AWriteAble SFT_parser_nodes[588]
-#define COLOR_AWriteAble SFT_parser_nodes[589]
-#define COLOR_parser_nodes___AWriteAble____n_kwwritable SFT_parser_nodes[590]
-#define INIT_TABLE_POS_AWriteAble SFT_parser_nodes[591]
-#define COLOR_parser_nodes___AWriteAble___n_kwwritable SFT_parser_nodes[592]
-#define COLOR_parser_nodes___AWriteAble___n_kwwritable__eq SFT_parser_nodes[593]
-#define ID_AIdMethid SFT_parser_nodes[594]
-#define COLOR_AIdMethid SFT_parser_nodes[595]
-#define COLOR_parser_nodes___AIdMethid____n_id SFT_parser_nodes[596]
-#define INIT_TABLE_POS_AIdMethid SFT_parser_nodes[597]
-#define COLOR_parser_nodes___AIdMethid___n_id SFT_parser_nodes[598]
-#define COLOR_parser_nodes___AIdMethid___n_id__eq SFT_parser_nodes[599]
-#define ID_APlusMethid SFT_parser_nodes[600]
-#define COLOR_APlusMethid SFT_parser_nodes[601]
-#define COLOR_parser_nodes___APlusMethid____n_plus SFT_parser_nodes[602]
-#define INIT_TABLE_POS_APlusMethid SFT_parser_nodes[603]
-#define COLOR_parser_nodes___APlusMethid___n_plus SFT_parser_nodes[604]
-#define COLOR_parser_nodes___APlusMethid___n_plus__eq SFT_parser_nodes[605]
-#define ID_AMinusMethid SFT_parser_nodes[606]
-#define COLOR_AMinusMethid SFT_parser_nodes[607]
-#define COLOR_parser_nodes___AMinusMethid____n_minus SFT_parser_nodes[608]
-#define INIT_TABLE_POS_AMinusMethid SFT_parser_nodes[609]
-#define COLOR_parser_nodes___AMinusMethid___n_minus SFT_parser_nodes[610]
-#define COLOR_parser_nodes___AMinusMethid___n_minus__eq SFT_parser_nodes[611]
-#define ID_AStarMethid SFT_parser_nodes[612]
-#define COLOR_AStarMethid SFT_parser_nodes[613]
-#define COLOR_parser_nodes___AStarMethid____n_star SFT_parser_nodes[614]
-#define INIT_TABLE_POS_AStarMethid SFT_parser_nodes[615]
-#define COLOR_parser_nodes___AStarMethid___n_star SFT_parser_nodes[616]
-#define COLOR_parser_nodes___AStarMethid___n_star__eq SFT_parser_nodes[617]
-#define ID_ASlashMethid SFT_parser_nodes[618]
-#define COLOR_ASlashMethid SFT_parser_nodes[619]
-#define COLOR_parser_nodes___ASlashMethid____n_slash SFT_parser_nodes[620]
-#define INIT_TABLE_POS_ASlashMethid SFT_parser_nodes[621]
-#define COLOR_parser_nodes___ASlashMethid___n_slash SFT_parser_nodes[622]
-#define COLOR_parser_nodes___ASlashMethid___n_slash__eq SFT_parser_nodes[623]
-#define ID_APercentMethid SFT_parser_nodes[624]
-#define COLOR_APercentMethid SFT_parser_nodes[625]
-#define COLOR_parser_nodes___APercentMethid____n_percent SFT_parser_nodes[626]
-#define INIT_TABLE_POS_APercentMethid SFT_parser_nodes[627]
-#define COLOR_parser_nodes___APercentMethid___n_percent SFT_parser_nodes[628]
-#define COLOR_parser_nodes___APercentMethid___n_percent__eq SFT_parser_nodes[629]
-#define ID_AEqMethid SFT_parser_nodes[630]
-#define COLOR_AEqMethid SFT_parser_nodes[631]
-#define COLOR_parser_nodes___AEqMethid____n_eq SFT_parser_nodes[632]
-#define INIT_TABLE_POS_AEqMethid SFT_parser_nodes[633]
-#define COLOR_parser_nodes___AEqMethid___n_eq SFT_parser_nodes[634]
-#define COLOR_parser_nodes___AEqMethid___n_eq__eq SFT_parser_nodes[635]
-#define ID_ANeMethid SFT_parser_nodes[636]
-#define COLOR_ANeMethid SFT_parser_nodes[637]
-#define COLOR_parser_nodes___ANeMethid____n_ne SFT_parser_nodes[638]
-#define INIT_TABLE_POS_ANeMethid SFT_parser_nodes[639]
-#define COLOR_parser_nodes___ANeMethid___n_ne SFT_parser_nodes[640]
-#define COLOR_parser_nodes___ANeMethid___n_ne__eq SFT_parser_nodes[641]
-#define ID_ALeMethid SFT_parser_nodes[642]
-#define COLOR_ALeMethid SFT_parser_nodes[643]
-#define COLOR_parser_nodes___ALeMethid____n_le SFT_parser_nodes[644]
-#define INIT_TABLE_POS_ALeMethid SFT_parser_nodes[645]
-#define COLOR_parser_nodes___ALeMethid___n_le SFT_parser_nodes[646]
-#define COLOR_parser_nodes___ALeMethid___n_le__eq SFT_parser_nodes[647]
-#define ID_AGeMethid SFT_parser_nodes[648]
-#define COLOR_AGeMethid SFT_parser_nodes[649]
-#define COLOR_parser_nodes___AGeMethid____n_ge SFT_parser_nodes[650]
-#define INIT_TABLE_POS_AGeMethid SFT_parser_nodes[651]
-#define COLOR_parser_nodes___AGeMethid___n_ge SFT_parser_nodes[652]
-#define COLOR_parser_nodes___AGeMethid___n_ge__eq SFT_parser_nodes[653]
-#define ID_ALtMethid SFT_parser_nodes[654]
-#define COLOR_ALtMethid SFT_parser_nodes[655]
-#define COLOR_parser_nodes___ALtMethid____n_lt SFT_parser_nodes[656]
-#define INIT_TABLE_POS_ALtMethid SFT_parser_nodes[657]
-#define COLOR_parser_nodes___ALtMethid___n_lt SFT_parser_nodes[658]
-#define COLOR_parser_nodes___ALtMethid___n_lt__eq SFT_parser_nodes[659]
-#define ID_AGtMethid SFT_parser_nodes[660]
-#define COLOR_AGtMethid SFT_parser_nodes[661]
-#define COLOR_parser_nodes___AGtMethid____n_gt SFT_parser_nodes[662]
-#define INIT_TABLE_POS_AGtMethid SFT_parser_nodes[663]
-#define COLOR_parser_nodes___AGtMethid___n_gt SFT_parser_nodes[664]
-#define COLOR_parser_nodes___AGtMethid___n_gt__eq SFT_parser_nodes[665]
-#define ID_ABraMethid SFT_parser_nodes[666]
-#define COLOR_ABraMethid SFT_parser_nodes[667]
-#define COLOR_parser_nodes___ABraMethid____n_obra SFT_parser_nodes[668]
-#define COLOR_parser_nodes___ABraMethid____n_cbra SFT_parser_nodes[669]
-#define INIT_TABLE_POS_ABraMethid SFT_parser_nodes[670]
-#define COLOR_parser_nodes___ABraMethid___n_obra SFT_parser_nodes[671]
-#define COLOR_parser_nodes___ABraMethid___n_obra__eq SFT_parser_nodes[672]
-#define COLOR_parser_nodes___ABraMethid___n_cbra SFT_parser_nodes[673]
-#define COLOR_parser_nodes___ABraMethid___n_cbra__eq SFT_parser_nodes[674]
-#define ID_AStarshipMethid SFT_parser_nodes[675]
-#define COLOR_AStarshipMethid SFT_parser_nodes[676]
-#define COLOR_parser_nodes___AStarshipMethid____n_starship SFT_parser_nodes[677]
-#define INIT_TABLE_POS_AStarshipMethid SFT_parser_nodes[678]
-#define COLOR_parser_nodes___AStarshipMethid___n_starship SFT_parser_nodes[679]
-#define COLOR_parser_nodes___AStarshipMethid___n_starship__eq SFT_parser_nodes[680]
-#define ID_AAssignMethid SFT_parser_nodes[681]
-#define COLOR_AAssignMethid SFT_parser_nodes[682]
-#define COLOR_parser_nodes___AAssignMethid____n_id SFT_parser_nodes[683]
-#define COLOR_parser_nodes___AAssignMethid____n_assign SFT_parser_nodes[684]
-#define INIT_TABLE_POS_AAssignMethid SFT_parser_nodes[685]
-#define COLOR_parser_nodes___AAssignMethid___n_id SFT_parser_nodes[686]
-#define COLOR_parser_nodes___AAssignMethid___n_id__eq SFT_parser_nodes[687]
-#define COLOR_parser_nodes___AAssignMethid___n_assign SFT_parser_nodes[688]
-#define COLOR_parser_nodes___AAssignMethid___n_assign__eq SFT_parser_nodes[689]
-#define ID_ABraassignMethid SFT_parser_nodes[690]
-#define COLOR_ABraassignMethid SFT_parser_nodes[691]
-#define COLOR_parser_nodes___ABraassignMethid____n_obra SFT_parser_nodes[692]
-#define COLOR_parser_nodes___ABraassignMethid____n_cbra SFT_parser_nodes[693]
-#define COLOR_parser_nodes___ABraassignMethid____n_assign SFT_parser_nodes[694]
-#define INIT_TABLE_POS_ABraassignMethid SFT_parser_nodes[695]
-#define COLOR_parser_nodes___ABraassignMethid___n_obra SFT_parser_nodes[696]
-#define COLOR_parser_nodes___ABraassignMethid___n_obra__eq SFT_parser_nodes[697]
-#define COLOR_parser_nodes___ABraassignMethid___n_cbra SFT_parser_nodes[698]
-#define COLOR_parser_nodes___ABraassignMethid___n_cbra__eq SFT_parser_nodes[699]
-#define COLOR_parser_nodes___ABraassignMethid___n_assign SFT_parser_nodes[700]
-#define COLOR_parser_nodes___ABraassignMethid___n_assign__eq SFT_parser_nodes[701]
-#define ID_ASignature SFT_parser_nodes[702]
-#define COLOR_ASignature SFT_parser_nodes[703]
-#define COLOR_parser_nodes___ASignature____n_params SFT_parser_nodes[704]
-#define COLOR_parser_nodes___ASignature____n_type SFT_parser_nodes[705]
-#define INIT_TABLE_POS_ASignature SFT_parser_nodes[706]
-#define COLOR_parser_nodes___ASignature___n_params SFT_parser_nodes[707]
-#define COLOR_parser_nodes___ASignature___n_params__eq SFT_parser_nodes[708]
-#define COLOR_parser_nodes___ASignature___n_type SFT_parser_nodes[709]
-#define COLOR_parser_nodes___ASignature___n_type__eq SFT_parser_nodes[710]
-#define ID_AParam SFT_parser_nodes[711]
-#define COLOR_AParam SFT_parser_nodes[712]
-#define COLOR_parser_nodes___AParam____n_dotdotdot SFT_parser_nodes[713]
-#define INIT_TABLE_POS_AParam SFT_parser_nodes[714]
-#define COLOR_parser_nodes___AParam___n_dotdotdot SFT_parser_nodes[715]
-#define COLOR_parser_nodes___AParam___n_dotdotdot__eq SFT_parser_nodes[716]
-#define ID_AType SFT_parser_nodes[717]
-#define COLOR_AType SFT_parser_nodes[718]
-#define COLOR_parser_nodes___AType____n_id SFT_parser_nodes[719]
-#define COLOR_parser_nodes___AType____n_types SFT_parser_nodes[720]
-#define INIT_TABLE_POS_AType SFT_parser_nodes[721]
-#define COLOR_parser_nodes___AType___n_id SFT_parser_nodes[722]
-#define COLOR_parser_nodes___AType___n_id__eq SFT_parser_nodes[723]
-#define COLOR_parser_nodes___AType___n_types SFT_parser_nodes[724]
-#define COLOR_parser_nodes___AType___n_types__eq SFT_parser_nodes[725]
-#define ID_ABlockExpr SFT_parser_nodes[726]
-#define COLOR_ABlockExpr SFT_parser_nodes[727]
-#define COLOR_parser_nodes___ABlockExpr____n_expr SFT_parser_nodes[728]
-#define INIT_TABLE_POS_ABlockExpr SFT_parser_nodes[729]
-#define COLOR_parser_nodes___ABlockExpr___n_expr SFT_parser_nodes[730]
-#define COLOR_parser_nodes___ABlockExpr___n_expr__eq SFT_parser_nodes[731]
-#define ID_AVardeclExpr SFT_parser_nodes[732]
-#define COLOR_AVardeclExpr SFT_parser_nodes[733]
-#define COLOR_parser_nodes___AVardeclExpr____n_kwvar SFT_parser_nodes[734]
-#define COLOR_parser_nodes___AVardeclExpr____n_id SFT_parser_nodes[735]
-#define COLOR_parser_nodes___AVardeclExpr____n_type SFT_parser_nodes[736]
-#define COLOR_parser_nodes___AVardeclExpr____n_assign SFT_parser_nodes[737]
-#define COLOR_parser_nodes___AVardeclExpr____n_expr SFT_parser_nodes[738]
-#define INIT_TABLE_POS_AVardeclExpr SFT_parser_nodes[739]
-#define COLOR_parser_nodes___AVardeclExpr___n_kwvar SFT_parser_nodes[740]
-#define COLOR_parser_nodes___AVardeclExpr___n_kwvar__eq SFT_parser_nodes[741]
-#define COLOR_parser_nodes___AVardeclExpr___n_id SFT_parser_nodes[742]
-#define COLOR_parser_nodes___AVardeclExpr___n_id__eq SFT_parser_nodes[743]
-#define COLOR_parser_nodes___AVardeclExpr___n_type SFT_parser_nodes[744]
-#define COLOR_parser_nodes___AVardeclExpr___n_type__eq SFT_parser_nodes[745]
-#define COLOR_parser_nodes___AVardeclExpr___n_assign SFT_parser_nodes[746]
-#define COLOR_parser_nodes___AVardeclExpr___n_assign__eq SFT_parser_nodes[747]
-#define COLOR_parser_nodes___AVardeclExpr___n_expr SFT_parser_nodes[748]
-#define COLOR_parser_nodes___AVardeclExpr___n_expr__eq SFT_parser_nodes[749]
-#define ID_AReturnExpr SFT_parser_nodes[750]
-#define COLOR_AReturnExpr SFT_parser_nodes[751]
-#define COLOR_parser_nodes___AReturnExpr____n_kwreturn SFT_parser_nodes[752]
-#define COLOR_parser_nodes___AReturnExpr____n_expr SFT_parser_nodes[753]
-#define INIT_TABLE_POS_AReturnExpr SFT_parser_nodes[754]
-#define COLOR_parser_nodes___AReturnExpr___n_kwreturn SFT_parser_nodes[755]
-#define COLOR_parser_nodes___AReturnExpr___n_kwreturn__eq SFT_parser_nodes[756]
-#define COLOR_parser_nodes___AReturnExpr___n_expr SFT_parser_nodes[757]
-#define COLOR_parser_nodes___AReturnExpr___n_expr__eq SFT_parser_nodes[758]
-#define ID_ABreakExpr SFT_parser_nodes[759]
-#define COLOR_ABreakExpr SFT_parser_nodes[760]
-#define COLOR_parser_nodes___ABreakExpr____n_kwbreak SFT_parser_nodes[761]
-#define INIT_TABLE_POS_ABreakExpr SFT_parser_nodes[762]
-#define COLOR_parser_nodes___ABreakExpr___n_kwbreak SFT_parser_nodes[763]
-#define COLOR_parser_nodes___ABreakExpr___n_kwbreak__eq SFT_parser_nodes[764]
-#define ID_AAbortExpr SFT_parser_nodes[765]
-#define COLOR_AAbortExpr SFT_parser_nodes[766]
-#define COLOR_parser_nodes___AAbortExpr____n_kwabort SFT_parser_nodes[767]
-#define INIT_TABLE_POS_AAbortExpr SFT_parser_nodes[768]
-#define COLOR_parser_nodes___AAbortExpr___n_kwabort SFT_parser_nodes[769]
-#define COLOR_parser_nodes___AAbortExpr___n_kwabort__eq SFT_parser_nodes[770]
-#define ID_AContinueExpr SFT_parser_nodes[771]
-#define COLOR_AContinueExpr SFT_parser_nodes[772]
-#define COLOR_parser_nodes___AContinueExpr____n_kwcontinue SFT_parser_nodes[773]
-#define INIT_TABLE_POS_AContinueExpr SFT_parser_nodes[774]
-#define COLOR_parser_nodes___AContinueExpr___n_kwcontinue SFT_parser_nodes[775]
-#define COLOR_parser_nodes___AContinueExpr___n_kwcontinue__eq SFT_parser_nodes[776]
-#define ID_ADoExpr SFT_parser_nodes[777]
-#define COLOR_ADoExpr SFT_parser_nodes[778]
-#define COLOR_parser_nodes___ADoExpr____n_kwdo SFT_parser_nodes[779]
-#define COLOR_parser_nodes___ADoExpr____n_block SFT_parser_nodes[780]
-#define INIT_TABLE_POS_ADoExpr SFT_parser_nodes[781]
-#define COLOR_parser_nodes___ADoExpr___n_kwdo SFT_parser_nodes[782]
-#define COLOR_parser_nodes___ADoExpr___n_kwdo__eq SFT_parser_nodes[783]
-#define COLOR_parser_nodes___ADoExpr___n_block SFT_parser_nodes[784]
-#define COLOR_parser_nodes___ADoExpr___n_block__eq SFT_parser_nodes[785]
-#define ID_AIfExpr SFT_parser_nodes[786]
-#define COLOR_AIfExpr SFT_parser_nodes[787]
-#define COLOR_parser_nodes___AIfExpr____n_kwif SFT_parser_nodes[788]
-#define COLOR_parser_nodes___AIfExpr____n_expr SFT_parser_nodes[789]
-#define COLOR_parser_nodes___AIfExpr____n_then SFT_parser_nodes[790]
-#define COLOR_parser_nodes___AIfExpr____n_else SFT_parser_nodes[791]
-#define INIT_TABLE_POS_AIfExpr SFT_parser_nodes[792]
-#define COLOR_parser_nodes___AIfExpr___n_kwif SFT_parser_nodes[793]
-#define COLOR_parser_nodes___AIfExpr___n_kwif__eq SFT_parser_nodes[794]
-#define COLOR_parser_nodes___AIfExpr___n_expr SFT_parser_nodes[795]
-#define COLOR_parser_nodes___AIfExpr___n_expr__eq SFT_parser_nodes[796]
-#define COLOR_parser_nodes___AIfExpr___n_then SFT_parser_nodes[797]
-#define COLOR_parser_nodes___AIfExpr___n_then__eq SFT_parser_nodes[798]
-#define COLOR_parser_nodes___AIfExpr___n_else SFT_parser_nodes[799]
-#define COLOR_parser_nodes___AIfExpr___n_else__eq SFT_parser_nodes[800]
-#define ID_AIfexprExpr SFT_parser_nodes[801]
-#define COLOR_AIfexprExpr SFT_parser_nodes[802]
-#define COLOR_parser_nodes___AIfexprExpr____n_kwif SFT_parser_nodes[803]
-#define COLOR_parser_nodes___AIfexprExpr____n_expr SFT_parser_nodes[804]
-#define COLOR_parser_nodes___AIfexprExpr____n_kwthen SFT_parser_nodes[805]
-#define COLOR_parser_nodes___AIfexprExpr____n_then SFT_parser_nodes[806]
-#define COLOR_parser_nodes___AIfexprExpr____n_kwelse SFT_parser_nodes[807]
-#define COLOR_parser_nodes___AIfexprExpr____n_else SFT_parser_nodes[808]
-#define INIT_TABLE_POS_AIfexprExpr SFT_parser_nodes[809]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwif SFT_parser_nodes[810]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwif__eq SFT_parser_nodes[811]
-#define COLOR_parser_nodes___AIfexprExpr___n_expr SFT_parser_nodes[812]
-#define COLOR_parser_nodes___AIfexprExpr___n_expr__eq SFT_parser_nodes[813]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwthen SFT_parser_nodes[814]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwthen__eq SFT_parser_nodes[815]
-#define COLOR_parser_nodes___AIfexprExpr___n_then SFT_parser_nodes[816]
-#define COLOR_parser_nodes___AIfexprExpr___n_then__eq SFT_parser_nodes[817]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwelse SFT_parser_nodes[818]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwelse__eq SFT_parser_nodes[819]
-#define COLOR_parser_nodes___AIfexprExpr___n_else SFT_parser_nodes[820]
-#define COLOR_parser_nodes___AIfexprExpr___n_else__eq SFT_parser_nodes[821]
-#define ID_AWhileExpr SFT_parser_nodes[822]
-#define COLOR_AWhileExpr SFT_parser_nodes[823]
-#define COLOR_parser_nodes___AWhileExpr____n_kwwhile SFT_parser_nodes[824]
-#define COLOR_parser_nodes___AWhileExpr____n_expr SFT_parser_nodes[825]
-#define COLOR_parser_nodes___AWhileExpr____n_kwdo SFT_parser_nodes[826]
-#define COLOR_parser_nodes___AWhileExpr____n_block SFT_parser_nodes[827]
-#define INIT_TABLE_POS_AWhileExpr SFT_parser_nodes[828]
-#define COLOR_parser_nodes___AWhileExpr___n_kwwhile SFT_parser_nodes[829]
-#define COLOR_parser_nodes___AWhileExpr___n_kwwhile__eq SFT_parser_nodes[830]
-#define COLOR_parser_nodes___AWhileExpr___n_expr SFT_parser_nodes[831]
-#define COLOR_parser_nodes___AWhileExpr___n_expr__eq SFT_parser_nodes[832]
-#define COLOR_parser_nodes___AWhileExpr___n_kwdo SFT_parser_nodes[833]
-#define COLOR_parser_nodes___AWhileExpr___n_kwdo__eq SFT_parser_nodes[834]
-#define COLOR_parser_nodes___AWhileExpr___n_block SFT_parser_nodes[835]
-#define COLOR_parser_nodes___AWhileExpr___n_block__eq SFT_parser_nodes[836]
-#define ID_AForExpr SFT_parser_nodes[837]
-#define COLOR_AForExpr SFT_parser_nodes[838]
-#define COLOR_parser_nodes___AForExpr____n_vardecl SFT_parser_nodes[839]
-#define COLOR_parser_nodes___AForExpr____n_kwdo SFT_parser_nodes[840]
-#define COLOR_parser_nodes___AForExpr____n_block SFT_parser_nodes[841]
-#define INIT_TABLE_POS_AForExpr SFT_parser_nodes[842]
-#define COLOR_parser_nodes___AForExpr___n_vardecl SFT_parser_nodes[843]
-#define COLOR_parser_nodes___AForExpr___n_vardecl__eq SFT_parser_nodes[844]
-#define COLOR_parser_nodes___AForExpr___n_kwdo SFT_parser_nodes[845]
-#define COLOR_parser_nodes___AForExpr___n_kwdo__eq SFT_parser_nodes[846]
-#define COLOR_parser_nodes___AForExpr___n_block SFT_parser_nodes[847]
-#define COLOR_parser_nodes___AForExpr___n_block__eq SFT_parser_nodes[848]
-#define ID_AForVardeclExpr SFT_parser_nodes[849]
-#define COLOR_AForVardeclExpr SFT_parser_nodes[850]
-#define COLOR_parser_nodes___AForVardeclExpr____n_kwfor SFT_parser_nodes[851]
-#define COLOR_parser_nodes___AForVardeclExpr____n_id SFT_parser_nodes[852]
-#define COLOR_parser_nodes___AForVardeclExpr____n_expr SFT_parser_nodes[853]
-#define INIT_TABLE_POS_AForVardeclExpr SFT_parser_nodes[854]
-#define COLOR_parser_nodes___AForVardeclExpr___n_kwfor SFT_parser_nodes[855]
-#define COLOR_parser_nodes___AForVardeclExpr___n_kwfor__eq SFT_parser_nodes[856]
-#define COLOR_parser_nodes___AForVardeclExpr___n_id SFT_parser_nodes[857]
-#define COLOR_parser_nodes___AForVardeclExpr___n_id__eq SFT_parser_nodes[858]
-#define COLOR_parser_nodes___AForVardeclExpr___n_expr SFT_parser_nodes[859]
-#define COLOR_parser_nodes___AForVardeclExpr___n_expr__eq SFT_parser_nodes[860]
-#define ID_AAssertExpr SFT_parser_nodes[861]
-#define COLOR_AAssertExpr SFT_parser_nodes[862]
-#define COLOR_parser_nodes___AAssertExpr____n_kwassert SFT_parser_nodes[863]
-#define COLOR_parser_nodes___AAssertExpr____n_id SFT_parser_nodes[864]
-#define COLOR_parser_nodes___AAssertExpr____n_expr SFT_parser_nodes[865]
-#define INIT_TABLE_POS_AAssertExpr SFT_parser_nodes[866]
-#define COLOR_parser_nodes___AAssertExpr___n_kwassert SFT_parser_nodes[867]
-#define COLOR_parser_nodes___AAssertExpr___n_kwassert__eq SFT_parser_nodes[868]
-#define COLOR_parser_nodes___AAssertExpr___n_id SFT_parser_nodes[869]
-#define COLOR_parser_nodes___AAssertExpr___n_id__eq SFT_parser_nodes[870]
-#define COLOR_parser_nodes___AAssertExpr___n_expr SFT_parser_nodes[871]
-#define COLOR_parser_nodes___AAssertExpr___n_expr__eq SFT_parser_nodes[872]
-#define ID_AAssignFormExpr SFT_parser_nodes[873]
-#define COLOR_AAssignFormExpr SFT_parser_nodes[874]
-#define COLOR_parser_nodes___AAssignFormExpr____n_assign SFT_parser_nodes[875]
-#define COLOR_parser_nodes___AAssignFormExpr____n_value SFT_parser_nodes[876]
-#define INIT_TABLE_POS_AAssignFormExpr SFT_parser_nodes[877]
-#define COLOR_parser_nodes___AAssignFormExpr___n_assign SFT_parser_nodes[878]
-#define COLOR_parser_nodes___AAssignFormExpr___n_assign__eq SFT_parser_nodes[879]
-#define COLOR_parser_nodes___AAssignFormExpr___n_value SFT_parser_nodes[880]
-#define COLOR_parser_nodes___AAssignFormExpr___n_value__eq SFT_parser_nodes[881]
-#define ID_AReassignFormExpr SFT_parser_nodes[882]
-#define COLOR_AReassignFormExpr SFT_parser_nodes[883]
-#define COLOR_parser_nodes___AReassignFormExpr____n_assign_op SFT_parser_nodes[884]
-#define COLOR_parser_nodes___AReassignFormExpr____n_value SFT_parser_nodes[885]
-#define INIT_TABLE_POS_AReassignFormExpr SFT_parser_nodes[886]
-#define COLOR_parser_nodes___AReassignFormExpr___n_assign_op SFT_parser_nodes[887]
-#define COLOR_parser_nodes___AReassignFormExpr___n_assign_op__eq SFT_parser_nodes[888]
-#define COLOR_parser_nodes___AReassignFormExpr___n_value SFT_parser_nodes[889]
-#define COLOR_parser_nodes___AReassignFormExpr___n_value__eq SFT_parser_nodes[890]
-#define ID_AOnceExpr SFT_parser_nodes[891]
-#define COLOR_AOnceExpr SFT_parser_nodes[892]
-#define COLOR_parser_nodes___AOnceExpr____n_kwonce SFT_parser_nodes[893]
-#define INIT_TABLE_POS_AOnceExpr SFT_parser_nodes[894]
-#define COLOR_parser_nodes___AOnceExpr___n_kwonce SFT_parser_nodes[895]
-#define COLOR_parser_nodes___AOnceExpr___n_kwonce__eq SFT_parser_nodes[896]
-#define ID_ASendExpr SFT_parser_nodes[897]
-#define COLOR_ASendExpr SFT_parser_nodes[898]
-#define COLOR_parser_nodes___ASendExpr____n_expr SFT_parser_nodes[899]
-#define INIT_TABLE_POS_ASendExpr SFT_parser_nodes[900]
-#define COLOR_parser_nodes___ASendExpr___n_expr SFT_parser_nodes[901]
-#define COLOR_parser_nodes___ASendExpr___n_expr__eq SFT_parser_nodes[902]
-#define ID_ABinopExpr SFT_parser_nodes[903]
-#define COLOR_ABinopExpr SFT_parser_nodes[904]
-#define COLOR_parser_nodes___ABinopExpr____n_expr2 SFT_parser_nodes[905]
-#define INIT_TABLE_POS_ABinopExpr SFT_parser_nodes[906]
-#define COLOR_parser_nodes___ABinopExpr___n_expr2 SFT_parser_nodes[907]
-#define COLOR_parser_nodes___ABinopExpr___n_expr2__eq SFT_parser_nodes[908]
-#define ID_ABoolExpr SFT_parser_nodes[909]
-#define COLOR_ABoolExpr SFT_parser_nodes[910]
-#define INIT_TABLE_POS_ABoolExpr SFT_parser_nodes[911]
-#define ID_AOrExpr SFT_parser_nodes[912]
-#define COLOR_AOrExpr SFT_parser_nodes[913]
-#define COLOR_parser_nodes___AOrExpr____n_expr SFT_parser_nodes[914]
-#define COLOR_parser_nodes___AOrExpr____n_expr2 SFT_parser_nodes[915]
-#define INIT_TABLE_POS_AOrExpr SFT_parser_nodes[916]
-#define COLOR_parser_nodes___AOrExpr___n_expr SFT_parser_nodes[917]
-#define COLOR_parser_nodes___AOrExpr___n_expr__eq SFT_parser_nodes[918]
-#define COLOR_parser_nodes___AOrExpr___n_expr2 SFT_parser_nodes[919]
-#define COLOR_parser_nodes___AOrExpr___n_expr2__eq SFT_parser_nodes[920]
-#define ID_AAndExpr SFT_parser_nodes[921]
-#define COLOR_AAndExpr SFT_parser_nodes[922]
-#define COLOR_parser_nodes___AAndExpr____n_expr SFT_parser_nodes[923]
-#define COLOR_parser_nodes___AAndExpr____n_expr2 SFT_parser_nodes[924]
-#define INIT_TABLE_POS_AAndExpr SFT_parser_nodes[925]
-#define COLOR_parser_nodes___AAndExpr___n_expr SFT_parser_nodes[926]
-#define COLOR_parser_nodes___AAndExpr___n_expr__eq SFT_parser_nodes[927]
-#define COLOR_parser_nodes___AAndExpr___n_expr2 SFT_parser_nodes[928]
-#define COLOR_parser_nodes___AAndExpr___n_expr2__eq SFT_parser_nodes[929]
-#define ID_ANotExpr SFT_parser_nodes[930]
-#define COLOR_ANotExpr SFT_parser_nodes[931]
-#define COLOR_parser_nodes___ANotExpr____n_kwnot SFT_parser_nodes[932]
-#define COLOR_parser_nodes___ANotExpr____n_expr SFT_parser_nodes[933]
-#define INIT_TABLE_POS_ANotExpr SFT_parser_nodes[934]
-#define COLOR_parser_nodes___ANotExpr___n_kwnot SFT_parser_nodes[935]
-#define COLOR_parser_nodes___ANotExpr___n_kwnot__eq SFT_parser_nodes[936]
-#define COLOR_parser_nodes___ANotExpr___n_expr SFT_parser_nodes[937]
-#define COLOR_parser_nodes___ANotExpr___n_expr__eq SFT_parser_nodes[938]
-#define ID_AEqExpr SFT_parser_nodes[939]
-#define COLOR_AEqExpr SFT_parser_nodes[940]
-#define INIT_TABLE_POS_AEqExpr SFT_parser_nodes[941]
-#define ID_AEeExpr SFT_parser_nodes[942]
-#define COLOR_AEeExpr SFT_parser_nodes[943]
-#define COLOR_parser_nodes___AEeExpr____n_expr SFT_parser_nodes[944]
-#define COLOR_parser_nodes___AEeExpr____n_expr2 SFT_parser_nodes[945]
-#define INIT_TABLE_POS_AEeExpr SFT_parser_nodes[946]
-#define COLOR_parser_nodes___AEeExpr___n_expr SFT_parser_nodes[947]
-#define COLOR_parser_nodes___AEeExpr___n_expr__eq SFT_parser_nodes[948]
-#define COLOR_parser_nodes___AEeExpr___n_expr2 SFT_parser_nodes[949]
-#define COLOR_parser_nodes___AEeExpr___n_expr2__eq SFT_parser_nodes[950]
-#define ID_ANeExpr SFT_parser_nodes[951]
-#define COLOR_ANeExpr SFT_parser_nodes[952]
-#define INIT_TABLE_POS_ANeExpr SFT_parser_nodes[953]
-#define ID_ALtExpr SFT_parser_nodes[954]
-#define COLOR_ALtExpr SFT_parser_nodes[955]
-#define INIT_TABLE_POS_ALtExpr SFT_parser_nodes[956]
-#define ID_ALeExpr SFT_parser_nodes[957]
-#define COLOR_ALeExpr SFT_parser_nodes[958]
-#define INIT_TABLE_POS_ALeExpr SFT_parser_nodes[959]
-#define ID_AGtExpr SFT_parser_nodes[960]
-#define COLOR_AGtExpr SFT_parser_nodes[961]
-#define INIT_TABLE_POS_AGtExpr SFT_parser_nodes[962]
-#define ID_AGeExpr SFT_parser_nodes[963]
-#define COLOR_AGeExpr SFT_parser_nodes[964]
-#define INIT_TABLE_POS_AGeExpr SFT_parser_nodes[965]
-#define ID_AIsaExpr SFT_parser_nodes[966]
-#define COLOR_AIsaExpr SFT_parser_nodes[967]
-#define COLOR_parser_nodes___AIsaExpr____n_expr SFT_parser_nodes[968]
-#define COLOR_parser_nodes___AIsaExpr____n_type SFT_parser_nodes[969]
-#define INIT_TABLE_POS_AIsaExpr SFT_parser_nodes[970]
-#define COLOR_parser_nodes___AIsaExpr___n_expr SFT_parser_nodes[971]
-#define COLOR_parser_nodes___AIsaExpr___n_expr__eq SFT_parser_nodes[972]
-#define COLOR_parser_nodes___AIsaExpr___n_type SFT_parser_nodes[973]
-#define COLOR_parser_nodes___AIsaExpr___n_type__eq SFT_parser_nodes[974]
-#define ID_APlusExpr SFT_parser_nodes[975]
-#define COLOR_APlusExpr SFT_parser_nodes[976]
-#define INIT_TABLE_POS_APlusExpr SFT_parser_nodes[977]
-#define ID_AMinusExpr SFT_parser_nodes[978]
-#define COLOR_AMinusExpr SFT_parser_nodes[979]
-#define INIT_TABLE_POS_AMinusExpr SFT_parser_nodes[980]
-#define ID_AStarshipExpr SFT_parser_nodes[981]
-#define COLOR_AStarshipExpr SFT_parser_nodes[982]
-#define INIT_TABLE_POS_AStarshipExpr SFT_parser_nodes[983]
-#define ID_AStarExpr SFT_parser_nodes[984]
-#define COLOR_AStarExpr SFT_parser_nodes[985]
-#define INIT_TABLE_POS_AStarExpr SFT_parser_nodes[986]
-#define ID_ASlashExpr SFT_parser_nodes[987]
-#define COLOR_ASlashExpr SFT_parser_nodes[988]
-#define INIT_TABLE_POS_ASlashExpr SFT_parser_nodes[989]
-#define ID_APercentExpr SFT_parser_nodes[990]
-#define COLOR_APercentExpr SFT_parser_nodes[991]
-#define INIT_TABLE_POS_APercentExpr SFT_parser_nodes[992]
-#define ID_AUminusExpr SFT_parser_nodes[993]
-#define COLOR_AUminusExpr SFT_parser_nodes[994]
-#define COLOR_parser_nodes___AUminusExpr____n_minus SFT_parser_nodes[995]
-#define INIT_TABLE_POS_AUminusExpr SFT_parser_nodes[996]
-#define COLOR_parser_nodes___AUminusExpr___n_minus SFT_parser_nodes[997]
-#define COLOR_parser_nodes___AUminusExpr___n_minus__eq SFT_parser_nodes[998]
-#define ID_ANewExpr SFT_parser_nodes[999]
-#define COLOR_ANewExpr SFT_parser_nodes[1000]
-#define COLOR_parser_nodes___ANewExpr____n_kwnew SFT_parser_nodes[1001]
-#define COLOR_parser_nodes___ANewExpr____n_type SFT_parser_nodes[1002]
-#define COLOR_parser_nodes___ANewExpr____n_id SFT_parser_nodes[1003]
-#define COLOR_parser_nodes___ANewExpr____n_args SFT_parser_nodes[1004]
-#define INIT_TABLE_POS_ANewExpr SFT_parser_nodes[1005]
-#define COLOR_parser_nodes___ANewExpr___n_kwnew SFT_parser_nodes[1006]
-#define COLOR_parser_nodes___ANewExpr___n_kwnew__eq SFT_parser_nodes[1007]
-#define COLOR_parser_nodes___ANewExpr___n_type SFT_parser_nodes[1008]
-#define COLOR_parser_nodes___ANewExpr___n_type__eq SFT_parser_nodes[1009]
-#define COLOR_parser_nodes___ANewExpr___n_id SFT_parser_nodes[1010]
-#define COLOR_parser_nodes___ANewExpr___n_id__eq SFT_parser_nodes[1011]
-#define COLOR_parser_nodes___ANewExpr___n_args SFT_parser_nodes[1012]
-#define COLOR_parser_nodes___ANewExpr___n_args__eq SFT_parser_nodes[1013]
-#define ID_AAttrFormExpr SFT_parser_nodes[1014]
-#define COLOR_AAttrFormExpr SFT_parser_nodes[1015]
-#define COLOR_parser_nodes___AAttrFormExpr____n_expr SFT_parser_nodes[1016]
-#define COLOR_parser_nodes___AAttrFormExpr____n_id SFT_parser_nodes[1017]
-#define INIT_TABLE_POS_AAttrFormExpr SFT_parser_nodes[1018]
-#define COLOR_parser_nodes___AAttrFormExpr___n_expr SFT_parser_nodes[1019]
-#define COLOR_parser_nodes___AAttrFormExpr___n_expr__eq SFT_parser_nodes[1020]
-#define COLOR_parser_nodes___AAttrFormExpr___n_id SFT_parser_nodes[1021]
-#define COLOR_parser_nodes___AAttrFormExpr___n_id__eq SFT_parser_nodes[1022]
-#define ID_AAttrExpr SFT_parser_nodes[1023]
-#define COLOR_AAttrExpr SFT_parser_nodes[1024]
-#define INIT_TABLE_POS_AAttrExpr SFT_parser_nodes[1025]
-#define ID_AAttrAssignExpr SFT_parser_nodes[1026]
-#define COLOR_AAttrAssignExpr SFT_parser_nodes[1027]
-#define INIT_TABLE_POS_AAttrAssignExpr SFT_parser_nodes[1028]
-#define ID_ACallFormExpr SFT_parser_nodes[1029]
-#define COLOR_ACallFormExpr SFT_parser_nodes[1030]
-#define COLOR_parser_nodes___ACallFormExpr____n_id SFT_parser_nodes[1031]
-#define COLOR_parser_nodes___ACallFormExpr____n_args SFT_parser_nodes[1032]
-#define INIT_TABLE_POS_ACallFormExpr SFT_parser_nodes[1033]
-#define COLOR_parser_nodes___ACallFormExpr___n_id SFT_parser_nodes[1034]
-#define COLOR_parser_nodes___ACallFormExpr___n_id__eq SFT_parser_nodes[1035]
-#define COLOR_parser_nodes___ACallFormExpr___n_args SFT_parser_nodes[1036]
-#define COLOR_parser_nodes___ACallFormExpr___n_args__eq SFT_parser_nodes[1037]
-#define ID_AAttrReassignExpr SFT_parser_nodes[1038]
-#define COLOR_AAttrReassignExpr SFT_parser_nodes[1039]
-#define INIT_TABLE_POS_AAttrReassignExpr SFT_parser_nodes[1040]
-#define ID_ACallExpr SFT_parser_nodes[1041]
-#define COLOR_ACallExpr SFT_parser_nodes[1042]
-#define INIT_TABLE_POS_ACallExpr SFT_parser_nodes[1043]
-#define ID_ACallAssignExpr SFT_parser_nodes[1044]
-#define COLOR_ACallAssignExpr SFT_parser_nodes[1045]
-#define INIT_TABLE_POS_ACallAssignExpr SFT_parser_nodes[1046]
-#define ID_ACallReassignExpr SFT_parser_nodes[1047]
-#define COLOR_ACallReassignExpr SFT_parser_nodes[1048]
-#define INIT_TABLE_POS_ACallReassignExpr SFT_parser_nodes[1049]
-#define ID_ASuperExpr SFT_parser_nodes[1050]
-#define COLOR_ASuperExpr SFT_parser_nodes[1051]
-#define COLOR_parser_nodes___ASuperExpr____n_qualified SFT_parser_nodes[1052]
-#define COLOR_parser_nodes___ASuperExpr____n_kwsuper SFT_parser_nodes[1053]
-#define COLOR_parser_nodes___ASuperExpr____n_args SFT_parser_nodes[1054]
-#define INIT_TABLE_POS_ASuperExpr SFT_parser_nodes[1055]
-#define COLOR_parser_nodes___ASuperExpr___n_qualified SFT_parser_nodes[1056]
-#define COLOR_parser_nodes___ASuperExpr___n_qualified__eq SFT_parser_nodes[1057]
-#define COLOR_parser_nodes___ASuperExpr___n_kwsuper SFT_parser_nodes[1058]
-#define COLOR_parser_nodes___ASuperExpr___n_kwsuper__eq SFT_parser_nodes[1059]
-#define COLOR_parser_nodes___ASuperExpr___n_args SFT_parser_nodes[1060]
-#define COLOR_parser_nodes___ASuperExpr___n_args__eq SFT_parser_nodes[1061]
-#define ID_AInitExpr SFT_parser_nodes[1062]
-#define COLOR_AInitExpr SFT_parser_nodes[1063]
-#define COLOR_parser_nodes___AInitExpr____n_kwinit SFT_parser_nodes[1064]
-#define COLOR_parser_nodes___AInitExpr____n_args SFT_parser_nodes[1065]
-#define INIT_TABLE_POS_AInitExpr SFT_parser_nodes[1066]
-#define COLOR_parser_nodes___AInitExpr___n_kwinit SFT_parser_nodes[1067]
-#define COLOR_parser_nodes___AInitExpr___n_kwinit__eq SFT_parser_nodes[1068]
-#define COLOR_parser_nodes___AInitExpr___n_args SFT_parser_nodes[1069]
-#define COLOR_parser_nodes___AInitExpr___n_args__eq SFT_parser_nodes[1070]
-#define ID_ABraFormExpr SFT_parser_nodes[1071]
-#define COLOR_ABraFormExpr SFT_parser_nodes[1072]
-#define COLOR_parser_nodes___ABraFormExpr____n_args SFT_parser_nodes[1073]
-#define INIT_TABLE_POS_ABraFormExpr SFT_parser_nodes[1074]
-#define COLOR_parser_nodes___ABraFormExpr___n_args SFT_parser_nodes[1075]
-#define COLOR_parser_nodes___ABraFormExpr___n_args__eq SFT_parser_nodes[1076]
-#define ID_ABraExpr SFT_parser_nodes[1077]
-#define COLOR_ABraExpr SFT_parser_nodes[1078]
-#define INIT_TABLE_POS_ABraExpr SFT_parser_nodes[1079]
-#define ID_ABraAssignExpr SFT_parser_nodes[1080]
-#define COLOR_ABraAssignExpr SFT_parser_nodes[1081]
-#define INIT_TABLE_POS_ABraAssignExpr SFT_parser_nodes[1082]
-#define ID_AVarFormExpr SFT_parser_nodes[1083]
-#define COLOR_AVarFormExpr SFT_parser_nodes[1084]
-#define COLOR_parser_nodes___AVarFormExpr____n_id SFT_parser_nodes[1085]
-#define INIT_TABLE_POS_AVarFormExpr SFT_parser_nodes[1086]
-#define COLOR_parser_nodes___AVarFormExpr___n_id SFT_parser_nodes[1087]
-#define COLOR_parser_nodes___AVarFormExpr___n_id__eq SFT_parser_nodes[1088]
-#define ID_ABraReassignExpr SFT_parser_nodes[1089]
-#define COLOR_ABraReassignExpr SFT_parser_nodes[1090]
-#define INIT_TABLE_POS_ABraReassignExpr SFT_parser_nodes[1091]
-#define ID_AVarExpr SFT_parser_nodes[1092]
-#define COLOR_AVarExpr SFT_parser_nodes[1093]
-#define INIT_TABLE_POS_AVarExpr SFT_parser_nodes[1094]
-#define ID_AVarAssignExpr SFT_parser_nodes[1095]
-#define COLOR_AVarAssignExpr SFT_parser_nodes[1096]
-#define INIT_TABLE_POS_AVarAssignExpr SFT_parser_nodes[1097]
-#define ID_AVarReassignExpr SFT_parser_nodes[1098]
-#define COLOR_AVarReassignExpr SFT_parser_nodes[1099]
-#define INIT_TABLE_POS_AVarReassignExpr SFT_parser_nodes[1100]
-#define ID_ARangeExpr SFT_parser_nodes[1101]
-#define COLOR_ARangeExpr SFT_parser_nodes[1102]
-#define COLOR_parser_nodes___ARangeExpr____n_expr SFT_parser_nodes[1103]
-#define COLOR_parser_nodes___ARangeExpr____n_expr2 SFT_parser_nodes[1104]
-#define INIT_TABLE_POS_ARangeExpr SFT_parser_nodes[1105]
-#define COLOR_parser_nodes___ARangeExpr___n_expr SFT_parser_nodes[1106]
-#define COLOR_parser_nodes___ARangeExpr___n_expr__eq SFT_parser_nodes[1107]
-#define COLOR_parser_nodes___ARangeExpr___n_expr2 SFT_parser_nodes[1108]
-#define COLOR_parser_nodes___ARangeExpr___n_expr2__eq SFT_parser_nodes[1109]
-#define ID_ACrangeExpr SFT_parser_nodes[1110]
-#define COLOR_ACrangeExpr SFT_parser_nodes[1111]
-#define INIT_TABLE_POS_ACrangeExpr SFT_parser_nodes[1112]
-#define ID_AOrangeExpr SFT_parser_nodes[1113]
-#define COLOR_AOrangeExpr SFT_parser_nodes[1114]
-#define INIT_TABLE_POS_AOrangeExpr SFT_parser_nodes[1115]
-#define ID_AArrayExpr SFT_parser_nodes[1116]
-#define COLOR_AArrayExpr SFT_parser_nodes[1117]
-#define COLOR_parser_nodes___AArrayExpr____n_exprs SFT_parser_nodes[1118]
-#define INIT_TABLE_POS_AArrayExpr SFT_parser_nodes[1119]
-#define COLOR_parser_nodes___AArrayExpr___n_exprs SFT_parser_nodes[1120]
-#define COLOR_parser_nodes___AArrayExpr___n_exprs__eq SFT_parser_nodes[1121]
-#define ID_ASelfExpr SFT_parser_nodes[1122]
-#define COLOR_ASelfExpr SFT_parser_nodes[1123]
-#define COLOR_parser_nodes___ASelfExpr____n_kwself SFT_parser_nodes[1124]
-#define INIT_TABLE_POS_ASelfExpr SFT_parser_nodes[1125]
-#define COLOR_parser_nodes___ASelfExpr___n_kwself SFT_parser_nodes[1126]
-#define COLOR_parser_nodes___ASelfExpr___n_kwself__eq SFT_parser_nodes[1127]
-#define ID_AImplicitSelfExpr SFT_parser_nodes[1128]
-#define COLOR_AImplicitSelfExpr SFT_parser_nodes[1129]
-#define INIT_TABLE_POS_AImplicitSelfExpr SFT_parser_nodes[1130]
-#define ID_ATrueExpr SFT_parser_nodes[1131]
-#define COLOR_ATrueExpr SFT_parser_nodes[1132]
-#define COLOR_parser_nodes___ATrueExpr____n_kwtrue SFT_parser_nodes[1133]
-#define INIT_TABLE_POS_ATrueExpr SFT_parser_nodes[1134]
-#define COLOR_parser_nodes___ATrueExpr___n_kwtrue SFT_parser_nodes[1135]
-#define COLOR_parser_nodes___ATrueExpr___n_kwtrue__eq SFT_parser_nodes[1136]
-#define ID_AFalseExpr SFT_parser_nodes[1137]
-#define COLOR_AFalseExpr SFT_parser_nodes[1138]
-#define COLOR_parser_nodes___AFalseExpr____n_kwfalse SFT_parser_nodes[1139]
-#define INIT_TABLE_POS_AFalseExpr SFT_parser_nodes[1140]
-#define COLOR_parser_nodes___AFalseExpr___n_kwfalse SFT_parser_nodes[1141]
-#define COLOR_parser_nodes___AFalseExpr___n_kwfalse__eq SFT_parser_nodes[1142]
-#define ID_ANullExpr SFT_parser_nodes[1143]
-#define COLOR_ANullExpr SFT_parser_nodes[1144]
-#define COLOR_parser_nodes___ANullExpr____n_kwnull SFT_parser_nodes[1145]
-#define INIT_TABLE_POS_ANullExpr SFT_parser_nodes[1146]
-#define COLOR_parser_nodes___ANullExpr___n_kwnull SFT_parser_nodes[1147]
-#define COLOR_parser_nodes___ANullExpr___n_kwnull__eq SFT_parser_nodes[1148]
-#define ID_AIntExpr SFT_parser_nodes[1149]
-#define COLOR_AIntExpr SFT_parser_nodes[1150]
-#define COLOR_parser_nodes___AIntExpr____n_number SFT_parser_nodes[1151]
-#define INIT_TABLE_POS_AIntExpr SFT_parser_nodes[1152]
-#define COLOR_parser_nodes___AIntExpr___n_number SFT_parser_nodes[1153]
-#define COLOR_parser_nodes___AIntExpr___n_number__eq SFT_parser_nodes[1154]
-#define ID_AFloatExpr SFT_parser_nodes[1155]
-#define COLOR_AFloatExpr SFT_parser_nodes[1156]
-#define COLOR_parser_nodes___AFloatExpr____n_float SFT_parser_nodes[1157]
-#define INIT_TABLE_POS_AFloatExpr SFT_parser_nodes[1158]
-#define COLOR_parser_nodes___AFloatExpr___n_float SFT_parser_nodes[1159]
-#define COLOR_parser_nodes___AFloatExpr___n_float__eq SFT_parser_nodes[1160]
-#define ID_ACharExpr SFT_parser_nodes[1161]
-#define COLOR_ACharExpr SFT_parser_nodes[1162]
-#define COLOR_parser_nodes___ACharExpr____n_char SFT_parser_nodes[1163]
-#define INIT_TABLE_POS_ACharExpr SFT_parser_nodes[1164]
-#define COLOR_parser_nodes___ACharExpr___n_char SFT_parser_nodes[1165]
-#define COLOR_parser_nodes___ACharExpr___n_char__eq SFT_parser_nodes[1166]
-#define ID_AStringFormExpr SFT_parser_nodes[1167]
-#define COLOR_AStringFormExpr SFT_parser_nodes[1168]
-#define INIT_TABLE_POS_AStringFormExpr SFT_parser_nodes[1169]
-#define ID_AStringExpr SFT_parser_nodes[1170]
-#define COLOR_AStringExpr SFT_parser_nodes[1171]
-#define COLOR_parser_nodes___AStringExpr____n_string SFT_parser_nodes[1172]
-#define INIT_TABLE_POS_AStringExpr SFT_parser_nodes[1173]
-#define COLOR_parser_nodes___AStringExpr___n_string SFT_parser_nodes[1174]
-#define COLOR_parser_nodes___AStringExpr___n_string__eq SFT_parser_nodes[1175]
-#define ID_AStartStringExpr SFT_parser_nodes[1176]
-#define COLOR_AStartStringExpr SFT_parser_nodes[1177]
-#define COLOR_parser_nodes___AStartStringExpr____n_string SFT_parser_nodes[1178]
-#define INIT_TABLE_POS_AStartStringExpr SFT_parser_nodes[1179]
-#define COLOR_parser_nodes___AStartStringExpr___n_string SFT_parser_nodes[1180]
-#define COLOR_parser_nodes___AStartStringExpr___n_string__eq SFT_parser_nodes[1181]
-#define ID_AMidStringExpr SFT_parser_nodes[1182]
-#define COLOR_AMidStringExpr SFT_parser_nodes[1183]
-#define COLOR_parser_nodes___AMidStringExpr____n_string SFT_parser_nodes[1184]
-#define INIT_TABLE_POS_AMidStringExpr SFT_parser_nodes[1185]
-#define COLOR_parser_nodes___AMidStringExpr___n_string SFT_parser_nodes[1186]
-#define COLOR_parser_nodes___AMidStringExpr___n_string__eq SFT_parser_nodes[1187]
-#define ID_AEndStringExpr SFT_parser_nodes[1188]
-#define COLOR_AEndStringExpr SFT_parser_nodes[1189]
-#define COLOR_parser_nodes___AEndStringExpr____n_string SFT_parser_nodes[1190]
-#define INIT_TABLE_POS_AEndStringExpr SFT_parser_nodes[1191]
-#define COLOR_parser_nodes___AEndStringExpr___n_string SFT_parser_nodes[1192]
-#define COLOR_parser_nodes___AEndStringExpr___n_string__eq SFT_parser_nodes[1193]
-#define ID_ASuperstringExpr SFT_parser_nodes[1194]
-#define COLOR_ASuperstringExpr SFT_parser_nodes[1195]
-#define COLOR_parser_nodes___ASuperstringExpr____n_exprs SFT_parser_nodes[1196]
-#define INIT_TABLE_POS_ASuperstringExpr SFT_parser_nodes[1197]
-#define COLOR_parser_nodes___ASuperstringExpr___n_exprs SFT_parser_nodes[1198]
-#define COLOR_parser_nodes___ASuperstringExpr___n_exprs__eq SFT_parser_nodes[1199]
-#define ID_AParExpr SFT_parser_nodes[1200]
-#define COLOR_AParExpr SFT_parser_nodes[1201]
-#define INIT_TABLE_POS_AParExpr SFT_parser_nodes[1202]
-#define ID_AProxyExpr SFT_parser_nodes[1203]
-#define COLOR_AProxyExpr SFT_parser_nodes[1204]
-#define COLOR_parser_nodes___AProxyExpr____n_expr SFT_parser_nodes[1205]
-#define INIT_TABLE_POS_AProxyExpr SFT_parser_nodes[1206]
-#define COLOR_parser_nodes___AProxyExpr___n_expr SFT_parser_nodes[1207]
-#define COLOR_parser_nodes___AProxyExpr___n_expr__eq SFT_parser_nodes[1208]
-#define ID_AAsCastExpr SFT_parser_nodes[1209]
-#define COLOR_AAsCastExpr SFT_parser_nodes[1210]
-#define COLOR_parser_nodes___AAsCastExpr____n_expr SFT_parser_nodes[1211]
-#define COLOR_parser_nodes___AAsCastExpr____n_kwas SFT_parser_nodes[1212]
-#define COLOR_parser_nodes___AAsCastExpr____n_type SFT_parser_nodes[1213]
-#define INIT_TABLE_POS_AAsCastExpr SFT_parser_nodes[1214]
-#define COLOR_parser_nodes___AAsCastExpr___n_expr SFT_parser_nodes[1215]
-#define COLOR_parser_nodes___AAsCastExpr___n_expr__eq SFT_parser_nodes[1216]
-#define COLOR_parser_nodes___AAsCastExpr___n_kwas SFT_parser_nodes[1217]
-#define COLOR_parser_nodes___AAsCastExpr___n_kwas__eq SFT_parser_nodes[1218]
-#define COLOR_parser_nodes___AAsCastExpr___n_type SFT_parser_nodes[1219]
-#define COLOR_parser_nodes___AAsCastExpr___n_type__eq SFT_parser_nodes[1220]
-#define ID_APlusAssignOp SFT_parser_nodes[1221]
-#define COLOR_APlusAssignOp SFT_parser_nodes[1222]
-#define COLOR_parser_nodes___APlusAssignOp____n_pluseq SFT_parser_nodes[1223]
-#define INIT_TABLE_POS_APlusAssignOp SFT_parser_nodes[1224]
-#define COLOR_parser_nodes___APlusAssignOp___n_pluseq SFT_parser_nodes[1225]
-#define COLOR_parser_nodes___APlusAssignOp___n_pluseq__eq SFT_parser_nodes[1226]
-#define ID_AMinusAssignOp SFT_parser_nodes[1227]
-#define COLOR_AMinusAssignOp SFT_parser_nodes[1228]
-#define COLOR_parser_nodes___AMinusAssignOp____n_minuseq SFT_parser_nodes[1229]
-#define INIT_TABLE_POS_AMinusAssignOp SFT_parser_nodes[1230]
-#define COLOR_parser_nodes___AMinusAssignOp___n_minuseq SFT_parser_nodes[1231]
-#define COLOR_parser_nodes___AMinusAssignOp___n_minuseq__eq SFT_parser_nodes[1232]
-#define ID_AQualified SFT_parser_nodes[1233]
-#define COLOR_AQualified SFT_parser_nodes[1234]
-#define COLOR_parser_nodes___AQualified____n_id SFT_parser_nodes[1235]
-#define COLOR_parser_nodes___AQualified____n_classid SFT_parser_nodes[1236]
-#define INIT_TABLE_POS_AQualified SFT_parser_nodes[1237]
-#define COLOR_parser_nodes___AQualified___n_id SFT_parser_nodes[1238]
-#define COLOR_parser_nodes___AQualified___n_id__eq SFT_parser_nodes[1239]
-#define COLOR_parser_nodes___AQualified___n_classid SFT_parser_nodes[1240]
-#define COLOR_parser_nodes___AQualified___n_classid__eq SFT_parser_nodes[1241]
-#define ID_ADoc SFT_parser_nodes[1242]
-#define COLOR_ADoc SFT_parser_nodes[1243]
-#define COLOR_parser_nodes___ADoc____n_comment SFT_parser_nodes[1244]
-#define INIT_TABLE_POS_ADoc SFT_parser_nodes[1245]
-#define COLOR_parser_nodes___ADoc___n_comment SFT_parser_nodes[1246]
-#define COLOR_parser_nodes___ADoc___n_comment__eq SFT_parser_nodes[1247]
-#define ID_Start SFT_parser_nodes[1248]
-#define COLOR_Start SFT_parser_nodes[1249]
-#define COLOR_parser_nodes___Start____n_base SFT_parser_nodes[1250]
-#define COLOR_parser_nodes___Start____n_eof SFT_parser_nodes[1251]
-#define INIT_TABLE_POS_Start SFT_parser_nodes[1252]
-#define COLOR_parser_nodes___Start___n_base SFT_parser_nodes[1253]
-#define COLOR_parser_nodes___Start___n_base__eq SFT_parser_nodes[1254]
-#define COLOR_parser_nodes___Start___n_eof SFT_parser_nodes[1255]
-#define COLOR_parser_nodes___Start___n_eof__eq SFT_parser_nodes[1256]
+#define COLOR_parser_nodes___PNode___init SFT_parser_nodes[3]
+#define ID_Token SFT_parser_nodes[4]
+#define COLOR_Token SFT_parser_nodes[5]
+#define INIT_TABLE_POS_Token SFT_parser_nodes[6]
+#define ID_Prod SFT_parser_nodes[7]
+#define COLOR_Prod SFT_parser_nodes[8]
+#define INIT_TABLE_POS_Prod SFT_parser_nodes[9]
+#define ID_TEol SFT_parser_nodes[10]
+#define COLOR_TEol SFT_parser_nodes[11]
+#define INIT_TABLE_POS_TEol SFT_parser_nodes[12]
+#define ID_TComment SFT_parser_nodes[13]
+#define COLOR_TComment SFT_parser_nodes[14]
+#define INIT_TABLE_POS_TComment SFT_parser_nodes[15]
+#define ID_TKwpackage SFT_parser_nodes[16]
+#define COLOR_TKwpackage SFT_parser_nodes[17]
+#define INIT_TABLE_POS_TKwpackage SFT_parser_nodes[18]
+#define ID_TKwimport SFT_parser_nodes[19]
+#define COLOR_TKwimport SFT_parser_nodes[20]
+#define INIT_TABLE_POS_TKwimport SFT_parser_nodes[21]
+#define ID_TKwclass SFT_parser_nodes[22]
+#define COLOR_TKwclass SFT_parser_nodes[23]
+#define INIT_TABLE_POS_TKwclass SFT_parser_nodes[24]
+#define ID_TKwabstract SFT_parser_nodes[25]
+#define COLOR_TKwabstract SFT_parser_nodes[26]
+#define INIT_TABLE_POS_TKwabstract SFT_parser_nodes[27]
+#define ID_TKwinterface SFT_parser_nodes[28]
+#define COLOR_TKwinterface SFT_parser_nodes[29]
+#define INIT_TABLE_POS_TKwinterface SFT_parser_nodes[30]
+#define ID_TKwuniversal SFT_parser_nodes[31]
+#define COLOR_TKwuniversal SFT_parser_nodes[32]
+#define INIT_TABLE_POS_TKwuniversal SFT_parser_nodes[33]
+#define ID_TKwspecial SFT_parser_nodes[34]
+#define COLOR_TKwspecial SFT_parser_nodes[35]
+#define INIT_TABLE_POS_TKwspecial SFT_parser_nodes[36]
+#define ID_TKwend SFT_parser_nodes[37]
+#define COLOR_TKwend SFT_parser_nodes[38]
+#define INIT_TABLE_POS_TKwend SFT_parser_nodes[39]
+#define ID_TKwmeth SFT_parser_nodes[40]
+#define COLOR_TKwmeth SFT_parser_nodes[41]
+#define INIT_TABLE_POS_TKwmeth SFT_parser_nodes[42]
+#define ID_TKwtype SFT_parser_nodes[43]
+#define COLOR_TKwtype SFT_parser_nodes[44]
+#define INIT_TABLE_POS_TKwtype SFT_parser_nodes[45]
+#define ID_TKwattr SFT_parser_nodes[46]
+#define COLOR_TKwattr SFT_parser_nodes[47]
+#define INIT_TABLE_POS_TKwattr SFT_parser_nodes[48]
+#define ID_TKwinit SFT_parser_nodes[49]
+#define COLOR_TKwinit SFT_parser_nodes[50]
+#define INIT_TABLE_POS_TKwinit SFT_parser_nodes[51]
+#define ID_TKwredef SFT_parser_nodes[52]
+#define COLOR_TKwredef SFT_parser_nodes[53]
+#define INIT_TABLE_POS_TKwredef SFT_parser_nodes[54]
+#define ID_TKwis SFT_parser_nodes[55]
+#define COLOR_TKwis SFT_parser_nodes[56]
+#define INIT_TABLE_POS_TKwis SFT_parser_nodes[57]
+#define ID_TKwdo SFT_parser_nodes[58]
+#define COLOR_TKwdo SFT_parser_nodes[59]
+#define INIT_TABLE_POS_TKwdo SFT_parser_nodes[60]
+#define ID_TKwreadable SFT_parser_nodes[61]
+#define COLOR_TKwreadable SFT_parser_nodes[62]
+#define INIT_TABLE_POS_TKwreadable SFT_parser_nodes[63]
+#define ID_TKwwritable SFT_parser_nodes[64]
+#define COLOR_TKwwritable SFT_parser_nodes[65]
+#define INIT_TABLE_POS_TKwwritable SFT_parser_nodes[66]
+#define ID_TKwvar SFT_parser_nodes[67]
+#define COLOR_TKwvar SFT_parser_nodes[68]
+#define INIT_TABLE_POS_TKwvar SFT_parser_nodes[69]
+#define ID_TKwintern SFT_parser_nodes[70]
+#define COLOR_TKwintern SFT_parser_nodes[71]
+#define INIT_TABLE_POS_TKwintern SFT_parser_nodes[72]
+#define ID_TKwextern SFT_parser_nodes[73]
+#define COLOR_TKwextern SFT_parser_nodes[74]
+#define INIT_TABLE_POS_TKwextern SFT_parser_nodes[75]
+#define ID_TKwprotected SFT_parser_nodes[76]
+#define COLOR_TKwprotected SFT_parser_nodes[77]
+#define INIT_TABLE_POS_TKwprotected SFT_parser_nodes[78]
+#define ID_TKwprivate SFT_parser_nodes[79]
+#define COLOR_TKwprivate SFT_parser_nodes[80]
+#define INIT_TABLE_POS_TKwprivate SFT_parser_nodes[81]
+#define ID_TKwintrude SFT_parser_nodes[82]
+#define COLOR_TKwintrude SFT_parser_nodes[83]
+#define INIT_TABLE_POS_TKwintrude SFT_parser_nodes[84]
+#define ID_TKwif SFT_parser_nodes[85]
+#define COLOR_TKwif SFT_parser_nodes[86]
+#define INIT_TABLE_POS_TKwif SFT_parser_nodes[87]
+#define ID_TKwthen SFT_parser_nodes[88]
+#define COLOR_TKwthen SFT_parser_nodes[89]
+#define INIT_TABLE_POS_TKwthen SFT_parser_nodes[90]
+#define ID_TKwelse SFT_parser_nodes[91]
+#define COLOR_TKwelse SFT_parser_nodes[92]
+#define INIT_TABLE_POS_TKwelse SFT_parser_nodes[93]
+#define ID_TKwwhile SFT_parser_nodes[94]
+#define COLOR_TKwwhile SFT_parser_nodes[95]
+#define INIT_TABLE_POS_TKwwhile SFT_parser_nodes[96]
+#define ID_TKwfor SFT_parser_nodes[97]
+#define COLOR_TKwfor SFT_parser_nodes[98]
+#define INIT_TABLE_POS_TKwfor SFT_parser_nodes[99]
+#define ID_TKwin SFT_parser_nodes[100]
+#define COLOR_TKwin SFT_parser_nodes[101]
+#define INIT_TABLE_POS_TKwin SFT_parser_nodes[102]
+#define ID_TKwand SFT_parser_nodes[103]
+#define COLOR_TKwand SFT_parser_nodes[104]
+#define INIT_TABLE_POS_TKwand SFT_parser_nodes[105]
+#define ID_TKwor SFT_parser_nodes[106]
+#define COLOR_TKwor SFT_parser_nodes[107]
+#define INIT_TABLE_POS_TKwor SFT_parser_nodes[108]
+#define ID_TKwnot SFT_parser_nodes[109]
+#define COLOR_TKwnot SFT_parser_nodes[110]
+#define INIT_TABLE_POS_TKwnot SFT_parser_nodes[111]
+#define ID_TKwreturn SFT_parser_nodes[112]
+#define COLOR_TKwreturn SFT_parser_nodes[113]
+#define INIT_TABLE_POS_TKwreturn SFT_parser_nodes[114]
+#define ID_TKwcontinue SFT_parser_nodes[115]
+#define COLOR_TKwcontinue SFT_parser_nodes[116]
+#define INIT_TABLE_POS_TKwcontinue SFT_parser_nodes[117]
+#define ID_TKwbreak SFT_parser_nodes[118]
+#define COLOR_TKwbreak SFT_parser_nodes[119]
+#define INIT_TABLE_POS_TKwbreak SFT_parser_nodes[120]
+#define ID_TKwabort SFT_parser_nodes[121]
+#define COLOR_TKwabort SFT_parser_nodes[122]
+#define INIT_TABLE_POS_TKwabort SFT_parser_nodes[123]
+#define ID_TKwassert SFT_parser_nodes[124]
+#define COLOR_TKwassert SFT_parser_nodes[125]
+#define INIT_TABLE_POS_TKwassert SFT_parser_nodes[126]
+#define ID_TKwnew SFT_parser_nodes[127]
+#define COLOR_TKwnew SFT_parser_nodes[128]
+#define INIT_TABLE_POS_TKwnew SFT_parser_nodes[129]
+#define ID_TKwisa SFT_parser_nodes[130]
+#define COLOR_TKwisa SFT_parser_nodes[131]
+#define INIT_TABLE_POS_TKwisa SFT_parser_nodes[132]
+#define ID_TKwonce SFT_parser_nodes[133]
+#define COLOR_TKwonce SFT_parser_nodes[134]
+#define INIT_TABLE_POS_TKwonce SFT_parser_nodes[135]
+#define ID_TKwsuper SFT_parser_nodes[136]
+#define COLOR_TKwsuper SFT_parser_nodes[137]
+#define INIT_TABLE_POS_TKwsuper SFT_parser_nodes[138]
+#define ID_TKwself SFT_parser_nodes[139]
+#define COLOR_TKwself SFT_parser_nodes[140]
+#define INIT_TABLE_POS_TKwself SFT_parser_nodes[141]
+#define ID_TKwtrue SFT_parser_nodes[142]
+#define COLOR_TKwtrue SFT_parser_nodes[143]
+#define INIT_TABLE_POS_TKwtrue SFT_parser_nodes[144]
+#define ID_TKwfalse SFT_parser_nodes[145]
+#define COLOR_TKwfalse SFT_parser_nodes[146]
+#define INIT_TABLE_POS_TKwfalse SFT_parser_nodes[147]
+#define ID_TKwnull SFT_parser_nodes[148]
+#define COLOR_TKwnull SFT_parser_nodes[149]
+#define INIT_TABLE_POS_TKwnull SFT_parser_nodes[150]
+#define ID_TKwas SFT_parser_nodes[151]
+#define COLOR_TKwas SFT_parser_nodes[152]
+#define INIT_TABLE_POS_TKwas SFT_parser_nodes[153]
+#define ID_TOpar SFT_parser_nodes[154]
+#define COLOR_TOpar SFT_parser_nodes[155]
+#define INIT_TABLE_POS_TOpar SFT_parser_nodes[156]
+#define ID_TCpar SFT_parser_nodes[157]
+#define COLOR_TCpar SFT_parser_nodes[158]
+#define INIT_TABLE_POS_TCpar SFT_parser_nodes[159]
+#define ID_TObra SFT_parser_nodes[160]
+#define COLOR_TObra SFT_parser_nodes[161]
+#define INIT_TABLE_POS_TObra SFT_parser_nodes[162]
+#define ID_TCbra SFT_parser_nodes[163]
+#define COLOR_TCbra SFT_parser_nodes[164]
+#define INIT_TABLE_POS_TCbra SFT_parser_nodes[165]
+#define ID_TComma SFT_parser_nodes[166]
+#define COLOR_TComma SFT_parser_nodes[167]
+#define INIT_TABLE_POS_TComma SFT_parser_nodes[168]
+#define ID_TColumn SFT_parser_nodes[169]
+#define COLOR_TColumn SFT_parser_nodes[170]
+#define INIT_TABLE_POS_TColumn SFT_parser_nodes[171]
+#define ID_TQuad SFT_parser_nodes[172]
+#define COLOR_TQuad SFT_parser_nodes[173]
+#define INIT_TABLE_POS_TQuad SFT_parser_nodes[174]
+#define ID_TAssign SFT_parser_nodes[175]
+#define COLOR_TAssign SFT_parser_nodes[176]
+#define INIT_TABLE_POS_TAssign SFT_parser_nodes[177]
+#define ID_TPluseq SFT_parser_nodes[178]
+#define COLOR_TPluseq SFT_parser_nodes[179]
+#define INIT_TABLE_POS_TPluseq SFT_parser_nodes[180]
+#define ID_TMinuseq SFT_parser_nodes[181]
+#define COLOR_TMinuseq SFT_parser_nodes[182]
+#define INIT_TABLE_POS_TMinuseq SFT_parser_nodes[183]
+#define ID_TDotdotdot SFT_parser_nodes[184]
+#define COLOR_TDotdotdot SFT_parser_nodes[185]
+#define INIT_TABLE_POS_TDotdotdot SFT_parser_nodes[186]
+#define ID_TDotdot SFT_parser_nodes[187]
+#define COLOR_TDotdot SFT_parser_nodes[188]
+#define INIT_TABLE_POS_TDotdot SFT_parser_nodes[189]
+#define ID_TDot SFT_parser_nodes[190]
+#define COLOR_TDot SFT_parser_nodes[191]
+#define INIT_TABLE_POS_TDot SFT_parser_nodes[192]
+#define ID_TPlus SFT_parser_nodes[193]
+#define COLOR_TPlus SFT_parser_nodes[194]
+#define INIT_TABLE_POS_TPlus SFT_parser_nodes[195]
+#define ID_TMinus SFT_parser_nodes[196]
+#define COLOR_TMinus SFT_parser_nodes[197]
+#define INIT_TABLE_POS_TMinus SFT_parser_nodes[198]
+#define ID_TStar SFT_parser_nodes[199]
+#define COLOR_TStar SFT_parser_nodes[200]
+#define INIT_TABLE_POS_TStar SFT_parser_nodes[201]
+#define ID_TSlash SFT_parser_nodes[202]
+#define COLOR_TSlash SFT_parser_nodes[203]
+#define INIT_TABLE_POS_TSlash SFT_parser_nodes[204]
+#define ID_TPercent SFT_parser_nodes[205]
+#define COLOR_TPercent SFT_parser_nodes[206]
+#define INIT_TABLE_POS_TPercent SFT_parser_nodes[207]
+#define ID_TEq SFT_parser_nodes[208]
+#define COLOR_TEq SFT_parser_nodes[209]
+#define INIT_TABLE_POS_TEq SFT_parser_nodes[210]
+#define ID_TNe SFT_parser_nodes[211]
+#define COLOR_TNe SFT_parser_nodes[212]
+#define INIT_TABLE_POS_TNe SFT_parser_nodes[213]
+#define ID_TLt SFT_parser_nodes[214]
+#define COLOR_TLt SFT_parser_nodes[215]
+#define INIT_TABLE_POS_TLt SFT_parser_nodes[216]
+#define ID_TLe SFT_parser_nodes[217]
+#define COLOR_TLe SFT_parser_nodes[218]
+#define INIT_TABLE_POS_TLe SFT_parser_nodes[219]
+#define ID_TGt SFT_parser_nodes[220]
+#define COLOR_TGt SFT_parser_nodes[221]
+#define INIT_TABLE_POS_TGt SFT_parser_nodes[222]
+#define ID_TGe SFT_parser_nodes[223]
+#define COLOR_TGe SFT_parser_nodes[224]
+#define INIT_TABLE_POS_TGe SFT_parser_nodes[225]
+#define ID_TStarship SFT_parser_nodes[226]
+#define COLOR_TStarship SFT_parser_nodes[227]
+#define INIT_TABLE_POS_TStarship SFT_parser_nodes[228]
+#define ID_TClassid SFT_parser_nodes[229]
+#define COLOR_TClassid SFT_parser_nodes[230]
+#define INIT_TABLE_POS_TClassid SFT_parser_nodes[231]
+#define ID_TId SFT_parser_nodes[232]
+#define COLOR_TId SFT_parser_nodes[233]
+#define INIT_TABLE_POS_TId SFT_parser_nodes[234]
+#define ID_TAttrid SFT_parser_nodes[235]
+#define COLOR_TAttrid SFT_parser_nodes[236]
+#define INIT_TABLE_POS_TAttrid SFT_parser_nodes[237]
+#define ID_TNumber SFT_parser_nodes[238]
+#define COLOR_TNumber SFT_parser_nodes[239]
+#define INIT_TABLE_POS_TNumber SFT_parser_nodes[240]
+#define ID_TFloat SFT_parser_nodes[241]
+#define COLOR_TFloat SFT_parser_nodes[242]
+#define INIT_TABLE_POS_TFloat SFT_parser_nodes[243]
+#define ID_TChar SFT_parser_nodes[244]
+#define COLOR_TChar SFT_parser_nodes[245]
+#define INIT_TABLE_POS_TChar SFT_parser_nodes[246]
+#define ID_TString SFT_parser_nodes[247]
+#define COLOR_TString SFT_parser_nodes[248]
+#define INIT_TABLE_POS_TString SFT_parser_nodes[249]
+#define ID_TStartString SFT_parser_nodes[250]
+#define COLOR_TStartString SFT_parser_nodes[251]
+#define INIT_TABLE_POS_TStartString SFT_parser_nodes[252]
+#define ID_TMidString SFT_parser_nodes[253]
+#define COLOR_TMidString SFT_parser_nodes[254]
+#define INIT_TABLE_POS_TMidString SFT_parser_nodes[255]
+#define ID_TEndString SFT_parser_nodes[256]
+#define COLOR_TEndString SFT_parser_nodes[257]
+#define INIT_TABLE_POS_TEndString SFT_parser_nodes[258]
+#define ID_EOF SFT_parser_nodes[259]
+#define COLOR_EOF SFT_parser_nodes[260]
+#define INIT_TABLE_POS_EOF SFT_parser_nodes[261]
+#define COLOR_parser_nodes___EOF___noinit SFT_parser_nodes[262]
+#define ID_PError SFT_parser_nodes[263]
+#define COLOR_PError SFT_parser_nodes[264]
+#define INIT_TABLE_POS_PError SFT_parser_nodes[265]
+#define COLOR_parser_nodes___PError___noinit SFT_parser_nodes[266]
+#define ID_PModule SFT_parser_nodes[267]
+#define COLOR_PModule SFT_parser_nodes[268]
+#define INIT_TABLE_POS_PModule SFT_parser_nodes[269]
+#define ID_PPackagedecl SFT_parser_nodes[270]
+#define COLOR_PPackagedecl SFT_parser_nodes[271]
+#define INIT_TABLE_POS_PPackagedecl SFT_parser_nodes[272]
+#define ID_PImport SFT_parser_nodes[273]
+#define COLOR_PImport SFT_parser_nodes[274]
+#define INIT_TABLE_POS_PImport SFT_parser_nodes[275]
+#define ID_PVisibility SFT_parser_nodes[276]
+#define COLOR_PVisibility SFT_parser_nodes[277]
+#define INIT_TABLE_POS_PVisibility SFT_parser_nodes[278]
+#define ID_PClassdef SFT_parser_nodes[279]
+#define COLOR_PClassdef SFT_parser_nodes[280]
+#define INIT_TABLE_POS_PClassdef SFT_parser_nodes[281]
+#define ID_PClasskind SFT_parser_nodes[282]
+#define COLOR_PClasskind SFT_parser_nodes[283]
+#define INIT_TABLE_POS_PClasskind SFT_parser_nodes[284]
+#define ID_PFormaldef SFT_parser_nodes[285]
+#define COLOR_PFormaldef SFT_parser_nodes[286]
+#define INIT_TABLE_POS_PFormaldef SFT_parser_nodes[287]
+#define ID_PSuperclass SFT_parser_nodes[288]
+#define COLOR_PSuperclass SFT_parser_nodes[289]
+#define INIT_TABLE_POS_PSuperclass SFT_parser_nodes[290]
+#define ID_PPropdef SFT_parser_nodes[291]
+#define COLOR_PPropdef SFT_parser_nodes[292]
+#define COLOR_parser_nodes___PPropdef____n_doc SFT_parser_nodes[293]
+#define INIT_TABLE_POS_PPropdef SFT_parser_nodes[294]
+#define COLOR_parser_nodes___PPropdef___n_doc SFT_parser_nodes[295]
+#define COLOR_parser_nodes___PPropdef___n_doc__eq SFT_parser_nodes[296]
+#define ID_PAble SFT_parser_nodes[297]
+#define COLOR_PAble SFT_parser_nodes[298]
+#define COLOR_parser_nodes___PAble____n_kwredef SFT_parser_nodes[299]
+#define INIT_TABLE_POS_PAble SFT_parser_nodes[300]
+#define COLOR_parser_nodes___PAble___n_kwredef SFT_parser_nodes[301]
+#define COLOR_parser_nodes___PAble___n_kwredef__eq SFT_parser_nodes[302]
+#define ID_PMethid SFT_parser_nodes[303]
+#define COLOR_PMethid SFT_parser_nodes[304]
+#define INIT_TABLE_POS_PMethid SFT_parser_nodes[305]
+#define ID_PSignature SFT_parser_nodes[306]
+#define COLOR_PSignature SFT_parser_nodes[307]
+#define INIT_TABLE_POS_PSignature SFT_parser_nodes[308]
+#define ID_PParam SFT_parser_nodes[309]
+#define COLOR_PParam SFT_parser_nodes[310]
+#define COLOR_parser_nodes___PParam____n_id SFT_parser_nodes[311]
+#define COLOR_parser_nodes___PParam____n_type SFT_parser_nodes[312]
+#define INIT_TABLE_POS_PParam SFT_parser_nodes[313]
+#define COLOR_parser_nodes___PParam___n_id SFT_parser_nodes[314]
+#define COLOR_parser_nodes___PParam___n_id__eq SFT_parser_nodes[315]
+#define COLOR_parser_nodes___PParam___n_type SFT_parser_nodes[316]
+#define COLOR_parser_nodes___PParam___n_type__eq SFT_parser_nodes[317]
+#define ID_PType SFT_parser_nodes[318]
+#define COLOR_PType SFT_parser_nodes[319]
+#define INIT_TABLE_POS_PType SFT_parser_nodes[320]
+#define ID_PExpr SFT_parser_nodes[321]
+#define COLOR_PExpr SFT_parser_nodes[322]
+#define INIT_TABLE_POS_PExpr SFT_parser_nodes[323]
+#define ID_PAssignOp SFT_parser_nodes[324]
+#define COLOR_PAssignOp SFT_parser_nodes[325]
+#define INIT_TABLE_POS_PAssignOp SFT_parser_nodes[326]
+#define ID_PQualified SFT_parser_nodes[327]
+#define COLOR_PQualified SFT_parser_nodes[328]
+#define INIT_TABLE_POS_PQualified SFT_parser_nodes[329]
+#define ID_PDoc SFT_parser_nodes[330]
+#define COLOR_PDoc SFT_parser_nodes[331]
+#define INIT_TABLE_POS_PDoc SFT_parser_nodes[332]
+#define ID_AModule SFT_parser_nodes[333]
+#define COLOR_AModule SFT_parser_nodes[334]
+#define COLOR_parser_nodes___AModule____n_packagedecl SFT_parser_nodes[335]
+#define COLOR_parser_nodes___AModule____n_imports SFT_parser_nodes[336]
+#define COLOR_parser_nodes___AModule____n_classdefs SFT_parser_nodes[337]
+#define INIT_TABLE_POS_AModule SFT_parser_nodes[338]
+#define COLOR_parser_nodes___AModule___n_packagedecl SFT_parser_nodes[339]
+#define COLOR_parser_nodes___AModule___n_packagedecl__eq SFT_parser_nodes[340]
+#define COLOR_parser_nodes___AModule___n_imports SFT_parser_nodes[341]
+#define COLOR_parser_nodes___AModule___n_imports__eq SFT_parser_nodes[342]
+#define COLOR_parser_nodes___AModule___n_classdefs SFT_parser_nodes[343]
+#define COLOR_parser_nodes___AModule___n_classdefs__eq SFT_parser_nodes[344]
+#define ID_APackagedecl SFT_parser_nodes[345]
+#define COLOR_APackagedecl SFT_parser_nodes[346]
+#define COLOR_parser_nodes___APackagedecl____n_doc SFT_parser_nodes[347]
+#define COLOR_parser_nodes___APackagedecl____n_kwpackage SFT_parser_nodes[348]
+#define COLOR_parser_nodes___APackagedecl____n_id SFT_parser_nodes[349]
+#define INIT_TABLE_POS_APackagedecl SFT_parser_nodes[350]
+#define COLOR_parser_nodes___APackagedecl___n_doc SFT_parser_nodes[351]
+#define COLOR_parser_nodes___APackagedecl___n_doc__eq SFT_parser_nodes[352]
+#define COLOR_parser_nodes___APackagedecl___n_kwpackage SFT_parser_nodes[353]
+#define COLOR_parser_nodes___APackagedecl___n_kwpackage__eq SFT_parser_nodes[354]
+#define COLOR_parser_nodes___APackagedecl___n_id SFT_parser_nodes[355]
+#define COLOR_parser_nodes___APackagedecl___n_id__eq SFT_parser_nodes[356]
+#define ID_AImport SFT_parser_nodes[357]
+#define COLOR_AImport SFT_parser_nodes[358]
+#define COLOR_parser_nodes___AImport____n_visibility SFT_parser_nodes[359]
+#define COLOR_parser_nodes___AImport____n_kwimport SFT_parser_nodes[360]
+#define COLOR_parser_nodes___AImport____n_id SFT_parser_nodes[361]
+#define INIT_TABLE_POS_AImport SFT_parser_nodes[362]
+#define COLOR_parser_nodes___AImport___n_visibility SFT_parser_nodes[363]
+#define COLOR_parser_nodes___AImport___n_visibility__eq SFT_parser_nodes[364]
+#define COLOR_parser_nodes___AImport___n_kwimport SFT_parser_nodes[365]
+#define COLOR_parser_nodes___AImport___n_kwimport__eq SFT_parser_nodes[366]
+#define COLOR_parser_nodes___AImport___n_id SFT_parser_nodes[367]
+#define COLOR_parser_nodes___AImport___n_id__eq SFT_parser_nodes[368]
+#define ID_ANoImport SFT_parser_nodes[369]
+#define COLOR_ANoImport SFT_parser_nodes[370]
+#define COLOR_parser_nodes___ANoImport____n_visibility SFT_parser_nodes[371]
+#define COLOR_parser_nodes___ANoImport____n_kwimport SFT_parser_nodes[372]
+#define COLOR_parser_nodes___ANoImport____n_kwend SFT_parser_nodes[373]
+#define INIT_TABLE_POS_ANoImport SFT_parser_nodes[374]
+#define COLOR_parser_nodes___ANoImport___n_visibility SFT_parser_nodes[375]
+#define COLOR_parser_nodes___ANoImport___n_visibility__eq SFT_parser_nodes[376]
+#define COLOR_parser_nodes___ANoImport___n_kwimport SFT_parser_nodes[377]
+#define COLOR_parser_nodes___ANoImport___n_kwimport__eq SFT_parser_nodes[378]
+#define COLOR_parser_nodes___ANoImport___n_kwend SFT_parser_nodes[379]
+#define COLOR_parser_nodes___ANoImport___n_kwend__eq SFT_parser_nodes[380]
+#define ID_APublicVisibility SFT_parser_nodes[381]
+#define COLOR_APublicVisibility SFT_parser_nodes[382]
+#define INIT_TABLE_POS_APublicVisibility SFT_parser_nodes[383]
+#define ID_APrivateVisibility SFT_parser_nodes[384]
+#define COLOR_APrivateVisibility SFT_parser_nodes[385]
+#define COLOR_parser_nodes___APrivateVisibility____n_kwprivate SFT_parser_nodes[386]
+#define INIT_TABLE_POS_APrivateVisibility SFT_parser_nodes[387]
+#define COLOR_parser_nodes___APrivateVisibility___n_kwprivate SFT_parser_nodes[388]
+#define COLOR_parser_nodes___APrivateVisibility___n_kwprivate__eq SFT_parser_nodes[389]
+#define ID_AProtectedVisibility SFT_parser_nodes[390]
+#define COLOR_AProtectedVisibility SFT_parser_nodes[391]
+#define COLOR_parser_nodes___AProtectedVisibility____n_kwprotected SFT_parser_nodes[392]
+#define INIT_TABLE_POS_AProtectedVisibility SFT_parser_nodes[393]
+#define COLOR_parser_nodes___AProtectedVisibility___n_kwprotected SFT_parser_nodes[394]
+#define COLOR_parser_nodes___AProtectedVisibility___n_kwprotected__eq SFT_parser_nodes[395]
+#define ID_AIntrudeVisibility SFT_parser_nodes[396]
+#define COLOR_AIntrudeVisibility SFT_parser_nodes[397]
+#define COLOR_parser_nodes___AIntrudeVisibility____n_kwintrude SFT_parser_nodes[398]
+#define INIT_TABLE_POS_AIntrudeVisibility SFT_parser_nodes[399]
+#define COLOR_parser_nodes___AIntrudeVisibility___n_kwintrude SFT_parser_nodes[400]
+#define COLOR_parser_nodes___AIntrudeVisibility___n_kwintrude__eq SFT_parser_nodes[401]
+#define ID_AClassdef SFT_parser_nodes[402]
+#define COLOR_AClassdef SFT_parser_nodes[403]
+#define COLOR_parser_nodes___AClassdef____n_doc SFT_parser_nodes[404]
+#define COLOR_parser_nodes___AClassdef____n_kwredef SFT_parser_nodes[405]
+#define COLOR_parser_nodes___AClassdef____n_visibility SFT_parser_nodes[406]
+#define COLOR_parser_nodes___AClassdef____n_classkind SFT_parser_nodes[407]
+#define COLOR_parser_nodes___AClassdef____n_id SFT_parser_nodes[408]
+#define COLOR_parser_nodes___AClassdef____n_formaldefs SFT_parser_nodes[409]
+#define COLOR_parser_nodes___AClassdef____n_superclasses SFT_parser_nodes[410]
+#define COLOR_parser_nodes___AClassdef____n_propdefs SFT_parser_nodes[411]
+#define INIT_TABLE_POS_AClassdef SFT_parser_nodes[412]
+#define COLOR_parser_nodes___AClassdef___n_doc SFT_parser_nodes[413]
+#define COLOR_parser_nodes___AClassdef___n_doc__eq SFT_parser_nodes[414]
+#define COLOR_parser_nodes___AClassdef___n_kwredef SFT_parser_nodes[415]
+#define COLOR_parser_nodes___AClassdef___n_kwredef__eq SFT_parser_nodes[416]
+#define COLOR_parser_nodes___AClassdef___n_visibility SFT_parser_nodes[417]
+#define COLOR_parser_nodes___AClassdef___n_visibility__eq SFT_parser_nodes[418]
+#define COLOR_parser_nodes___AClassdef___n_classkind SFT_parser_nodes[419]
+#define COLOR_parser_nodes___AClassdef___n_classkind__eq SFT_parser_nodes[420]
+#define COLOR_parser_nodes___AClassdef___n_id SFT_parser_nodes[421]
+#define COLOR_parser_nodes___AClassdef___n_id__eq SFT_parser_nodes[422]
+#define COLOR_parser_nodes___AClassdef___n_formaldefs SFT_parser_nodes[423]
+#define COLOR_parser_nodes___AClassdef___n_formaldefs__eq SFT_parser_nodes[424]
+#define COLOR_parser_nodes___AClassdef___n_superclasses SFT_parser_nodes[425]
+#define COLOR_parser_nodes___AClassdef___n_superclasses__eq SFT_parser_nodes[426]
+#define COLOR_parser_nodes___AClassdef___n_propdefs SFT_parser_nodes[427]
+#define COLOR_parser_nodes___AClassdef___n_propdefs__eq SFT_parser_nodes[428]
+#define ID_ATopClassdef SFT_parser_nodes[429]
+#define COLOR_ATopClassdef SFT_parser_nodes[430]
+#define COLOR_parser_nodes___ATopClassdef____n_propdefs SFT_parser_nodes[431]
+#define INIT_TABLE_POS_ATopClassdef SFT_parser_nodes[432]
+#define COLOR_parser_nodes___ATopClassdef___n_propdefs SFT_parser_nodes[433]
+#define COLOR_parser_nodes___ATopClassdef___n_propdefs__eq SFT_parser_nodes[434]
+#define ID_AMainClassdef SFT_parser_nodes[435]
+#define COLOR_AMainClassdef SFT_parser_nodes[436]
+#define COLOR_parser_nodes___AMainClassdef____n_propdefs SFT_parser_nodes[437]
+#define INIT_TABLE_POS_AMainClassdef SFT_parser_nodes[438]
+#define COLOR_parser_nodes___AMainClassdef___n_propdefs SFT_parser_nodes[439]
+#define COLOR_parser_nodes___AMainClassdef___n_propdefs__eq SFT_parser_nodes[440]
+#define ID_AConcreteClasskind SFT_parser_nodes[441]
+#define COLOR_AConcreteClasskind SFT_parser_nodes[442]
+#define COLOR_parser_nodes___AConcreteClasskind____n_kwclass SFT_parser_nodes[443]
+#define INIT_TABLE_POS_AConcreteClasskind SFT_parser_nodes[444]
+#define COLOR_parser_nodes___AConcreteClasskind___n_kwclass SFT_parser_nodes[445]
+#define COLOR_parser_nodes___AConcreteClasskind___n_kwclass__eq SFT_parser_nodes[446]
+#define ID_AAbstractClasskind SFT_parser_nodes[447]
+#define COLOR_AAbstractClasskind SFT_parser_nodes[448]
+#define COLOR_parser_nodes___AAbstractClasskind____n_kwabstract SFT_parser_nodes[449]
+#define COLOR_parser_nodes___AAbstractClasskind____n_kwclass SFT_parser_nodes[450]
+#define INIT_TABLE_POS_AAbstractClasskind SFT_parser_nodes[451]
+#define COLOR_parser_nodes___AAbstractClasskind___n_kwabstract SFT_parser_nodes[452]
+#define COLOR_parser_nodes___AAbstractClasskind___n_kwabstract__eq SFT_parser_nodes[453]
+#define COLOR_parser_nodes___AAbstractClasskind___n_kwclass SFT_parser_nodes[454]
+#define COLOR_parser_nodes___AAbstractClasskind___n_kwclass__eq SFT_parser_nodes[455]
+#define ID_AInterfaceClasskind SFT_parser_nodes[456]
+#define COLOR_AInterfaceClasskind SFT_parser_nodes[457]
+#define COLOR_parser_nodes___AInterfaceClasskind____n_kwinterface SFT_parser_nodes[458]
+#define INIT_TABLE_POS_AInterfaceClasskind SFT_parser_nodes[459]
+#define COLOR_parser_nodes___AInterfaceClasskind___n_kwinterface SFT_parser_nodes[460]
+#define COLOR_parser_nodes___AInterfaceClasskind___n_kwinterface__eq SFT_parser_nodes[461]
+#define ID_AUniversalClasskind SFT_parser_nodes[462]
+#define COLOR_AUniversalClasskind SFT_parser_nodes[463]
+#define COLOR_parser_nodes___AUniversalClasskind____n_kwuniversal SFT_parser_nodes[464]
+#define INIT_TABLE_POS_AUniversalClasskind SFT_parser_nodes[465]
+#define COLOR_parser_nodes___AUniversalClasskind___n_kwuniversal SFT_parser_nodes[466]
+#define COLOR_parser_nodes___AUniversalClasskind___n_kwuniversal__eq SFT_parser_nodes[467]
+#define ID_AFormaldef SFT_parser_nodes[468]
+#define COLOR_AFormaldef SFT_parser_nodes[469]
+#define COLOR_parser_nodes___AFormaldef____n_id SFT_parser_nodes[470]
+#define COLOR_parser_nodes___AFormaldef____n_type SFT_parser_nodes[471]
+#define INIT_TABLE_POS_AFormaldef SFT_parser_nodes[472]
+#define COLOR_parser_nodes___AFormaldef___n_id SFT_parser_nodes[473]
+#define COLOR_parser_nodes___AFormaldef___n_id__eq SFT_parser_nodes[474]
+#define COLOR_parser_nodes___AFormaldef___n_type SFT_parser_nodes[475]
+#define COLOR_parser_nodes___AFormaldef___n_type__eq SFT_parser_nodes[476]
+#define ID_ASuperclass SFT_parser_nodes[477]
+#define COLOR_ASuperclass SFT_parser_nodes[478]
+#define COLOR_parser_nodes___ASuperclass____n_kwspecial SFT_parser_nodes[479]
+#define COLOR_parser_nodes___ASuperclass____n_type SFT_parser_nodes[480]
+#define INIT_TABLE_POS_ASuperclass SFT_parser_nodes[481]
+#define COLOR_parser_nodes___ASuperclass___n_kwspecial SFT_parser_nodes[482]
+#define COLOR_parser_nodes___ASuperclass___n_kwspecial__eq SFT_parser_nodes[483]
+#define COLOR_parser_nodes___ASuperclass___n_type SFT_parser_nodes[484]
+#define COLOR_parser_nodes___ASuperclass___n_type__eq SFT_parser_nodes[485]
+#define ID_AAttrPropdef SFT_parser_nodes[486]
+#define COLOR_AAttrPropdef SFT_parser_nodes[487]
+#define COLOR_parser_nodes___AAttrPropdef____n_kwredef SFT_parser_nodes[488]
+#define COLOR_parser_nodes___AAttrPropdef____n_visibility SFT_parser_nodes[489]
+#define COLOR_parser_nodes___AAttrPropdef____n_kwattr SFT_parser_nodes[490]
+#define COLOR_parser_nodes___AAttrPropdef____n_id SFT_parser_nodes[491]
+#define COLOR_parser_nodes___AAttrPropdef____n_type SFT_parser_nodes[492]
+#define COLOR_parser_nodes___AAttrPropdef____n_readable SFT_parser_nodes[493]
+#define COLOR_parser_nodes___AAttrPropdef____n_writable SFT_parser_nodes[494]
+#define COLOR_parser_nodes___AAttrPropdef____n_expr SFT_parser_nodes[495]
+#define INIT_TABLE_POS_AAttrPropdef SFT_parser_nodes[496]
+#define COLOR_parser_nodes___AAttrPropdef___n_kwredef SFT_parser_nodes[497]
+#define COLOR_parser_nodes___AAttrPropdef___n_kwredef__eq SFT_parser_nodes[498]
+#define COLOR_parser_nodes___AAttrPropdef___n_visibility SFT_parser_nodes[499]
+#define COLOR_parser_nodes___AAttrPropdef___n_visibility__eq SFT_parser_nodes[500]
+#define COLOR_parser_nodes___AAttrPropdef___n_kwattr SFT_parser_nodes[501]
+#define COLOR_parser_nodes___AAttrPropdef___n_kwattr__eq SFT_parser_nodes[502]
+#define COLOR_parser_nodes___AAttrPropdef___n_id SFT_parser_nodes[503]
+#define COLOR_parser_nodes___AAttrPropdef___n_id__eq SFT_parser_nodes[504]
+#define COLOR_parser_nodes___AAttrPropdef___n_type SFT_parser_nodes[505]
+#define COLOR_parser_nodes___AAttrPropdef___n_type__eq SFT_parser_nodes[506]
+#define COLOR_parser_nodes___AAttrPropdef___n_readable SFT_parser_nodes[507]
+#define COLOR_parser_nodes___AAttrPropdef___n_readable__eq SFT_parser_nodes[508]
+#define COLOR_parser_nodes___AAttrPropdef___n_writable SFT_parser_nodes[509]
+#define COLOR_parser_nodes___AAttrPropdef___n_writable__eq SFT_parser_nodes[510]
+#define COLOR_parser_nodes___AAttrPropdef___n_expr SFT_parser_nodes[511]
+#define COLOR_parser_nodes___AAttrPropdef___n_expr__eq SFT_parser_nodes[512]
+#define ID_AMethPropdef SFT_parser_nodes[513]
+#define COLOR_AMethPropdef SFT_parser_nodes[514]
+#define COLOR_parser_nodes___AMethPropdef____n_kwredef SFT_parser_nodes[515]
+#define COLOR_parser_nodes___AMethPropdef____n_visibility SFT_parser_nodes[516]
+#define COLOR_parser_nodes___AMethPropdef____n_methid SFT_parser_nodes[517]
+#define COLOR_parser_nodes___AMethPropdef____n_signature SFT_parser_nodes[518]
+#define INIT_TABLE_POS_AMethPropdef SFT_parser_nodes[519]
+#define COLOR_parser_nodes___AMethPropdef___n_kwredef SFT_parser_nodes[520]
+#define COLOR_parser_nodes___AMethPropdef___n_kwredef__eq SFT_parser_nodes[521]
+#define COLOR_parser_nodes___AMethPropdef___n_visibility SFT_parser_nodes[522]
+#define COLOR_parser_nodes___AMethPropdef___n_visibility__eq SFT_parser_nodes[523]
+#define COLOR_parser_nodes___AMethPropdef___n_methid SFT_parser_nodes[524]
+#define COLOR_parser_nodes___AMethPropdef___n_methid__eq SFT_parser_nodes[525]
+#define COLOR_parser_nodes___AMethPropdef___n_signature SFT_parser_nodes[526]
+#define COLOR_parser_nodes___AMethPropdef___n_signature__eq SFT_parser_nodes[527]
+#define ID_ADeferredMethPropdef SFT_parser_nodes[528]
+#define COLOR_ADeferredMethPropdef SFT_parser_nodes[529]
+#define COLOR_parser_nodes___ADeferredMethPropdef____n_kwmeth SFT_parser_nodes[530]
+#define INIT_TABLE_POS_ADeferredMethPropdef SFT_parser_nodes[531]
+#define COLOR_parser_nodes___ADeferredMethPropdef___n_kwmeth SFT_parser_nodes[532]
+#define COLOR_parser_nodes___ADeferredMethPropdef___n_kwmeth__eq SFT_parser_nodes[533]
+#define ID_AInternMethPropdef SFT_parser_nodes[534]
+#define COLOR_AInternMethPropdef SFT_parser_nodes[535]
+#define COLOR_parser_nodes___AInternMethPropdef____n_kwmeth SFT_parser_nodes[536]
+#define INIT_TABLE_POS_AInternMethPropdef SFT_parser_nodes[537]
+#define COLOR_parser_nodes___AInternMethPropdef___n_kwmeth SFT_parser_nodes[538]
+#define COLOR_parser_nodes___AInternMethPropdef___n_kwmeth__eq SFT_parser_nodes[539]
+#define ID_AExternMethPropdef SFT_parser_nodes[540]
+#define COLOR_AExternMethPropdef SFT_parser_nodes[541]
+#define COLOR_parser_nodes___AExternMethPropdef____n_kwmeth SFT_parser_nodes[542]
+#define COLOR_parser_nodes___AExternMethPropdef____n_extern SFT_parser_nodes[543]
+#define INIT_TABLE_POS_AExternMethPropdef SFT_parser_nodes[544]
+#define COLOR_parser_nodes___AExternMethPropdef___n_kwmeth SFT_parser_nodes[545]
+#define COLOR_parser_nodes___AExternMethPropdef___n_kwmeth__eq SFT_parser_nodes[546]
+#define COLOR_parser_nodes___AExternMethPropdef___n_extern SFT_parser_nodes[547]
+#define COLOR_parser_nodes___AExternMethPropdef___n_extern__eq SFT_parser_nodes[548]
+#define ID_AConcreteMethPropdef SFT_parser_nodes[549]
+#define COLOR_AConcreteMethPropdef SFT_parser_nodes[550]
+#define COLOR_parser_nodes___AConcreteMethPropdef____n_kwmeth SFT_parser_nodes[551]
+#define COLOR_parser_nodes___AConcreteMethPropdef____n_block SFT_parser_nodes[552]
+#define INIT_TABLE_POS_AConcreteMethPropdef SFT_parser_nodes[553]
+#define COLOR_parser_nodes___AConcreteMethPropdef___n_kwmeth SFT_parser_nodes[554]
+#define COLOR_parser_nodes___AConcreteMethPropdef___n_kwmeth__eq SFT_parser_nodes[555]
+#define COLOR_parser_nodes___AConcreteMethPropdef___n_block SFT_parser_nodes[556]
+#define COLOR_parser_nodes___AConcreteMethPropdef___n_block__eq SFT_parser_nodes[557]
+#define ID_AConcreteInitPropdef SFT_parser_nodes[558]
+#define COLOR_AConcreteInitPropdef SFT_parser_nodes[559]
+#define COLOR_parser_nodes___AConcreteInitPropdef____n_kwinit SFT_parser_nodes[560]
+#define INIT_TABLE_POS_AConcreteInitPropdef SFT_parser_nodes[561]
+#define COLOR_parser_nodes___AConcreteInitPropdef___n_kwinit SFT_parser_nodes[562]
+#define COLOR_parser_nodes___AConcreteInitPropdef___n_kwinit__eq SFT_parser_nodes[563]
+#define ID_AMainMethPropdef SFT_parser_nodes[564]
+#define COLOR_AMainMethPropdef SFT_parser_nodes[565]
+#define INIT_TABLE_POS_AMainMethPropdef SFT_parser_nodes[566]
+#define ID_ATypePropdef SFT_parser_nodes[567]
+#define COLOR_ATypePropdef SFT_parser_nodes[568]
+#define COLOR_parser_nodes___ATypePropdef____n_kwredef SFT_parser_nodes[569]
+#define COLOR_parser_nodes___ATypePropdef____n_visibility SFT_parser_nodes[570]
+#define COLOR_parser_nodes___ATypePropdef____n_kwtype SFT_parser_nodes[571]
+#define COLOR_parser_nodes___ATypePropdef____n_id SFT_parser_nodes[572]
+#define COLOR_parser_nodes___ATypePropdef____n_type SFT_parser_nodes[573]
+#define INIT_TABLE_POS_ATypePropdef SFT_parser_nodes[574]
+#define COLOR_parser_nodes___ATypePropdef___n_kwredef SFT_parser_nodes[575]
+#define COLOR_parser_nodes___ATypePropdef___n_kwredef__eq SFT_parser_nodes[576]
+#define COLOR_parser_nodes___ATypePropdef___n_visibility SFT_parser_nodes[577]
+#define COLOR_parser_nodes___ATypePropdef___n_visibility__eq SFT_parser_nodes[578]
+#define COLOR_parser_nodes___ATypePropdef___n_kwtype SFT_parser_nodes[579]
+#define COLOR_parser_nodes___ATypePropdef___n_kwtype__eq SFT_parser_nodes[580]
+#define COLOR_parser_nodes___ATypePropdef___n_id SFT_parser_nodes[581]
+#define COLOR_parser_nodes___ATypePropdef___n_id__eq SFT_parser_nodes[582]
+#define COLOR_parser_nodes___ATypePropdef___n_type SFT_parser_nodes[583]
+#define COLOR_parser_nodes___ATypePropdef___n_type__eq SFT_parser_nodes[584]
+#define ID_AReadAble SFT_parser_nodes[585]
+#define COLOR_AReadAble SFT_parser_nodes[586]
+#define COLOR_parser_nodes___AReadAble____n_kwreadable SFT_parser_nodes[587]
+#define INIT_TABLE_POS_AReadAble SFT_parser_nodes[588]
+#define COLOR_parser_nodes___AReadAble___n_kwreadable SFT_parser_nodes[589]
+#define COLOR_parser_nodes___AReadAble___n_kwreadable__eq SFT_parser_nodes[590]
+#define ID_AWriteAble SFT_parser_nodes[591]
+#define COLOR_AWriteAble SFT_parser_nodes[592]
+#define COLOR_parser_nodes___AWriteAble____n_kwwritable SFT_parser_nodes[593]
+#define INIT_TABLE_POS_AWriteAble SFT_parser_nodes[594]
+#define COLOR_parser_nodes___AWriteAble___n_kwwritable SFT_parser_nodes[595]
+#define COLOR_parser_nodes___AWriteAble___n_kwwritable__eq SFT_parser_nodes[596]
+#define ID_AIdMethid SFT_parser_nodes[597]
+#define COLOR_AIdMethid SFT_parser_nodes[598]
+#define COLOR_parser_nodes___AIdMethid____n_id SFT_parser_nodes[599]
+#define INIT_TABLE_POS_AIdMethid SFT_parser_nodes[600]
+#define COLOR_parser_nodes___AIdMethid___n_id SFT_parser_nodes[601]
+#define COLOR_parser_nodes___AIdMethid___n_id__eq SFT_parser_nodes[602]
+#define ID_APlusMethid SFT_parser_nodes[603]
+#define COLOR_APlusMethid SFT_parser_nodes[604]
+#define COLOR_parser_nodes___APlusMethid____n_plus SFT_parser_nodes[605]
+#define INIT_TABLE_POS_APlusMethid SFT_parser_nodes[606]
+#define COLOR_parser_nodes___APlusMethid___n_plus SFT_parser_nodes[607]
+#define COLOR_parser_nodes___APlusMethid___n_plus__eq SFT_parser_nodes[608]
+#define ID_AMinusMethid SFT_parser_nodes[609]
+#define COLOR_AMinusMethid SFT_parser_nodes[610]
+#define COLOR_parser_nodes___AMinusMethid____n_minus SFT_parser_nodes[611]
+#define INIT_TABLE_POS_AMinusMethid SFT_parser_nodes[612]
+#define COLOR_parser_nodes___AMinusMethid___n_minus SFT_parser_nodes[613]
+#define COLOR_parser_nodes___AMinusMethid___n_minus__eq SFT_parser_nodes[614]
+#define ID_AStarMethid SFT_parser_nodes[615]
+#define COLOR_AStarMethid SFT_parser_nodes[616]
+#define COLOR_parser_nodes___AStarMethid____n_star SFT_parser_nodes[617]
+#define INIT_TABLE_POS_AStarMethid SFT_parser_nodes[618]
+#define COLOR_parser_nodes___AStarMethid___n_star SFT_parser_nodes[619]
+#define COLOR_parser_nodes___AStarMethid___n_star__eq SFT_parser_nodes[620]
+#define ID_ASlashMethid SFT_parser_nodes[621]
+#define COLOR_ASlashMethid SFT_parser_nodes[622]
+#define COLOR_parser_nodes___ASlashMethid____n_slash SFT_parser_nodes[623]
+#define INIT_TABLE_POS_ASlashMethid SFT_parser_nodes[624]
+#define COLOR_parser_nodes___ASlashMethid___n_slash SFT_parser_nodes[625]
+#define COLOR_parser_nodes___ASlashMethid___n_slash__eq SFT_parser_nodes[626]
+#define ID_APercentMethid SFT_parser_nodes[627]
+#define COLOR_APercentMethid SFT_parser_nodes[628]
+#define COLOR_parser_nodes___APercentMethid____n_percent SFT_parser_nodes[629]
+#define INIT_TABLE_POS_APercentMethid SFT_parser_nodes[630]
+#define COLOR_parser_nodes___APercentMethid___n_percent SFT_parser_nodes[631]
+#define COLOR_parser_nodes___APercentMethid___n_percent__eq SFT_parser_nodes[632]
+#define ID_AEqMethid SFT_parser_nodes[633]
+#define COLOR_AEqMethid SFT_parser_nodes[634]
+#define COLOR_parser_nodes___AEqMethid____n_eq SFT_parser_nodes[635]
+#define INIT_TABLE_POS_AEqMethid SFT_parser_nodes[636]
+#define COLOR_parser_nodes___AEqMethid___n_eq SFT_parser_nodes[637]
+#define COLOR_parser_nodes___AEqMethid___n_eq__eq SFT_parser_nodes[638]
+#define ID_ANeMethid SFT_parser_nodes[639]
+#define COLOR_ANeMethid SFT_parser_nodes[640]
+#define COLOR_parser_nodes___ANeMethid____n_ne SFT_parser_nodes[641]
+#define INIT_TABLE_POS_ANeMethid SFT_parser_nodes[642]
+#define COLOR_parser_nodes___ANeMethid___n_ne SFT_parser_nodes[643]
+#define COLOR_parser_nodes___ANeMethid___n_ne__eq SFT_parser_nodes[644]
+#define ID_ALeMethid SFT_parser_nodes[645]
+#define COLOR_ALeMethid SFT_parser_nodes[646]
+#define COLOR_parser_nodes___ALeMethid____n_le SFT_parser_nodes[647]
+#define INIT_TABLE_POS_ALeMethid SFT_parser_nodes[648]
+#define COLOR_parser_nodes___ALeMethid___n_le SFT_parser_nodes[649]
+#define COLOR_parser_nodes___ALeMethid___n_le__eq SFT_parser_nodes[650]
+#define ID_AGeMethid SFT_parser_nodes[651]
+#define COLOR_AGeMethid SFT_parser_nodes[652]
+#define COLOR_parser_nodes___AGeMethid____n_ge SFT_parser_nodes[653]
+#define INIT_TABLE_POS_AGeMethid SFT_parser_nodes[654]
+#define COLOR_parser_nodes___AGeMethid___n_ge SFT_parser_nodes[655]
+#define COLOR_parser_nodes___AGeMethid___n_ge__eq SFT_parser_nodes[656]
+#define ID_ALtMethid SFT_parser_nodes[657]
+#define COLOR_ALtMethid SFT_parser_nodes[658]
+#define COLOR_parser_nodes___ALtMethid____n_lt SFT_parser_nodes[659]
+#define INIT_TABLE_POS_ALtMethid SFT_parser_nodes[660]
+#define COLOR_parser_nodes___ALtMethid___n_lt SFT_parser_nodes[661]
+#define COLOR_parser_nodes___ALtMethid___n_lt__eq SFT_parser_nodes[662]
+#define ID_AGtMethid SFT_parser_nodes[663]
+#define COLOR_AGtMethid SFT_parser_nodes[664]
+#define COLOR_parser_nodes___AGtMethid____n_gt SFT_parser_nodes[665]
+#define INIT_TABLE_POS_AGtMethid SFT_parser_nodes[666]
+#define COLOR_parser_nodes___AGtMethid___n_gt SFT_parser_nodes[667]
+#define COLOR_parser_nodes___AGtMethid___n_gt__eq SFT_parser_nodes[668]
+#define ID_ABraMethid SFT_parser_nodes[669]
+#define COLOR_ABraMethid SFT_parser_nodes[670]
+#define COLOR_parser_nodes___ABraMethid____n_obra SFT_parser_nodes[671]
+#define COLOR_parser_nodes___ABraMethid____n_cbra SFT_parser_nodes[672]
+#define INIT_TABLE_POS_ABraMethid SFT_parser_nodes[673]
+#define COLOR_parser_nodes___ABraMethid___n_obra SFT_parser_nodes[674]
+#define COLOR_parser_nodes___ABraMethid___n_obra__eq SFT_parser_nodes[675]
+#define COLOR_parser_nodes___ABraMethid___n_cbra SFT_parser_nodes[676]
+#define COLOR_parser_nodes___ABraMethid___n_cbra__eq SFT_parser_nodes[677]
+#define ID_AStarshipMethid SFT_parser_nodes[678]
+#define COLOR_AStarshipMethid SFT_parser_nodes[679]
+#define COLOR_parser_nodes___AStarshipMethid____n_starship SFT_parser_nodes[680]
+#define INIT_TABLE_POS_AStarshipMethid SFT_parser_nodes[681]
+#define COLOR_parser_nodes___AStarshipMethid___n_starship SFT_parser_nodes[682]
+#define COLOR_parser_nodes___AStarshipMethid___n_starship__eq SFT_parser_nodes[683]
+#define ID_AAssignMethid SFT_parser_nodes[684]
+#define COLOR_AAssignMethid SFT_parser_nodes[685]
+#define COLOR_parser_nodes___AAssignMethid____n_id SFT_parser_nodes[686]
+#define COLOR_parser_nodes___AAssignMethid____n_assign SFT_parser_nodes[687]
+#define INIT_TABLE_POS_AAssignMethid SFT_parser_nodes[688]
+#define COLOR_parser_nodes___AAssignMethid___n_id SFT_parser_nodes[689]
+#define COLOR_parser_nodes___AAssignMethid___n_id__eq SFT_parser_nodes[690]
+#define COLOR_parser_nodes___AAssignMethid___n_assign SFT_parser_nodes[691]
+#define COLOR_parser_nodes___AAssignMethid___n_assign__eq SFT_parser_nodes[692]
+#define ID_ABraassignMethid SFT_parser_nodes[693]
+#define COLOR_ABraassignMethid SFT_parser_nodes[694]
+#define COLOR_parser_nodes___ABraassignMethid____n_obra SFT_parser_nodes[695]
+#define COLOR_parser_nodes___ABraassignMethid____n_cbra SFT_parser_nodes[696]
+#define COLOR_parser_nodes___ABraassignMethid____n_assign SFT_parser_nodes[697]
+#define INIT_TABLE_POS_ABraassignMethid SFT_parser_nodes[698]
+#define COLOR_parser_nodes___ABraassignMethid___n_obra SFT_parser_nodes[699]
+#define COLOR_parser_nodes___ABraassignMethid___n_obra__eq SFT_parser_nodes[700]
+#define COLOR_parser_nodes___ABraassignMethid___n_cbra SFT_parser_nodes[701]
+#define COLOR_parser_nodes___ABraassignMethid___n_cbra__eq SFT_parser_nodes[702]
+#define COLOR_parser_nodes___ABraassignMethid___n_assign SFT_parser_nodes[703]
+#define COLOR_parser_nodes___ABraassignMethid___n_assign__eq SFT_parser_nodes[704]
+#define ID_ASignature SFT_parser_nodes[705]
+#define COLOR_ASignature SFT_parser_nodes[706]
+#define COLOR_parser_nodes___ASignature____n_params SFT_parser_nodes[707]
+#define COLOR_parser_nodes___ASignature____n_type SFT_parser_nodes[708]
+#define INIT_TABLE_POS_ASignature SFT_parser_nodes[709]
+#define COLOR_parser_nodes___ASignature___n_params SFT_parser_nodes[710]
+#define COLOR_parser_nodes___ASignature___n_params__eq SFT_parser_nodes[711]
+#define COLOR_parser_nodes___ASignature___n_type SFT_parser_nodes[712]
+#define COLOR_parser_nodes___ASignature___n_type__eq SFT_parser_nodes[713]
+#define ID_AParam SFT_parser_nodes[714]
+#define COLOR_AParam SFT_parser_nodes[715]
+#define COLOR_parser_nodes___AParam____n_dotdotdot SFT_parser_nodes[716]
+#define INIT_TABLE_POS_AParam SFT_parser_nodes[717]
+#define COLOR_parser_nodes___AParam___n_dotdotdot SFT_parser_nodes[718]
+#define COLOR_parser_nodes___AParam___n_dotdotdot__eq SFT_parser_nodes[719]
+#define ID_AType SFT_parser_nodes[720]
+#define COLOR_AType SFT_parser_nodes[721]
+#define COLOR_parser_nodes___AType____n_id SFT_parser_nodes[722]
+#define COLOR_parser_nodes___AType____n_types SFT_parser_nodes[723]
+#define INIT_TABLE_POS_AType SFT_parser_nodes[724]
+#define COLOR_parser_nodes___AType___n_id SFT_parser_nodes[725]
+#define COLOR_parser_nodes___AType___n_id__eq SFT_parser_nodes[726]
+#define COLOR_parser_nodes___AType___n_types SFT_parser_nodes[727]
+#define COLOR_parser_nodes___AType___n_types__eq SFT_parser_nodes[728]
+#define ID_ABlockExpr SFT_parser_nodes[729]
+#define COLOR_ABlockExpr SFT_parser_nodes[730]
+#define COLOR_parser_nodes___ABlockExpr____n_expr SFT_parser_nodes[731]
+#define INIT_TABLE_POS_ABlockExpr SFT_parser_nodes[732]
+#define COLOR_parser_nodes___ABlockExpr___n_expr SFT_parser_nodes[733]
+#define COLOR_parser_nodes___ABlockExpr___n_expr__eq SFT_parser_nodes[734]
+#define ID_AVardeclExpr SFT_parser_nodes[735]
+#define COLOR_AVardeclExpr SFT_parser_nodes[736]
+#define COLOR_parser_nodes___AVardeclExpr____n_kwvar SFT_parser_nodes[737]
+#define COLOR_parser_nodes___AVardeclExpr____n_id SFT_parser_nodes[738]
+#define COLOR_parser_nodes___AVardeclExpr____n_type SFT_parser_nodes[739]
+#define COLOR_parser_nodes___AVardeclExpr____n_assign SFT_parser_nodes[740]
+#define COLOR_parser_nodes___AVardeclExpr____n_expr SFT_parser_nodes[741]
+#define INIT_TABLE_POS_AVardeclExpr SFT_parser_nodes[742]
+#define COLOR_parser_nodes___AVardeclExpr___n_kwvar SFT_parser_nodes[743]
+#define COLOR_parser_nodes___AVardeclExpr___n_kwvar__eq SFT_parser_nodes[744]
+#define COLOR_parser_nodes___AVardeclExpr___n_id SFT_parser_nodes[745]
+#define COLOR_parser_nodes___AVardeclExpr___n_id__eq SFT_parser_nodes[746]
+#define COLOR_parser_nodes___AVardeclExpr___n_type SFT_parser_nodes[747]
+#define COLOR_parser_nodes___AVardeclExpr___n_type__eq SFT_parser_nodes[748]
+#define COLOR_parser_nodes___AVardeclExpr___n_assign SFT_parser_nodes[749]
+#define COLOR_parser_nodes___AVardeclExpr___n_assign__eq SFT_parser_nodes[750]
+#define COLOR_parser_nodes___AVardeclExpr___n_expr SFT_parser_nodes[751]
+#define COLOR_parser_nodes___AVardeclExpr___n_expr__eq SFT_parser_nodes[752]
+#define ID_AReturnExpr SFT_parser_nodes[753]
+#define COLOR_AReturnExpr SFT_parser_nodes[754]
+#define COLOR_parser_nodes___AReturnExpr____n_kwreturn SFT_parser_nodes[755]
+#define COLOR_parser_nodes___AReturnExpr____n_expr SFT_parser_nodes[756]
+#define INIT_TABLE_POS_AReturnExpr SFT_parser_nodes[757]
+#define COLOR_parser_nodes___AReturnExpr___n_kwreturn SFT_parser_nodes[758]
+#define COLOR_parser_nodes___AReturnExpr___n_kwreturn__eq SFT_parser_nodes[759]
+#define COLOR_parser_nodes___AReturnExpr___n_expr SFT_parser_nodes[760]
+#define COLOR_parser_nodes___AReturnExpr___n_expr__eq SFT_parser_nodes[761]
+#define ID_ABreakExpr SFT_parser_nodes[762]
+#define COLOR_ABreakExpr SFT_parser_nodes[763]
+#define COLOR_parser_nodes___ABreakExpr____n_kwbreak SFT_parser_nodes[764]
+#define INIT_TABLE_POS_ABreakExpr SFT_parser_nodes[765]
+#define COLOR_parser_nodes___ABreakExpr___n_kwbreak SFT_parser_nodes[766]
+#define COLOR_parser_nodes___ABreakExpr___n_kwbreak__eq SFT_parser_nodes[767]
+#define ID_AAbortExpr SFT_parser_nodes[768]
+#define COLOR_AAbortExpr SFT_parser_nodes[769]
+#define COLOR_parser_nodes___AAbortExpr____n_kwabort SFT_parser_nodes[770]
+#define INIT_TABLE_POS_AAbortExpr SFT_parser_nodes[771]
+#define COLOR_parser_nodes___AAbortExpr___n_kwabort SFT_parser_nodes[772]
+#define COLOR_parser_nodes___AAbortExpr___n_kwabort__eq SFT_parser_nodes[773]
+#define ID_AContinueExpr SFT_parser_nodes[774]
+#define COLOR_AContinueExpr SFT_parser_nodes[775]
+#define COLOR_parser_nodes___AContinueExpr____n_kwcontinue SFT_parser_nodes[776]
+#define INIT_TABLE_POS_AContinueExpr SFT_parser_nodes[777]
+#define COLOR_parser_nodes___AContinueExpr___n_kwcontinue SFT_parser_nodes[778]
+#define COLOR_parser_nodes___AContinueExpr___n_kwcontinue__eq SFT_parser_nodes[779]
+#define ID_ADoExpr SFT_parser_nodes[780]
+#define COLOR_ADoExpr SFT_parser_nodes[781]
+#define COLOR_parser_nodes___ADoExpr____n_kwdo SFT_parser_nodes[782]
+#define COLOR_parser_nodes___ADoExpr____n_block SFT_parser_nodes[783]
+#define INIT_TABLE_POS_ADoExpr SFT_parser_nodes[784]
+#define COLOR_parser_nodes___ADoExpr___n_kwdo SFT_parser_nodes[785]
+#define COLOR_parser_nodes___ADoExpr___n_kwdo__eq SFT_parser_nodes[786]
+#define COLOR_parser_nodes___ADoExpr___n_block SFT_parser_nodes[787]
+#define COLOR_parser_nodes___ADoExpr___n_block__eq SFT_parser_nodes[788]
+#define ID_AIfExpr SFT_parser_nodes[789]
+#define COLOR_AIfExpr SFT_parser_nodes[790]
+#define COLOR_parser_nodes___AIfExpr____n_kwif SFT_parser_nodes[791]
+#define COLOR_parser_nodes___AIfExpr____n_expr SFT_parser_nodes[792]
+#define COLOR_parser_nodes___AIfExpr____n_then SFT_parser_nodes[793]
+#define COLOR_parser_nodes___AIfExpr____n_else SFT_parser_nodes[794]
+#define INIT_TABLE_POS_AIfExpr SFT_parser_nodes[795]
+#define COLOR_parser_nodes___AIfExpr___n_kwif SFT_parser_nodes[796]
+#define COLOR_parser_nodes___AIfExpr___n_kwif__eq SFT_parser_nodes[797]
+#define COLOR_parser_nodes___AIfExpr___n_expr SFT_parser_nodes[798]
+#define COLOR_parser_nodes___AIfExpr___n_expr__eq SFT_parser_nodes[799]
+#define COLOR_parser_nodes___AIfExpr___n_then SFT_parser_nodes[800]
+#define COLOR_parser_nodes___AIfExpr___n_then__eq SFT_parser_nodes[801]
+#define COLOR_parser_nodes___AIfExpr___n_else SFT_parser_nodes[802]
+#define COLOR_parser_nodes___AIfExpr___n_else__eq SFT_parser_nodes[803]
+#define ID_AIfexprExpr SFT_parser_nodes[804]
+#define COLOR_AIfexprExpr SFT_parser_nodes[805]
+#define COLOR_parser_nodes___AIfexprExpr____n_kwif SFT_parser_nodes[806]
+#define COLOR_parser_nodes___AIfexprExpr____n_expr SFT_parser_nodes[807]
+#define COLOR_parser_nodes___AIfexprExpr____n_kwthen SFT_parser_nodes[808]
+#define COLOR_parser_nodes___AIfexprExpr____n_then SFT_parser_nodes[809]
+#define COLOR_parser_nodes___AIfexprExpr____n_kwelse SFT_parser_nodes[810]
+#define COLOR_parser_nodes___AIfexprExpr____n_else SFT_parser_nodes[811]
+#define INIT_TABLE_POS_AIfexprExpr SFT_parser_nodes[812]
+#define COLOR_parser_nodes___AIfexprExpr___n_kwif SFT_parser_nodes[813]
+#define COLOR_parser_nodes___AIfexprExpr___n_kwif__eq SFT_parser_nodes[814]
+#define COLOR_parser_nodes___AIfexprExpr___n_expr SFT_parser_nodes[815]
+#define COLOR_parser_nodes___AIfexprExpr___n_expr__eq SFT_parser_nodes[816]
+#define COLOR_parser_nodes___AIfexprExpr___n_kwthen SFT_parser_nodes[817]
+#define COLOR_parser_nodes___AIfexprExpr___n_kwthen__eq SFT_parser_nodes[818]
+#define COLOR_parser_nodes___AIfexprExpr___n_then SFT_parser_nodes[819]
+#define COLOR_parser_nodes___AIfexprExpr___n_then__eq SFT_parser_nodes[820]
+#define COLOR_parser_nodes___AIfexprExpr___n_kwelse SFT_parser_nodes[821]
+#define COLOR_parser_nodes___AIfexprExpr___n_kwelse__eq SFT_parser_nodes[822]
+#define COLOR_parser_nodes___AIfexprExpr___n_else SFT_parser_nodes[823]
+#define COLOR_parser_nodes___AIfexprExpr___n_else__eq SFT_parser_nodes[824]
+#define ID_AWhileExpr SFT_parser_nodes[825]
+#define COLOR_AWhileExpr SFT_parser_nodes[826]
+#define COLOR_parser_nodes___AWhileExpr____n_kwwhile SFT_parser_nodes[827]
+#define COLOR_parser_nodes___AWhileExpr____n_expr SFT_parser_nodes[828]
+#define COLOR_parser_nodes___AWhileExpr____n_kwdo SFT_parser_nodes[829]
+#define COLOR_parser_nodes___AWhileExpr____n_block SFT_parser_nodes[830]
+#define INIT_TABLE_POS_AWhileExpr SFT_parser_nodes[831]
+#define COLOR_parser_nodes___AWhileExpr___n_kwwhile SFT_parser_nodes[832]
+#define COLOR_parser_nodes___AWhileExpr___n_kwwhile__eq SFT_parser_nodes[833]
+#define COLOR_parser_nodes___AWhileExpr___n_expr SFT_parser_nodes[834]
+#define COLOR_parser_nodes___AWhileExpr___n_expr__eq SFT_parser_nodes[835]
+#define COLOR_parser_nodes___AWhileExpr___n_kwdo SFT_parser_nodes[836]
+#define COLOR_parser_nodes___AWhileExpr___n_kwdo__eq SFT_parser_nodes[837]
+#define COLOR_parser_nodes___AWhileExpr___n_block SFT_parser_nodes[838]
+#define COLOR_parser_nodes___AWhileExpr___n_block__eq SFT_parser_nodes[839]
+#define ID_AForExpr SFT_parser_nodes[840]
+#define COLOR_AForExpr SFT_parser_nodes[841]
+#define COLOR_parser_nodes___AForExpr____n_vardecl SFT_parser_nodes[842]
+#define COLOR_parser_nodes___AForExpr____n_kwdo SFT_parser_nodes[843]
+#define COLOR_parser_nodes___AForExpr____n_block SFT_parser_nodes[844]
+#define INIT_TABLE_POS_AForExpr SFT_parser_nodes[845]
+#define COLOR_parser_nodes___AForExpr___n_vardecl SFT_parser_nodes[846]
+#define COLOR_parser_nodes___AForExpr___n_vardecl__eq SFT_parser_nodes[847]
+#define COLOR_parser_nodes___AForExpr___n_kwdo SFT_parser_nodes[848]
+#define COLOR_parser_nodes___AForExpr___n_kwdo__eq SFT_parser_nodes[849]
+#define COLOR_parser_nodes___AForExpr___n_block SFT_parser_nodes[850]
+#define COLOR_parser_nodes___AForExpr___n_block__eq SFT_parser_nodes[851]
+#define ID_AForVardeclExpr SFT_parser_nodes[852]
+#define COLOR_AForVardeclExpr SFT_parser_nodes[853]
+#define COLOR_parser_nodes___AForVardeclExpr____n_kwfor SFT_parser_nodes[854]
+#define COLOR_parser_nodes___AForVardeclExpr____n_id SFT_parser_nodes[855]
+#define COLOR_parser_nodes___AForVardeclExpr____n_expr SFT_parser_nodes[856]
+#define INIT_TABLE_POS_AForVardeclExpr SFT_parser_nodes[857]
+#define COLOR_parser_nodes___AForVardeclExpr___n_kwfor SFT_parser_nodes[858]
+#define COLOR_parser_nodes___AForVardeclExpr___n_kwfor__eq SFT_parser_nodes[859]
+#define COLOR_parser_nodes___AForVardeclExpr___n_id SFT_parser_nodes[860]
+#define COLOR_parser_nodes___AForVardeclExpr___n_id__eq SFT_parser_nodes[861]
+#define COLOR_parser_nodes___AForVardeclExpr___n_expr SFT_parser_nodes[862]
+#define COLOR_parser_nodes___AForVardeclExpr___n_expr__eq SFT_parser_nodes[863]
+#define ID_AAssertExpr SFT_parser_nodes[864]
+#define COLOR_AAssertExpr SFT_parser_nodes[865]
+#define COLOR_parser_nodes___AAssertExpr____n_kwassert SFT_parser_nodes[866]
+#define COLOR_parser_nodes___AAssertExpr____n_id SFT_parser_nodes[867]
+#define COLOR_parser_nodes___AAssertExpr____n_expr SFT_parser_nodes[868]
+#define INIT_TABLE_POS_AAssertExpr SFT_parser_nodes[869]
+#define COLOR_parser_nodes___AAssertExpr___n_kwassert SFT_parser_nodes[870]
+#define COLOR_parser_nodes___AAssertExpr___n_kwassert__eq SFT_parser_nodes[871]
+#define COLOR_parser_nodes___AAssertExpr___n_id SFT_parser_nodes[872]
+#define COLOR_parser_nodes___AAssertExpr___n_id__eq SFT_parser_nodes[873]
+#define COLOR_parser_nodes___AAssertExpr___n_expr SFT_parser_nodes[874]
+#define COLOR_parser_nodes___AAssertExpr___n_expr__eq SFT_parser_nodes[875]
+#define ID_AAssignFormExpr SFT_parser_nodes[876]
+#define COLOR_AAssignFormExpr SFT_parser_nodes[877]
+#define COLOR_parser_nodes___AAssignFormExpr____n_assign SFT_parser_nodes[878]
+#define COLOR_parser_nodes___AAssignFormExpr____n_value SFT_parser_nodes[879]
+#define INIT_TABLE_POS_AAssignFormExpr SFT_parser_nodes[880]
+#define COLOR_parser_nodes___AAssignFormExpr___n_assign SFT_parser_nodes[881]
+#define COLOR_parser_nodes___AAssignFormExpr___n_assign__eq SFT_parser_nodes[882]
+#define COLOR_parser_nodes___AAssignFormExpr___n_value SFT_parser_nodes[883]
+#define COLOR_parser_nodes___AAssignFormExpr___n_value__eq SFT_parser_nodes[884]
+#define ID_AReassignFormExpr SFT_parser_nodes[885]
+#define COLOR_AReassignFormExpr SFT_parser_nodes[886]
+#define COLOR_parser_nodes___AReassignFormExpr____n_assign_op SFT_parser_nodes[887]
+#define COLOR_parser_nodes___AReassignFormExpr____n_value SFT_parser_nodes[888]
+#define INIT_TABLE_POS_AReassignFormExpr SFT_parser_nodes[889]
+#define COLOR_parser_nodes___AReassignFormExpr___n_assign_op SFT_parser_nodes[890]
+#define COLOR_parser_nodes___AReassignFormExpr___n_assign_op__eq SFT_parser_nodes[891]
+#define COLOR_parser_nodes___AReassignFormExpr___n_value SFT_parser_nodes[892]
+#define COLOR_parser_nodes___AReassignFormExpr___n_value__eq SFT_parser_nodes[893]
+#define ID_AOnceExpr SFT_parser_nodes[894]
+#define COLOR_AOnceExpr SFT_parser_nodes[895]
+#define COLOR_parser_nodes___AOnceExpr____n_kwonce SFT_parser_nodes[896]
+#define INIT_TABLE_POS_AOnceExpr SFT_parser_nodes[897]
+#define COLOR_parser_nodes___AOnceExpr___n_kwonce SFT_parser_nodes[898]
+#define COLOR_parser_nodes___AOnceExpr___n_kwonce__eq SFT_parser_nodes[899]
+#define ID_ASendExpr SFT_parser_nodes[900]
+#define COLOR_ASendExpr SFT_parser_nodes[901]
+#define COLOR_parser_nodes___ASendExpr____n_expr SFT_parser_nodes[902]
+#define INIT_TABLE_POS_ASendExpr SFT_parser_nodes[903]
+#define COLOR_parser_nodes___ASendExpr___n_expr SFT_parser_nodes[904]
+#define COLOR_parser_nodes___ASendExpr___n_expr__eq SFT_parser_nodes[905]
+#define ID_ABinopExpr SFT_parser_nodes[906]
+#define COLOR_ABinopExpr SFT_parser_nodes[907]
+#define COLOR_parser_nodes___ABinopExpr____n_expr2 SFT_parser_nodes[908]
+#define INIT_TABLE_POS_ABinopExpr SFT_parser_nodes[909]
+#define COLOR_parser_nodes___ABinopExpr___n_expr2 SFT_parser_nodes[910]
+#define COLOR_parser_nodes___ABinopExpr___n_expr2__eq SFT_parser_nodes[911]
+#define ID_ABoolExpr SFT_parser_nodes[912]
+#define COLOR_ABoolExpr SFT_parser_nodes[913]
+#define INIT_TABLE_POS_ABoolExpr SFT_parser_nodes[914]
+#define ID_AOrExpr SFT_parser_nodes[915]
+#define COLOR_AOrExpr SFT_parser_nodes[916]
+#define COLOR_parser_nodes___AOrExpr____n_expr SFT_parser_nodes[917]
+#define COLOR_parser_nodes___AOrExpr____n_expr2 SFT_parser_nodes[918]
+#define INIT_TABLE_POS_AOrExpr SFT_parser_nodes[919]
+#define COLOR_parser_nodes___AOrExpr___n_expr SFT_parser_nodes[920]
+#define COLOR_parser_nodes___AOrExpr___n_expr__eq SFT_parser_nodes[921]
+#define COLOR_parser_nodes___AOrExpr___n_expr2 SFT_parser_nodes[922]
+#define COLOR_parser_nodes___AOrExpr___n_expr2__eq SFT_parser_nodes[923]
+#define ID_AAndExpr SFT_parser_nodes[924]
+#define COLOR_AAndExpr SFT_parser_nodes[925]
+#define COLOR_parser_nodes___AAndExpr____n_expr SFT_parser_nodes[926]
+#define COLOR_parser_nodes___AAndExpr____n_expr2 SFT_parser_nodes[927]
+#define INIT_TABLE_POS_AAndExpr SFT_parser_nodes[928]
+#define COLOR_parser_nodes___AAndExpr___n_expr SFT_parser_nodes[929]
+#define COLOR_parser_nodes___AAndExpr___n_expr__eq SFT_parser_nodes[930]
+#define COLOR_parser_nodes___AAndExpr___n_expr2 SFT_parser_nodes[931]
+#define COLOR_parser_nodes___AAndExpr___n_expr2__eq SFT_parser_nodes[932]
+#define ID_ANotExpr SFT_parser_nodes[933]
+#define COLOR_ANotExpr SFT_parser_nodes[934]
+#define COLOR_parser_nodes___ANotExpr____n_kwnot SFT_parser_nodes[935]
+#define COLOR_parser_nodes___ANotExpr____n_expr SFT_parser_nodes[936]
+#define INIT_TABLE_POS_ANotExpr SFT_parser_nodes[937]
+#define COLOR_parser_nodes___ANotExpr___n_kwnot SFT_parser_nodes[938]
+#define COLOR_parser_nodes___ANotExpr___n_kwnot__eq SFT_parser_nodes[939]
+#define COLOR_parser_nodes___ANotExpr___n_expr SFT_parser_nodes[940]
+#define COLOR_parser_nodes___ANotExpr___n_expr__eq SFT_parser_nodes[941]
+#define ID_AEqExpr SFT_parser_nodes[942]
+#define COLOR_AEqExpr SFT_parser_nodes[943]
+#define INIT_TABLE_POS_AEqExpr SFT_parser_nodes[944]
+#define ID_AEeExpr SFT_parser_nodes[945]
+#define COLOR_AEeExpr SFT_parser_nodes[946]
+#define COLOR_parser_nodes___AEeExpr____n_expr SFT_parser_nodes[947]
+#define COLOR_parser_nodes___AEeExpr____n_expr2 SFT_parser_nodes[948]
+#define INIT_TABLE_POS_AEeExpr SFT_parser_nodes[949]
+#define COLOR_parser_nodes___AEeExpr___n_expr SFT_parser_nodes[950]
+#define COLOR_parser_nodes___AEeExpr___n_expr__eq SFT_parser_nodes[951]
+#define COLOR_parser_nodes___AEeExpr___n_expr2 SFT_parser_nodes[952]
+#define COLOR_parser_nodes___AEeExpr___n_expr2__eq SFT_parser_nodes[953]
+#define ID_ANeExpr SFT_parser_nodes[954]
+#define COLOR_ANeExpr SFT_parser_nodes[955]
+#define INIT_TABLE_POS_ANeExpr SFT_parser_nodes[956]
+#define ID_ALtExpr SFT_parser_nodes[957]
+#define COLOR_ALtExpr SFT_parser_nodes[958]
+#define INIT_TABLE_POS_ALtExpr SFT_parser_nodes[959]
+#define ID_ALeExpr SFT_parser_nodes[960]
+#define COLOR_ALeExpr SFT_parser_nodes[961]
+#define INIT_TABLE_POS_ALeExpr SFT_parser_nodes[962]
+#define ID_AGtExpr SFT_parser_nodes[963]
+#define COLOR_AGtExpr SFT_parser_nodes[964]
+#define INIT_TABLE_POS_AGtExpr SFT_parser_nodes[965]
+#define ID_AGeExpr SFT_parser_nodes[966]
+#define COLOR_AGeExpr SFT_parser_nodes[967]
+#define INIT_TABLE_POS_AGeExpr SFT_parser_nodes[968]
+#define ID_AIsaExpr SFT_parser_nodes[969]
+#define COLOR_AIsaExpr SFT_parser_nodes[970]
+#define COLOR_parser_nodes___AIsaExpr____n_expr SFT_parser_nodes[971]
+#define COLOR_parser_nodes___AIsaExpr____n_type SFT_parser_nodes[972]
+#define INIT_TABLE_POS_AIsaExpr SFT_parser_nodes[973]
+#define COLOR_parser_nodes___AIsaExpr___n_expr SFT_parser_nodes[974]
+#define COLOR_parser_nodes___AIsaExpr___n_expr__eq SFT_parser_nodes[975]
+#define COLOR_parser_nodes___AIsaExpr___n_type SFT_parser_nodes[976]
+#define COLOR_parser_nodes___AIsaExpr___n_type__eq SFT_parser_nodes[977]
+#define ID_APlusExpr SFT_parser_nodes[978]
+#define COLOR_APlusExpr SFT_parser_nodes[979]
+#define INIT_TABLE_POS_APlusExpr SFT_parser_nodes[980]
+#define ID_AMinusExpr SFT_parser_nodes[981]
+#define COLOR_AMinusExpr SFT_parser_nodes[982]
+#define INIT_TABLE_POS_AMinusExpr SFT_parser_nodes[983]
+#define ID_AStarshipExpr SFT_parser_nodes[984]
+#define COLOR_AStarshipExpr SFT_parser_nodes[985]
+#define INIT_TABLE_POS_AStarshipExpr SFT_parser_nodes[986]
+#define ID_AStarExpr SFT_parser_nodes[987]
+#define COLOR_AStarExpr SFT_parser_nodes[988]
+#define INIT_TABLE_POS_AStarExpr SFT_parser_nodes[989]
+#define ID_ASlashExpr SFT_parser_nodes[990]
+#define COLOR_ASlashExpr SFT_parser_nodes[991]
+#define INIT_TABLE_POS_ASlashExpr SFT_parser_nodes[992]
+#define ID_APercentExpr SFT_parser_nodes[993]
+#define COLOR_APercentExpr SFT_parser_nodes[994]
+#define INIT_TABLE_POS_APercentExpr SFT_parser_nodes[995]
+#define ID_AUminusExpr SFT_parser_nodes[996]
+#define COLOR_AUminusExpr SFT_parser_nodes[997]
+#define COLOR_parser_nodes___AUminusExpr____n_minus SFT_parser_nodes[998]
+#define INIT_TABLE_POS_AUminusExpr SFT_parser_nodes[999]
+#define COLOR_parser_nodes___AUminusExpr___n_minus SFT_parser_nodes[1000]
+#define COLOR_parser_nodes___AUminusExpr___n_minus__eq SFT_parser_nodes[1001]
+#define ID_ANewExpr SFT_parser_nodes[1002]
+#define COLOR_ANewExpr SFT_parser_nodes[1003]
+#define COLOR_parser_nodes___ANewExpr____n_kwnew SFT_parser_nodes[1004]
+#define COLOR_parser_nodes___ANewExpr____n_type SFT_parser_nodes[1005]
+#define COLOR_parser_nodes___ANewExpr____n_id SFT_parser_nodes[1006]
+#define COLOR_parser_nodes___ANewExpr____n_args SFT_parser_nodes[1007]
+#define INIT_TABLE_POS_ANewExpr SFT_parser_nodes[1008]
+#define COLOR_parser_nodes___ANewExpr___n_kwnew SFT_parser_nodes[1009]
+#define COLOR_parser_nodes___ANewExpr___n_kwnew__eq SFT_parser_nodes[1010]
+#define COLOR_parser_nodes___ANewExpr___n_type SFT_parser_nodes[1011]
+#define COLOR_parser_nodes___ANewExpr___n_type__eq SFT_parser_nodes[1012]
+#define COLOR_parser_nodes___ANewExpr___n_id SFT_parser_nodes[1013]
+#define COLOR_parser_nodes___ANewExpr___n_id__eq SFT_parser_nodes[1014]
+#define COLOR_parser_nodes___ANewExpr___n_args SFT_parser_nodes[1015]
+#define COLOR_parser_nodes___ANewExpr___n_args__eq SFT_parser_nodes[1016]
+#define ID_AAttrFormExpr SFT_parser_nodes[1017]
+#define COLOR_AAttrFormExpr SFT_parser_nodes[1018]
+#define COLOR_parser_nodes___AAttrFormExpr____n_expr SFT_parser_nodes[1019]
+#define COLOR_parser_nodes___AAttrFormExpr____n_id SFT_parser_nodes[1020]
+#define INIT_TABLE_POS_AAttrFormExpr SFT_parser_nodes[1021]
+#define COLOR_parser_nodes___AAttrFormExpr___n_expr SFT_parser_nodes[1022]
+#define COLOR_parser_nodes___AAttrFormExpr___n_expr__eq SFT_parser_nodes[1023]
+#define COLOR_parser_nodes___AAttrFormExpr___n_id SFT_parser_nodes[1024]
+#define COLOR_parser_nodes___AAttrFormExpr___n_id__eq SFT_parser_nodes[1025]
+#define ID_AAttrExpr SFT_parser_nodes[1026]
+#define COLOR_AAttrExpr SFT_parser_nodes[1027]
+#define INIT_TABLE_POS_AAttrExpr SFT_parser_nodes[1028]
+#define ID_AAttrAssignExpr SFT_parser_nodes[1029]
+#define COLOR_AAttrAssignExpr SFT_parser_nodes[1030]
+#define INIT_TABLE_POS_AAttrAssignExpr SFT_parser_nodes[1031]
+#define ID_ACallFormExpr SFT_parser_nodes[1032]
+#define COLOR_ACallFormExpr SFT_parser_nodes[1033]
+#define COLOR_parser_nodes___ACallFormExpr____n_id SFT_parser_nodes[1034]
+#define COLOR_parser_nodes___ACallFormExpr____n_args SFT_parser_nodes[1035]
+#define INIT_TABLE_POS_ACallFormExpr SFT_parser_nodes[1036]
+#define COLOR_parser_nodes___ACallFormExpr___n_id SFT_parser_nodes[1037]
+#define COLOR_parser_nodes___ACallFormExpr___n_id__eq SFT_parser_nodes[1038]
+#define COLOR_parser_nodes___ACallFormExpr___n_args SFT_parser_nodes[1039]
+#define COLOR_parser_nodes___ACallFormExpr___n_args__eq SFT_parser_nodes[1040]
+#define ID_AAttrReassignExpr SFT_parser_nodes[1041]
+#define COLOR_AAttrReassignExpr SFT_parser_nodes[1042]
+#define INIT_TABLE_POS_AAttrReassignExpr SFT_parser_nodes[1043]
+#define ID_ACallExpr SFT_parser_nodes[1044]
+#define COLOR_ACallExpr SFT_parser_nodes[1045]
+#define INIT_TABLE_POS_ACallExpr SFT_parser_nodes[1046]
+#define ID_ACallAssignExpr SFT_parser_nodes[1047]
+#define COLOR_ACallAssignExpr SFT_parser_nodes[1048]
+#define INIT_TABLE_POS_ACallAssignExpr SFT_parser_nodes[1049]
+#define ID_ACallReassignExpr SFT_parser_nodes[1050]
+#define COLOR_ACallReassignExpr SFT_parser_nodes[1051]
+#define INIT_TABLE_POS_ACallReassignExpr SFT_parser_nodes[1052]
+#define ID_ASuperExpr SFT_parser_nodes[1053]
+#define COLOR_ASuperExpr SFT_parser_nodes[1054]
+#define COLOR_parser_nodes___ASuperExpr____n_qualified SFT_parser_nodes[1055]
+#define COLOR_parser_nodes___ASuperExpr____n_kwsuper SFT_parser_nodes[1056]
+#define COLOR_parser_nodes___ASuperExpr____n_args SFT_parser_nodes[1057]
+#define INIT_TABLE_POS_ASuperExpr SFT_parser_nodes[1058]
+#define COLOR_parser_nodes___ASuperExpr___n_qualified SFT_parser_nodes[1059]
+#define COLOR_parser_nodes___ASuperExpr___n_qualified__eq SFT_parser_nodes[1060]
+#define COLOR_parser_nodes___ASuperExpr___n_kwsuper SFT_parser_nodes[1061]
+#define COLOR_parser_nodes___ASuperExpr___n_kwsuper__eq SFT_parser_nodes[1062]
+#define COLOR_parser_nodes___ASuperExpr___n_args SFT_parser_nodes[1063]
+#define COLOR_parser_nodes___ASuperExpr___n_args__eq SFT_parser_nodes[1064]
+#define ID_AInitExpr SFT_parser_nodes[1065]
+#define COLOR_AInitExpr SFT_parser_nodes[1066]
+#define COLOR_parser_nodes___AInitExpr____n_kwinit SFT_parser_nodes[1067]
+#define COLOR_parser_nodes___AInitExpr____n_args SFT_parser_nodes[1068]
+#define INIT_TABLE_POS_AInitExpr SFT_parser_nodes[1069]
+#define COLOR_parser_nodes___AInitExpr___n_kwinit SFT_parser_nodes[1070]
+#define COLOR_parser_nodes___AInitExpr___n_kwinit__eq SFT_parser_nodes[1071]
+#define COLOR_parser_nodes___AInitExpr___n_args SFT_parser_nodes[1072]
+#define COLOR_parser_nodes___AInitExpr___n_args__eq SFT_parser_nodes[1073]
+#define ID_ABraFormExpr SFT_parser_nodes[1074]
+#define COLOR_ABraFormExpr SFT_parser_nodes[1075]
+#define COLOR_parser_nodes___ABraFormExpr____n_args SFT_parser_nodes[1076]
+#define INIT_TABLE_POS_ABraFormExpr SFT_parser_nodes[1077]
+#define COLOR_parser_nodes___ABraFormExpr___n_args SFT_parser_nodes[1078]
+#define COLOR_parser_nodes___ABraFormExpr___n_args__eq SFT_parser_nodes[1079]
+#define ID_ABraExpr SFT_parser_nodes[1080]
+#define COLOR_ABraExpr SFT_parser_nodes[1081]
+#define INIT_TABLE_POS_ABraExpr SFT_parser_nodes[1082]
+#define ID_ABraAssignExpr SFT_parser_nodes[1083]
+#define COLOR_ABraAssignExpr SFT_parser_nodes[1084]
+#define INIT_TABLE_POS_ABraAssignExpr SFT_parser_nodes[1085]
+#define ID_AVarFormExpr SFT_parser_nodes[1086]
+#define COLOR_AVarFormExpr SFT_parser_nodes[1087]
+#define COLOR_parser_nodes___AVarFormExpr____n_id SFT_parser_nodes[1088]
+#define INIT_TABLE_POS_AVarFormExpr SFT_parser_nodes[1089]
+#define COLOR_parser_nodes___AVarFormExpr___n_id SFT_parser_nodes[1090]
+#define COLOR_parser_nodes___AVarFormExpr___n_id__eq SFT_parser_nodes[1091]
+#define ID_ABraReassignExpr SFT_parser_nodes[1092]
+#define COLOR_ABraReassignExpr SFT_parser_nodes[1093]
+#define INIT_TABLE_POS_ABraReassignExpr SFT_parser_nodes[1094]
+#define ID_AVarExpr SFT_parser_nodes[1095]
+#define COLOR_AVarExpr SFT_parser_nodes[1096]
+#define INIT_TABLE_POS_AVarExpr SFT_parser_nodes[1097]
+#define ID_AVarAssignExpr SFT_parser_nodes[1098]
+#define COLOR_AVarAssignExpr SFT_parser_nodes[1099]
+#define INIT_TABLE_POS_AVarAssignExpr SFT_parser_nodes[1100]
+#define ID_AVarReassignExpr SFT_parser_nodes[1101]
+#define COLOR_AVarReassignExpr SFT_parser_nodes[1102]
+#define INIT_TABLE_POS_AVarReassignExpr SFT_parser_nodes[1103]
+#define ID_ARangeExpr SFT_parser_nodes[1104]
+#define COLOR_ARangeExpr SFT_parser_nodes[1105]
+#define COLOR_parser_nodes___ARangeExpr____n_expr SFT_parser_nodes[1106]
+#define COLOR_parser_nodes___ARangeExpr____n_expr2 SFT_parser_nodes[1107]
+#define INIT_TABLE_POS_ARangeExpr SFT_parser_nodes[1108]
+#define COLOR_parser_nodes___ARangeExpr___n_expr SFT_parser_nodes[1109]
+#define COLOR_parser_nodes___ARangeExpr___n_expr__eq SFT_parser_nodes[1110]
+#define COLOR_parser_nodes___ARangeExpr___n_expr2 SFT_parser_nodes[1111]
+#define COLOR_parser_nodes___ARangeExpr___n_expr2__eq SFT_parser_nodes[1112]
+#define ID_ACrangeExpr SFT_parser_nodes[1113]
+#define COLOR_ACrangeExpr SFT_parser_nodes[1114]
+#define INIT_TABLE_POS_ACrangeExpr SFT_parser_nodes[1115]
+#define ID_AOrangeExpr SFT_parser_nodes[1116]
+#define COLOR_AOrangeExpr SFT_parser_nodes[1117]
+#define INIT_TABLE_POS_AOrangeExpr SFT_parser_nodes[1118]
+#define ID_AArrayExpr SFT_parser_nodes[1119]
+#define COLOR_AArrayExpr SFT_parser_nodes[1120]
+#define COLOR_parser_nodes___AArrayExpr____n_exprs SFT_parser_nodes[1121]
+#define INIT_TABLE_POS_AArrayExpr SFT_parser_nodes[1122]
+#define COLOR_parser_nodes___AArrayExpr___n_exprs SFT_parser_nodes[1123]
+#define COLOR_parser_nodes___AArrayExpr___n_exprs__eq SFT_parser_nodes[1124]
+#define ID_ASelfExpr SFT_parser_nodes[1125]
+#define COLOR_ASelfExpr SFT_parser_nodes[1126]
+#define COLOR_parser_nodes___ASelfExpr____n_kwself SFT_parser_nodes[1127]
+#define INIT_TABLE_POS_ASelfExpr SFT_parser_nodes[1128]
+#define COLOR_parser_nodes___ASelfExpr___n_kwself SFT_parser_nodes[1129]
+#define COLOR_parser_nodes___ASelfExpr___n_kwself__eq SFT_parser_nodes[1130]
+#define ID_AImplicitSelfExpr SFT_parser_nodes[1131]
+#define COLOR_AImplicitSelfExpr SFT_parser_nodes[1132]
+#define INIT_TABLE_POS_AImplicitSelfExpr SFT_parser_nodes[1133]
+#define ID_ATrueExpr SFT_parser_nodes[1134]
+#define COLOR_ATrueExpr SFT_parser_nodes[1135]
+#define COLOR_parser_nodes___ATrueExpr____n_kwtrue SFT_parser_nodes[1136]
+#define INIT_TABLE_POS_ATrueExpr SFT_parser_nodes[1137]
+#define COLOR_parser_nodes___ATrueExpr___n_kwtrue SFT_parser_nodes[1138]
+#define COLOR_parser_nodes___ATrueExpr___n_kwtrue__eq SFT_parser_nodes[1139]
+#define ID_AFalseExpr SFT_parser_nodes[1140]
+#define COLOR_AFalseExpr SFT_parser_nodes[1141]
+#define COLOR_parser_nodes___AFalseExpr____n_kwfalse SFT_parser_nodes[1142]
+#define INIT_TABLE_POS_AFalseExpr SFT_parser_nodes[1143]
+#define COLOR_parser_nodes___AFalseExpr___n_kwfalse SFT_parser_nodes[1144]
+#define COLOR_parser_nodes___AFalseExpr___n_kwfalse__eq SFT_parser_nodes[1145]
+#define ID_ANullExpr SFT_parser_nodes[1146]
+#define COLOR_ANullExpr SFT_parser_nodes[1147]
+#define COLOR_parser_nodes___ANullExpr____n_kwnull SFT_parser_nodes[1148]
+#define INIT_TABLE_POS_ANullExpr SFT_parser_nodes[1149]
+#define COLOR_parser_nodes___ANullExpr___n_kwnull SFT_parser_nodes[1150]
+#define COLOR_parser_nodes___ANullExpr___n_kwnull__eq SFT_parser_nodes[1151]
+#define ID_AIntExpr SFT_parser_nodes[1152]
+#define COLOR_AIntExpr SFT_parser_nodes[1153]
+#define COLOR_parser_nodes___AIntExpr____n_number SFT_parser_nodes[1154]
+#define INIT_TABLE_POS_AIntExpr SFT_parser_nodes[1155]
+#define COLOR_parser_nodes___AIntExpr___n_number SFT_parser_nodes[1156]
+#define COLOR_parser_nodes___AIntExpr___n_number__eq SFT_parser_nodes[1157]
+#define ID_AFloatExpr SFT_parser_nodes[1158]
+#define COLOR_AFloatExpr SFT_parser_nodes[1159]
+#define COLOR_parser_nodes___AFloatExpr____n_float SFT_parser_nodes[1160]
+#define INIT_TABLE_POS_AFloatExpr SFT_parser_nodes[1161]
+#define COLOR_parser_nodes___AFloatExpr___n_float SFT_parser_nodes[1162]
+#define COLOR_parser_nodes___AFloatExpr___n_float__eq SFT_parser_nodes[1163]
+#define ID_ACharExpr SFT_parser_nodes[1164]
+#define COLOR_ACharExpr SFT_parser_nodes[1165]
+#define COLOR_parser_nodes___ACharExpr____n_char SFT_parser_nodes[1166]
+#define INIT_TABLE_POS_ACharExpr SFT_parser_nodes[1167]
+#define COLOR_parser_nodes___ACharExpr___n_char SFT_parser_nodes[1168]
+#define COLOR_parser_nodes___ACharExpr___n_char__eq SFT_parser_nodes[1169]
+#define ID_AStringFormExpr SFT_parser_nodes[1170]
+#define COLOR_AStringFormExpr SFT_parser_nodes[1171]
+#define INIT_TABLE_POS_AStringFormExpr SFT_parser_nodes[1172]
+#define ID_AStringExpr SFT_parser_nodes[1173]
+#define COLOR_AStringExpr SFT_parser_nodes[1174]
+#define COLOR_parser_nodes___AStringExpr____n_string SFT_parser_nodes[1175]
+#define INIT_TABLE_POS_AStringExpr SFT_parser_nodes[1176]
+#define COLOR_parser_nodes___AStringExpr___n_string SFT_parser_nodes[1177]
+#define COLOR_parser_nodes___AStringExpr___n_string__eq SFT_parser_nodes[1178]
+#define ID_AStartStringExpr SFT_parser_nodes[1179]
+#define COLOR_AStartStringExpr SFT_parser_nodes[1180]
+#define COLOR_parser_nodes___AStartStringExpr____n_string SFT_parser_nodes[1181]
+#define INIT_TABLE_POS_AStartStringExpr SFT_parser_nodes[1182]
+#define COLOR_parser_nodes___AStartStringExpr___n_string SFT_parser_nodes[1183]
+#define COLOR_parser_nodes___AStartStringExpr___n_string__eq SFT_parser_nodes[1184]
+#define ID_AMidStringExpr SFT_parser_nodes[1185]
+#define COLOR_AMidStringExpr SFT_parser_nodes[1186]
+#define COLOR_parser_nodes___AMidStringExpr____n_string SFT_parser_nodes[1187]
+#define INIT_TABLE_POS_AMidStringExpr SFT_parser_nodes[1188]
+#define COLOR_parser_nodes___AMidStringExpr___n_string SFT_parser_nodes[1189]
+#define COLOR_parser_nodes___AMidStringExpr___n_string__eq SFT_parser_nodes[1190]
+#define ID_AEndStringExpr SFT_parser_nodes[1191]
+#define COLOR_AEndStringExpr SFT_parser_nodes[1192]
+#define COLOR_parser_nodes___AEndStringExpr____n_string SFT_parser_nodes[1193]
+#define INIT_TABLE_POS_AEndStringExpr SFT_parser_nodes[1194]
+#define COLOR_parser_nodes___AEndStringExpr___n_string SFT_parser_nodes[1195]
+#define COLOR_parser_nodes___AEndStringExpr___n_string__eq SFT_parser_nodes[1196]
+#define ID_ASuperstringExpr SFT_parser_nodes[1197]
+#define COLOR_ASuperstringExpr SFT_parser_nodes[1198]
+#define COLOR_parser_nodes___ASuperstringExpr____n_exprs SFT_parser_nodes[1199]
+#define INIT_TABLE_POS_ASuperstringExpr SFT_parser_nodes[1200]
+#define COLOR_parser_nodes___ASuperstringExpr___n_exprs SFT_parser_nodes[1201]
+#define COLOR_parser_nodes___ASuperstringExpr___n_exprs__eq SFT_parser_nodes[1202]
+#define ID_AParExpr SFT_parser_nodes[1203]
+#define COLOR_AParExpr SFT_parser_nodes[1204]
+#define INIT_TABLE_POS_AParExpr SFT_parser_nodes[1205]
+#define ID_AProxyExpr SFT_parser_nodes[1206]
+#define COLOR_AProxyExpr SFT_parser_nodes[1207]
+#define COLOR_parser_nodes___AProxyExpr____n_expr SFT_parser_nodes[1208]
+#define INIT_TABLE_POS_AProxyExpr SFT_parser_nodes[1209]
+#define COLOR_parser_nodes___AProxyExpr___n_expr SFT_parser_nodes[1210]
+#define COLOR_parser_nodes___AProxyExpr___n_expr__eq SFT_parser_nodes[1211]
+#define ID_AAsCastExpr SFT_parser_nodes[1212]
+#define COLOR_AAsCastExpr SFT_parser_nodes[1213]
+#define COLOR_parser_nodes___AAsCastExpr____n_expr SFT_parser_nodes[1214]
+#define COLOR_parser_nodes___AAsCastExpr____n_kwas SFT_parser_nodes[1215]
+#define COLOR_parser_nodes___AAsCastExpr____n_type SFT_parser_nodes[1216]
+#define INIT_TABLE_POS_AAsCastExpr SFT_parser_nodes[1217]
+#define COLOR_parser_nodes___AAsCastExpr___n_expr SFT_parser_nodes[1218]
+#define COLOR_parser_nodes___AAsCastExpr___n_expr__eq SFT_parser_nodes[1219]
+#define COLOR_parser_nodes___AAsCastExpr___n_kwas SFT_parser_nodes[1220]
+#define COLOR_parser_nodes___AAsCastExpr___n_kwas__eq SFT_parser_nodes[1221]
+#define COLOR_parser_nodes___AAsCastExpr___n_type SFT_parser_nodes[1222]
+#define COLOR_parser_nodes___AAsCastExpr___n_type__eq SFT_parser_nodes[1223]
+#define ID_APlusAssignOp SFT_parser_nodes[1224]
+#define COLOR_APlusAssignOp SFT_parser_nodes[1225]
+#define COLOR_parser_nodes___APlusAssignOp____n_pluseq SFT_parser_nodes[1226]
+#define INIT_TABLE_POS_APlusAssignOp SFT_parser_nodes[1227]
+#define COLOR_parser_nodes___APlusAssignOp___n_pluseq SFT_parser_nodes[1228]
+#define COLOR_parser_nodes___APlusAssignOp___n_pluseq__eq SFT_parser_nodes[1229]
+#define ID_AMinusAssignOp SFT_parser_nodes[1230]
+#define COLOR_AMinusAssignOp SFT_parser_nodes[1231]
+#define COLOR_parser_nodes___AMinusAssignOp____n_minuseq SFT_parser_nodes[1232]
+#define INIT_TABLE_POS_AMinusAssignOp SFT_parser_nodes[1233]
+#define COLOR_parser_nodes___AMinusAssignOp___n_minuseq SFT_parser_nodes[1234]
+#define COLOR_parser_nodes___AMinusAssignOp___n_minuseq__eq SFT_parser_nodes[1235]
+#define ID_AQualified SFT_parser_nodes[1236]
+#define COLOR_AQualified SFT_parser_nodes[1237]
+#define COLOR_parser_nodes___AQualified____n_id SFT_parser_nodes[1238]
+#define COLOR_parser_nodes___AQualified____n_classid SFT_parser_nodes[1239]
+#define INIT_TABLE_POS_AQualified SFT_parser_nodes[1240]
+#define COLOR_parser_nodes___AQualified___n_id SFT_parser_nodes[1241]
+#define COLOR_parser_nodes___AQualified___n_id__eq SFT_parser_nodes[1242]
+#define COLOR_parser_nodes___AQualified___n_classid SFT_parser_nodes[1243]
+#define COLOR_parser_nodes___AQualified___n_classid__eq SFT_parser_nodes[1244]
+#define ID_ADoc SFT_parser_nodes[1245]
+#define COLOR_ADoc SFT_parser_nodes[1246]
+#define COLOR_parser_nodes___ADoc____n_comment SFT_parser_nodes[1247]
+#define INIT_TABLE_POS_ADoc SFT_parser_nodes[1248]
+#define COLOR_parser_nodes___ADoc___n_comment SFT_parser_nodes[1249]
+#define COLOR_parser_nodes___ADoc___n_comment__eq SFT_parser_nodes[1250]
+#define ID_Start SFT_parser_nodes[1251]
+#define COLOR_Start SFT_parser_nodes[1252]
+#define COLOR_parser_nodes___Start____n_base SFT_parser_nodes[1253]
+#define COLOR_parser_nodes___Start____n_eof SFT_parser_nodes[1254]
+#define INIT_TABLE_POS_Start SFT_parser_nodes[1255]
+#define COLOR_parser_nodes___Start___n_base SFT_parser_nodes[1256]
+#define COLOR_parser_nodes___Start___n_base__eq SFT_parser_nodes[1257]
+#define COLOR_parser_nodes___Start___n_eof SFT_parser_nodes[1258]
+#define COLOR_parser_nodes___Start___n_eof__eq SFT_parser_nodes[1259]
+typedef void (* parser_nodes___PNode___init_t)(val_t  self, int* init_table);
+void parser_nodes___PNode___init(val_t  self, int* init_table);
+val_t NEW_parser_nodes___PNode___init();
+#define LOCATE_parser_nodes___PNode___init "parser_nodes::PNode::init"
+typedef void (* parser_nodes___EOF___noinit_t)(val_t  self, int* init_table);
+void parser_nodes___EOF___noinit(val_t  self, int* init_table);
+val_t NEW_parser_nodes___EOF___noinit();
+#define LOCATE_parser_nodes___EOF___noinit "parser_nodes::EOF::noinit"
+typedef void (* parser_nodes___PError___noinit_t)(val_t  self, int* init_table);
+void parser_nodes___PError___noinit(val_t  self, int* init_table);
+val_t NEW_parser_nodes___PError___noinit();
+#define LOCATE_parser_nodes___PError___noinit "parser_nodes::PError::noinit"
 #define ATTR_parser_nodes___PPropdef____n_doc(recv) ATTR(recv, COLOR_parser_nodes___PPropdef____n_doc)
 typedef val_t (* parser_nodes___PPropdef___n_doc_t)(val_t  self);
 val_t parser_nodes___PPropdef___n_doc(val_t  self);
index e0a94e4..a035dc8 100644 (file)
@@ -107,19 +107,19 @@ void parser_prod___PNode___printl(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((parser_prod___PNode___locate_t)CALL( self,COLOR_parser_prod___PNode___locate))( self) /*PNode::locate*/;
   variable5 = variable4;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
   variable8 =  variable0 /*str*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable10) /*String::append*/;
   ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable1) /*Object::print*/;
@@ -174,28 +174,28 @@ val_t parser_prod___Token___locate(val_t  self) {
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = ((lexer___Token___filename_t)CALL( self,COLOR_lexer___Token___filename))( self) /*Token::filename*/;
   variable4 = variable3;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   variable7 = ((lexer___Token___line_t)CALL( self,COLOR_lexer___Token___line))( self) /*Token::line*/;
   variable8 = variable7;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable10) /*String::append*/;
   variable11 = ((lexer___Token___pos_t)CALL( self,COLOR_lexer___Token___pos))( self) /*Token::pos*/;
   variable12 = variable11;
   variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable14) /*String::append*/;
   goto return_label6;
@@ -266,7 +266,7 @@ val_t parser_prod___Prod___locate(val_t  self) {
   variable0 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 = NEW_string___String___with_native(BOX_NativeString("????"), TAG_Int(4)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("????"), TAG_Int(4)); /*new String*/
     goto return_label8;
   }
   variable1 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
@@ -283,35 +283,35 @@ val_t parser_prod___Prod___locate(val_t  self) {
   variable2 = ((lexer___Token___line_t)CALL(variable2,COLOR_lexer___Token___line))(variable2) /*Token::line*/;
   variable1 = TAG_Bool((variable1)==(variable2));
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_string___String___init(); /*new String*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable1 = NEW_String_string___String___init(); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable3 = variable2;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
     variable4 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
     variable4 = ((parser_prod___Token___locate_t)CALL(variable4,COLOR_parser_prod___PNode___locate))(variable4) /*Token::locate*/;
     variable5 = variable4;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString("--"), TAG_Int(2)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("--"), TAG_Int(2)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
     variable8 =  variable0 /*lastpos*/;
     variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable8) /*String::append*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable10 = variable9;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable10) /*String::append*/;
     variable0 = variable1;
     goto return_label8;
   } else { /*if*/
-    variable1 = NEW_string___String___init(); /*new String*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable1 = NEW_String_string___String___init(); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable3 = variable2;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
     variable4 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
     variable4 = ((parser_prod___Token___locate_t)CALL(variable4,COLOR_parser_prod___PNode___locate))(variable4) /*Token::locate*/;
     variable5 = variable4;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString("--"), TAG_Int(2)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("--"), TAG_Int(2)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
     variable8 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
@@ -319,13 +319,13 @@ val_t parser_prod___Prod___locate(val_t  self) {
     variable9 = variable8;
     variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-    variable10 = NEW_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
+    variable10 = NEW_String_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
     variable11 = variable10;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
     variable12 =  variable0 /*lastpos*/;
     variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable12) /*String::append*/;
-    variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable14 = variable13;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable14) /*String::append*/;
     variable0 = variable1;
@@ -381,6 +381,13 @@ void parser_prod___Visitor___visit(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
+void parser_prod___Visitor___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_parser_prod___Visitor___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
+  tracehead = trace.prev;
+  return;
+}
 void parser_prod___AModule___n_packagedecl__eq(val_t  self, val_t  param0) {
   struct trace_t trace = {NULL, NULL, 110, LOCATE_parser_prod___AModule___n_packagedecl__eq};
   val_t variable0;
@@ -419,12 +426,13 @@ void parser_prod___AModule___init_amodule(val_t  self, val_t  param0, val_t  par
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i]) return;
+  ((parser_prod___AModule___empty_init_t)CALL( self,COLOR_parser_prod___AModule___empty_init))( self, init_table /*YYY*/) /*AModule::empty_init*/;
   ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ =  variable0 /*n_packagedecl*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_packagedecl*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_packagedecl*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_packagedecl*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_packagedecl*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_packagedecl*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_packagedecl*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_packagedecl*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_packagedecl*/,  self) /*PNode::parent=*/;
   }
-  variable3 = NEW_list___List___init(); /*new List[E]*/
+  variable3 = NEW_List_list___List___init(); /*new List[PImport]*/
   ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/ = variable3;
   variable3 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_imports*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_imports*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -432,7 +440,7 @@ void parser_prod___AModule___init_amodule(val_t  self, val_t  param0, val_t  par
     if (!UNTAG_Bool(variable4)) break; /*for*/
     variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
     variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___init_amodule, LOCATE_parser_prod, 132); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___init_amodule, LOCATE_parser_prod, 133); nit_exit(1);}
     variable5 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable4 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/,  self) /*PNode::parent=*/;
@@ -440,7 +448,7 @@ void parser_prod___AModule___init_amodule(val_t  self, val_t  param0, val_t  par
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
   break_14: while(0);
-  variable3 = NEW_list___List___init(); /*new List[E]*/
+  variable3 = NEW_List_list___List___init(); /*new List[PClassdef]*/
   ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/ = variable3;
   variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_classdefs*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_classdefs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -448,7 +456,7 @@ void parser_prod___AModule___init_amodule(val_t  self, val_t  param0, val_t  par
     if (!UNTAG_Bool(variable4)) break; /*for*/
     variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
     variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___init_amodule, LOCATE_parser_prod, 138); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___init_amodule, LOCATE_parser_prod, 139); nit_exit(1);}
     variable5 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable4 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/,  self) /*PNode::parent=*/;
@@ -461,7 +469,7 @@ void parser_prod___AModule___init_amodule(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 144, LOCATE_parser_prod___AModule___replace_child};
+  struct trace_t trace = {NULL, NULL, 145, LOCATE_parser_prod___AModule___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -472,7 +480,7 @@ void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 146); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 147); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -480,7 +488,7 @@ void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 150); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 151); nit_exit(1);}
       ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ =  NIT_NULL /*null*/;
@@ -489,7 +497,7 @@ void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  pa
   }
   variable2 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -503,7 +511,7 @@ void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  pa
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 160); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 161); nit_exit(1);}
         variable4 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -519,7 +527,7 @@ void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  pa
   break_17: while(0);
   variable2 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -533,7 +541,7 @@ void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  pa
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 172); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 173); nit_exit(1);}
         variable4 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -552,7 +560,7 @@ void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AModule___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 183, LOCATE_parser_prod___AModule___visit_all};
+  struct trace_t trace = {NULL, NULL, 184, LOCATE_parser_prod___AModule___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -591,7 +599,7 @@ void parser_prod___AModule___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AModule___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 196, LOCATE_parser_prod___AModule___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 197, LOCATE_parser_prod___AModule___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -636,7 +644,7 @@ void parser_prod___AModule___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APackagedecl___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 218, LOCATE_parser_prod___APackagedecl___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 219, LOCATE_parser_prod___APackagedecl___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -651,7 +659,7 @@ void parser_prod___APackagedecl___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APackagedecl___n_kwpackage__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 225, LOCATE_parser_prod___APackagedecl___n_kwpackage__eq};
+  struct trace_t trace = {NULL, NULL, 226, LOCATE_parser_prod___APackagedecl___n_kwpackage__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -666,7 +674,7 @@ void parser_prod___APackagedecl___n_kwpackage__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APackagedecl___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 232, LOCATE_parser_prod___APackagedecl___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 233, LOCATE_parser_prod___APackagedecl___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -681,7 +689,7 @@ void parser_prod___APackagedecl___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APackagedecl___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 240, LOCATE_parser_prod___APackagedecl___empty_init};
+  struct trace_t trace = {NULL, NULL, 241, LOCATE_parser_prod___APackagedecl___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i]) return;
@@ -690,7 +698,7 @@ void parser_prod___APackagedecl___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___APackagedecl___init_apackagedecl(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 242, LOCATE_parser_prod___APackagedecl___init_apackagedecl};
+  struct trace_t trace = {NULL, NULL, 243, LOCATE_parser_prod___APackagedecl___init_apackagedecl};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -701,6 +709,7 @@ void parser_prod___APackagedecl___init_apackagedecl(val_t  self, val_t  param0,
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i]) return;
+  ((parser_prod___APackagedecl___empty_init_t)CALL( self,COLOR_parser_prod___APackagedecl___empty_init))( self, init_table /*YYY*/) /*APackagedecl::empty_init*/;
   ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ =  variable0 /*n_doc*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -721,7 +730,7 @@ void parser_prod___APackagedecl___init_apackagedecl(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___APackagedecl___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 262, LOCATE_parser_prod___APackagedecl___replace_child};
+  struct trace_t trace = {NULL, NULL, 264, LOCATE_parser_prod___APackagedecl___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -730,7 +739,7 @@ void parser_prod___APackagedecl___replace_child(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 264); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 266); nit_exit(1);}
   variable2 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -738,7 +747,7 @@ void parser_prod___APackagedecl___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 268); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 270); nit_exit(1);}
       ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ =  NIT_NULL /*null*/;
@@ -752,7 +761,7 @@ void parser_prod___APackagedecl___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwpackage, ID_TKwpackage)) /*cast TKwpackage*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 278); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 280); nit_exit(1);}
       ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ =  NIT_NULL /*null*/;
@@ -766,7 +775,7 @@ void parser_prod___APackagedecl___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 288); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 290); nit_exit(1);}
       ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ =  NIT_NULL /*null*/;
@@ -778,7 +787,7 @@ void parser_prod___APackagedecl___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___APackagedecl___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 297, LOCATE_parser_prod___APackagedecl___visit_all};
+  struct trace_t trace = {NULL, NULL, 299, LOCATE_parser_prod___APackagedecl___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -806,7 +815,7 @@ void parser_prod___APackagedecl___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APackagedecl___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 310, LOCATE_parser_prod___APackagedecl___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 312, LOCATE_parser_prod___APackagedecl___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -834,7 +843,7 @@ void parser_prod___APackagedecl___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AImport___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 324, LOCATE_parser_prod___AImport___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 326, LOCATE_parser_prod___AImport___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -849,7 +858,7 @@ void parser_prod___AImport___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AImport___n_kwimport__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 331, LOCATE_parser_prod___AImport___n_kwimport__eq};
+  struct trace_t trace = {NULL, NULL, 333, LOCATE_parser_prod___AImport___n_kwimport__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -864,7 +873,7 @@ void parser_prod___AImport___n_kwimport__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AImport___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 338, LOCATE_parser_prod___AImport___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 340, LOCATE_parser_prod___AImport___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -879,7 +888,7 @@ void parser_prod___AImport___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AImport___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 346, LOCATE_parser_prod___AImport___empty_init};
+  struct trace_t trace = {NULL, NULL, 348, LOCATE_parser_prod___AImport___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i]) return;
@@ -888,7 +897,7 @@ void parser_prod___AImport___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AImport___init_aimport(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 348, LOCATE_parser_prod___AImport___init_aimport};
+  struct trace_t trace = {NULL, NULL, 350, LOCATE_parser_prod___AImport___init_aimport};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -899,6 +908,7 @@ void parser_prod___AImport___init_aimport(val_t  self, val_t  param0, val_t  par
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i]) return;
+  ((parser_prod___AImport___empty_init_t)CALL( self,COLOR_parser_prod___AImport___empty_init))( self, init_table /*YYY*/) /*AImport::empty_init*/;
   ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ =  variable0 /*n_visibility*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_visibility*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -919,7 +929,7 @@ void parser_prod___AImport___init_aimport(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AImport___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 368, LOCATE_parser_prod___AImport___replace_child};
+  struct trace_t trace = {NULL, NULL, 371, LOCATE_parser_prod___AImport___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -928,7 +938,7 @@ void parser_prod___AImport___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 370); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 373); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -936,7 +946,7 @@ void parser_prod___AImport___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 374); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 377); nit_exit(1);}
       ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ =  NIT_NULL /*null*/;
@@ -950,7 +960,7 @@ void parser_prod___AImport___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 384); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 387); nit_exit(1);}
       ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ =  NIT_NULL /*null*/;
@@ -964,7 +974,7 @@ void parser_prod___AImport___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 394); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 397); nit_exit(1);}
       ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ =  NIT_NULL /*null*/;
@@ -976,7 +986,7 @@ void parser_prod___AImport___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AImport___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 403, LOCATE_parser_prod___AImport___visit_all};
+  struct trace_t trace = {NULL, NULL, 406, LOCATE_parser_prod___AImport___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1004,7 +1014,7 @@ void parser_prod___AImport___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AImport___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 416, LOCATE_parser_prod___AImport___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 419, LOCATE_parser_prod___AImport___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1032,7 +1042,7 @@ void parser_prod___AImport___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANoImport___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 430, LOCATE_parser_prod___ANoImport___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 433, LOCATE_parser_prod___ANoImport___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1047,7 +1057,7 @@ void parser_prod___ANoImport___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANoImport___n_kwimport__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 437, LOCATE_parser_prod___ANoImport___n_kwimport__eq};
+  struct trace_t trace = {NULL, NULL, 440, LOCATE_parser_prod___ANoImport___n_kwimport__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1062,7 +1072,7 @@ void parser_prod___ANoImport___n_kwimport__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANoImport___n_kwend__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 444, LOCATE_parser_prod___ANoImport___n_kwend__eq};
+  struct trace_t trace = {NULL, NULL, 447, LOCATE_parser_prod___ANoImport___n_kwend__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1077,7 +1087,7 @@ void parser_prod___ANoImport___n_kwend__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANoImport___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 452, LOCATE_parser_prod___ANoImport___empty_init};
+  struct trace_t trace = {NULL, NULL, 455, LOCATE_parser_prod___ANoImport___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i]) return;
@@ -1086,7 +1096,7 @@ void parser_prod___ANoImport___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ANoImport___init_anoimport(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 454, LOCATE_parser_prod___ANoImport___init_anoimport};
+  struct trace_t trace = {NULL, NULL, 457, LOCATE_parser_prod___ANoImport___init_anoimport};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1097,6 +1107,7 @@ void parser_prod___ANoImport___init_anoimport(val_t  self, val_t  param0, val_t
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i]) return;
+  ((parser_prod___ANoImport___empty_init_t)CALL( self,COLOR_parser_prod___ANoImport___empty_init))( self, init_table /*YYY*/) /*ANoImport::empty_init*/;
   ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ =  variable0 /*n_visibility*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_visibility*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -1117,7 +1128,7 @@ void parser_prod___ANoImport___init_anoimport(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ANoImport___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 474, LOCATE_parser_prod___ANoImport___replace_child};
+  struct trace_t trace = {NULL, NULL, 478, LOCATE_parser_prod___ANoImport___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1126,7 +1137,7 @@ void parser_prod___ANoImport___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 476); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 480); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -1134,7 +1145,7 @@ void parser_prod___ANoImport___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 480); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 484); nit_exit(1);}
       ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ =  NIT_NULL /*null*/;
@@ -1148,7 +1159,7 @@ void parser_prod___ANoImport___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 490); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 494); nit_exit(1);}
       ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ =  NIT_NULL /*null*/;
@@ -1162,7 +1173,7 @@ void parser_prod___ANoImport___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwend, ID_TKwend)) /*cast TKwend*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 500); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 504); nit_exit(1);}
       ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ =  NIT_NULL /*null*/;
@@ -1174,7 +1185,7 @@ void parser_prod___ANoImport___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ANoImport___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 509, LOCATE_parser_prod___ANoImport___visit_all};
+  struct trace_t trace = {NULL, NULL, 513, LOCATE_parser_prod___ANoImport___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1202,7 +1213,7 @@ void parser_prod___ANoImport___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANoImport___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 522, LOCATE_parser_prod___ANoImport___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 526, LOCATE_parser_prod___ANoImport___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1230,7 +1241,7 @@ void parser_prod___ANoImport___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APublicVisibility___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 537, LOCATE_parser_prod___APublicVisibility___empty_init};
+  struct trace_t trace = {NULL, NULL, 541, LOCATE_parser_prod___APublicVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i]) return;
@@ -1239,16 +1250,17 @@ void parser_prod___APublicVisibility___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___APublicVisibility___init_apublicvisibility(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 539, LOCATE_parser_prod___APublicVisibility___init_apublicvisibility};
+  struct trace_t trace = {NULL, NULL, 543, LOCATE_parser_prod___APublicVisibility___init_apublicvisibility};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i]) return;
+  ((parser_prod___APublicVisibility___empty_init_t)CALL( self,COLOR_parser_prod___APublicVisibility___empty_init))( self, init_table /*YYY*/) /*APublicVisibility::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APublicVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 543, LOCATE_parser_prod___APublicVisibility___replace_child};
+  struct trace_t trace = {NULL, NULL, 548, LOCATE_parser_prod___APublicVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1257,12 +1269,12 @@ void parser_prod___APublicVisibility___replace_child(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APublicVisibility___replace_child, LOCATE_parser_prod, 545); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APublicVisibility___replace_child, LOCATE_parser_prod, 550); nit_exit(1);}
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APublicVisibility___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 548, LOCATE_parser_prod___APublicVisibility___visit_all};
+  struct trace_t trace = {NULL, NULL, 553, LOCATE_parser_prod___APublicVisibility___visit_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
@@ -1271,7 +1283,7 @@ void parser_prod___APublicVisibility___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APublicVisibility___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 552, LOCATE_parser_prod___APublicVisibility___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 557, LOCATE_parser_prod___APublicVisibility___visit_all_reverse};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
@@ -1280,7 +1292,7 @@ void parser_prod___APublicVisibility___visit_all_reverse(val_t  self, val_t  par
   return;
 }
 void parser_prod___APrivateVisibility___n_kwprivate__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 557, LOCATE_parser_prod___APrivateVisibility___n_kwprivate__eq};
+  struct trace_t trace = {NULL, NULL, 562, LOCATE_parser_prod___APrivateVisibility___n_kwprivate__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1295,7 +1307,7 @@ void parser_prod___APrivateVisibility___n_kwprivate__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___APrivateVisibility___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 565, LOCATE_parser_prod___APrivateVisibility___empty_init};
+  struct trace_t trace = {NULL, NULL, 570, LOCATE_parser_prod___APrivateVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i]) return;
@@ -1304,13 +1316,14 @@ void parser_prod___APrivateVisibility___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___APrivateVisibility___init_aprivatevisibility(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 567, LOCATE_parser_prod___APrivateVisibility___init_aprivatevisibility};
+  struct trace_t trace = {NULL, NULL, 572, LOCATE_parser_prod___APrivateVisibility___init_aprivatevisibility};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i]) return;
+  ((parser_prod___APrivateVisibility___empty_init_t)CALL( self,COLOR_parser_prod___APrivateVisibility___empty_init))( self, init_table /*YYY*/) /*APrivateVisibility::empty_init*/;
   ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ =  variable0 /*n_kwprivate*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwprivate*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwprivate*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwprivate*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwprivate*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwprivate*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwprivate*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -1321,7 +1334,7 @@ void parser_prod___APrivateVisibility___init_aprivatevisibility(val_t  self, val
   return;
 }
 void parser_prod___APrivateVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 577, LOCATE_parser_prod___APrivateVisibility___replace_child};
+  struct trace_t trace = {NULL, NULL, 583, LOCATE_parser_prod___APrivateVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1330,7 +1343,7 @@ void parser_prod___APrivateVisibility___replace_child(val_t  self, val_t  param0
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APrivateVisibility___replace_child, LOCATE_parser_prod, 579); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APrivateVisibility___replace_child, LOCATE_parser_prod, 585); nit_exit(1);}
   variable2 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -1338,7 +1351,7 @@ void parser_prod___APrivateVisibility___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwprivate, ID_TKwprivate)) /*cast TKwprivate*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APrivateVisibility___replace_child, LOCATE_parser_prod, 583); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APrivateVisibility___replace_child, LOCATE_parser_prod, 589); nit_exit(1);}
       ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ =  NIT_NULL /*null*/;
@@ -1350,7 +1363,7 @@ void parser_prod___APrivateVisibility___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___APrivateVisibility___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 592, LOCATE_parser_prod___APrivateVisibility___visit_all};
+  struct trace_t trace = {NULL, NULL, 598, LOCATE_parser_prod___APrivateVisibility___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1366,7 +1379,7 @@ void parser_prod___APrivateVisibility___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APrivateVisibility___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 599, LOCATE_parser_prod___APrivateVisibility___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 605, LOCATE_parser_prod___APrivateVisibility___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1382,7 +1395,7 @@ void parser_prod___APrivateVisibility___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AProtectedVisibility___n_kwprotected__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 607, LOCATE_parser_prod___AProtectedVisibility___n_kwprotected__eq};
+  struct trace_t trace = {NULL, NULL, 613, LOCATE_parser_prod___AProtectedVisibility___n_kwprotected__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1397,7 +1410,7 @@ void parser_prod___AProtectedVisibility___n_kwprotected__eq(val_t  self, val_t
   return;
 }
 void parser_prod___AProtectedVisibility___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 615, LOCATE_parser_prod___AProtectedVisibility___empty_init};
+  struct trace_t trace = {NULL, NULL, 621, LOCATE_parser_prod___AProtectedVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i]) return;
@@ -1406,13 +1419,14 @@ void parser_prod___AProtectedVisibility___empty_init(val_t  self, int* init_tabl
   return;
 }
 void parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 617, LOCATE_parser_prod___AProtectedVisibility___init_aprotectedvisibility};
+  struct trace_t trace = {NULL, NULL, 623, LOCATE_parser_prod___AProtectedVisibility___init_aprotectedvisibility};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i]) return;
+  ((parser_prod___AProtectedVisibility___empty_init_t)CALL( self,COLOR_parser_prod___AProtectedVisibility___empty_init))( self, init_table /*YYY*/) /*AProtectedVisibility::empty_init*/;
   ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ =  variable0 /*n_kwprotected*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwprotected*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwprotected*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwprotected*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwprotected*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwprotected*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwprotected*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -1423,7 +1437,7 @@ void parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t  self,
   return;
 }
 void parser_prod___AProtectedVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 627, LOCATE_parser_prod___AProtectedVisibility___replace_child};
+  struct trace_t trace = {NULL, NULL, 634, LOCATE_parser_prod___AProtectedVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1432,7 +1446,7 @@ void parser_prod___AProtectedVisibility___replace_child(val_t  self, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AProtectedVisibility___replace_child, LOCATE_parser_prod, 629); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AProtectedVisibility___replace_child, LOCATE_parser_prod, 636); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -1440,7 +1454,7 @@ void parser_prod___AProtectedVisibility___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwprotected, ID_TKwprotected)) /*cast TKwprotected*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AProtectedVisibility___replace_child, LOCATE_parser_prod, 633); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AProtectedVisibility___replace_child, LOCATE_parser_prod, 640); nit_exit(1);}
       ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ =  NIT_NULL /*null*/;
@@ -1452,7 +1466,7 @@ void parser_prod___AProtectedVisibility___replace_child(val_t  self, val_t  para
   return;
 }
 void parser_prod___AProtectedVisibility___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 642, LOCATE_parser_prod___AProtectedVisibility___visit_all};
+  struct trace_t trace = {NULL, NULL, 649, LOCATE_parser_prod___AProtectedVisibility___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1468,7 +1482,7 @@ void parser_prod___AProtectedVisibility___visit_all(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AProtectedVisibility___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 649, LOCATE_parser_prod___AProtectedVisibility___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 656, LOCATE_parser_prod___AProtectedVisibility___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1484,7 +1498,7 @@ void parser_prod___AProtectedVisibility___visit_all_reverse(val_t  self, val_t
   return;
 }
 void parser_prod___AIntrudeVisibility___n_kwintrude__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 657, LOCATE_parser_prod___AIntrudeVisibility___n_kwintrude__eq};
+  struct trace_t trace = {NULL, NULL, 664, LOCATE_parser_prod___AIntrudeVisibility___n_kwintrude__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1499,7 +1513,7 @@ void parser_prod___AIntrudeVisibility___n_kwintrude__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___AIntrudeVisibility___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 665, LOCATE_parser_prod___AIntrudeVisibility___empty_init};
+  struct trace_t trace = {NULL, NULL, 672, LOCATE_parser_prod___AIntrudeVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i]) return;
@@ -1508,13 +1522,14 @@ void parser_prod___AIntrudeVisibility___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 667, LOCATE_parser_prod___AIntrudeVisibility___init_aintrudevisibility};
+  struct trace_t trace = {NULL, NULL, 674, LOCATE_parser_prod___AIntrudeVisibility___init_aintrudevisibility};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i]) return;
+  ((parser_prod___AIntrudeVisibility___empty_init_t)CALL( self,COLOR_parser_prod___AIntrudeVisibility___empty_init))( self, init_table /*YYY*/) /*AIntrudeVisibility::empty_init*/;
   ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ =  variable0 /*n_kwintrude*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwintrude*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwintrude*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwintrude*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwintrude*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwintrude*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwintrude*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -1525,7 +1540,7 @@ void parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t  self, val
   return;
 }
 void parser_prod___AIntrudeVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 677, LOCATE_parser_prod___AIntrudeVisibility___replace_child};
+  struct trace_t trace = {NULL, NULL, 685, LOCATE_parser_prod___AIntrudeVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1534,7 +1549,7 @@ void parser_prod___AIntrudeVisibility___replace_child(val_t  self, val_t  param0
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntrudeVisibility___replace_child, LOCATE_parser_prod, 679); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntrudeVisibility___replace_child, LOCATE_parser_prod, 687); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -1542,7 +1557,7 @@ void parser_prod___AIntrudeVisibility___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwintrude, ID_TKwintrude)) /*cast TKwintrude*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntrudeVisibility___replace_child, LOCATE_parser_prod, 683); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntrudeVisibility___replace_child, LOCATE_parser_prod, 691); nit_exit(1);}
       ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ =  NIT_NULL /*null*/;
@@ -1554,7 +1569,7 @@ void parser_prod___AIntrudeVisibility___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AIntrudeVisibility___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 692, LOCATE_parser_prod___AIntrudeVisibility___visit_all};
+  struct trace_t trace = {NULL, NULL, 700, LOCATE_parser_prod___AIntrudeVisibility___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1570,7 +1585,7 @@ void parser_prod___AIntrudeVisibility___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIntrudeVisibility___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 699, LOCATE_parser_prod___AIntrudeVisibility___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 707, LOCATE_parser_prod___AIntrudeVisibility___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1586,7 +1601,7 @@ void parser_prod___AIntrudeVisibility___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AClassdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 707, LOCATE_parser_prod___AClassdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 715, LOCATE_parser_prod___AClassdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1601,7 +1616,7 @@ void parser_prod___AClassdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 714, LOCATE_parser_prod___AClassdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 722, LOCATE_parser_prod___AClassdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1616,7 +1631,7 @@ void parser_prod___AClassdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 721, LOCATE_parser_prod___AClassdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 729, LOCATE_parser_prod___AClassdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1631,7 +1646,7 @@ void parser_prod___AClassdef___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___n_classkind__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 728, LOCATE_parser_prod___AClassdef___n_classkind__eq};
+  struct trace_t trace = {NULL, NULL, 736, LOCATE_parser_prod___AClassdef___n_classkind__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1646,7 +1661,7 @@ void parser_prod___AClassdef___n_classkind__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 735, LOCATE_parser_prod___AClassdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 743, LOCATE_parser_prod___AClassdef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1661,7 +1676,7 @@ void parser_prod___AClassdef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 743, LOCATE_parser_prod___AClassdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 751, LOCATE_parser_prod___AClassdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i]) return;
@@ -1670,7 +1685,7 @@ void parser_prod___AClassdef___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, val_t  param6, val_t  param7, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 745, LOCATE_parser_prod___AClassdef___init_aclassdef};
+  struct trace_t trace = {NULL, NULL, 753, LOCATE_parser_prod___AClassdef___init_aclassdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1693,6 +1708,7 @@ void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t
   variable6 =  param6;
   variable7 =  param7;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i]) return;
+  ((parser_prod___AClassdef___empty_init_t)CALL( self,COLOR_parser_prod___AClassdef___empty_init))( self, init_table /*YYY*/) /*AClassdef::empty_init*/;
   ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ =  variable0 /*n_doc*/;
   variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
@@ -1718,7 +1734,7 @@ void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t
   if (UNTAG_Bool(variable8)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_id*/,  self) /*PNode::parent=*/;
   }
-  variable8 = NEW_list___List___init(); /*new List[E]*/
+  variable8 = NEW_List_list___List___init(); /*new List[PFormaldef]*/
   ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/ = variable8;
   variable8 = ((array___AbstractArray___iterator_t)CALL( variable5 /*n_formaldefs*/,COLOR_abstract_collection___Collection___iterator))( variable5 /*n_formaldefs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -1726,7 +1742,7 @@ void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t
     if (!UNTAG_Bool(variable9)) break; /*for*/
     variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
     variable10 = TAG_Bool(( variable9 /*n*/==NIT_NULL) || VAL_ISA( variable9 /*n*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
-    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___init_aclassdef, LOCATE_parser_prod, 778); nit_exit(1);}
+    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___init_aclassdef, LOCATE_parser_prod, 787); nit_exit(1);}
     variable10 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  variable9 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/,  self) /*PNode::parent=*/;
@@ -1734,7 +1750,7 @@ void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t
     ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
   }
   break_79: while(0);
-  variable8 = NEW_list___List___init(); /*new List[E]*/
+  variable8 = NEW_List_list___List___init(); /*new List[PSuperclass]*/
   ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/ = variable8;
   variable8 = ((array___AbstractArray___iterator_t)CALL( variable6 /*n_superclasses*/,COLOR_abstract_collection___Collection___iterator))( variable6 /*n_superclasses*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -1742,7 +1758,7 @@ void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t
     if (!UNTAG_Bool(variable9)) break; /*for*/
     variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
     variable10 = TAG_Bool(( variable9 /*n*/==NIT_NULL) || VAL_ISA( variable9 /*n*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
-    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___init_aclassdef, LOCATE_parser_prod, 784); nit_exit(1);}
+    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___init_aclassdef, LOCATE_parser_prod, 793); nit_exit(1);}
     variable10 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  variable9 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/,  self) /*PNode::parent=*/;
@@ -1750,7 +1766,7 @@ void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t
     ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
   }
   break_80: while(0);
-  variable8 = NEW_list___List___init(); /*new List[E]*/
+  variable8 = NEW_List_list___List___init(); /*new List[PPropdef]*/
   ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/ = variable8;
   variable8 = ((array___AbstractArray___iterator_t)CALL( variable7 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable7 /*n_propdefs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -1758,7 +1774,7 @@ void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t
     if (!UNTAG_Bool(variable9)) break; /*for*/
     variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
     variable10 = TAG_Bool(( variable9 /*n*/==NIT_NULL) || VAL_ISA( variable9 /*n*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___init_aclassdef, LOCATE_parser_prod, 790); nit_exit(1);}
+    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___init_aclassdef, LOCATE_parser_prod, 799); nit_exit(1);}
     variable10 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  variable9 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/,  self) /*PNode::parent=*/;
@@ -1771,7 +1787,7 @@ void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 796, LOCATE_parser_prod___AClassdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 805, LOCATE_parser_prod___AClassdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1782,7 +1798,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 798); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 807); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -1790,7 +1806,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 802); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 811); nit_exit(1);}
       ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ =  NIT_NULL /*null*/;
@@ -1804,7 +1820,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 812); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 821); nit_exit(1);}
       ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -1818,7 +1834,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 822); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 831); nit_exit(1);}
       ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ =  NIT_NULL /*null*/;
@@ -1832,7 +1848,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 832); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 841); nit_exit(1);}
       ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ =  NIT_NULL /*null*/;
@@ -1846,7 +1862,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 842); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 851); nit_exit(1);}
       ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ =  NIT_NULL /*null*/;
@@ -1855,7 +1871,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
   }
   variable2 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -1869,7 +1885,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 852); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 861); nit_exit(1);}
         variable4 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -1885,7 +1901,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
   break_83: while(0);
   variable2 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -1899,7 +1915,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 864); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 873); nit_exit(1);}
         variable4 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -1915,7 +1931,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
   break_84: while(0);
   variable2 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -1929,7 +1945,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 876); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 885); nit_exit(1);}
         variable4 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -1948,7 +1964,7 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AClassdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 887, LOCATE_parser_prod___AClassdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 896, LOCATE_parser_prod___AClassdef___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -2022,7 +2038,7 @@ void parser_prod___AClassdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 915, LOCATE_parser_prod___AClassdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 924, LOCATE_parser_prod___AClassdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2105,7 +2121,7 @@ void parser_prod___AClassdef___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATopClassdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 957, LOCATE_parser_prod___ATopClassdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 966, LOCATE_parser_prod___ATopClassdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i]) return;
@@ -2114,7 +2130,7 @@ void parser_prod___ATopClassdef___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ATopClassdef___init_atopclassdef(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 959, LOCATE_parser_prod___ATopClassdef___init_atopclassdef};
+  struct trace_t trace = {NULL, NULL, 968, LOCATE_parser_prod___ATopClassdef___init_atopclassdef};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -2123,7 +2139,8 @@ void parser_prod___ATopClassdef___init_atopclassdef(val_t  self, val_t  param0,
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[E]*/
+  ((parser_prod___ATopClassdef___empty_init_t)CALL( self,COLOR_parser_prod___ATopClassdef___empty_init))( self, init_table /*YYY*/) /*ATopClassdef::empty_init*/;
+  variable1 = NEW_List_list___List___init(); /*new List[PPropdef]*/
   ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/ = variable1;
   variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_propdefs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -2131,7 +2148,7 @@ void parser_prod___ATopClassdef___init_atopclassdef(val_t  self, val_t  param0,
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATopClassdef___init_atopclassdef, LOCATE_parser_prod, 965); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATopClassdef___init_atopclassdef, LOCATE_parser_prod, 975); nit_exit(1);}
     variable3 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable2 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*PNode::parent=*/;
@@ -2144,7 +2161,7 @@ void parser_prod___ATopClassdef___init_atopclassdef(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ATopClassdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 971, LOCATE_parser_prod___ATopClassdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 981, LOCATE_parser_prod___ATopClassdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2155,10 +2172,10 @@ void parser_prod___ATopClassdef___replace_child(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATopClassdef___replace_child, LOCATE_parser_prod, 973); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATopClassdef___replace_child, LOCATE_parser_prod, 983); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -2172,7 +2189,7 @@ void parser_prod___ATopClassdef___replace_child(val_t  self, val_t  param0, val_
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATopClassdef___replace_child, LOCATE_parser_prod, 977); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATopClassdef___replace_child, LOCATE_parser_prod, 987); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -2191,7 +2208,7 @@ void parser_prod___ATopClassdef___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ATopClassdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 988, LOCATE_parser_prod___ATopClassdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 998, LOCATE_parser_prod___ATopClassdef___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -2213,7 +2230,7 @@ void parser_prod___ATopClassdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATopClassdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 995, LOCATE_parser_prod___ATopClassdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1005, LOCATE_parser_prod___ATopClassdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2238,7 +2255,7 @@ void parser_prod___ATopClassdef___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AMainClassdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1008, LOCATE_parser_prod___AMainClassdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 1018, LOCATE_parser_prod___AMainClassdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i]) return;
@@ -2247,7 +2264,7 @@ void parser_prod___AMainClassdef___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AMainClassdef___init_amainclassdef(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1010, LOCATE_parser_prod___AMainClassdef___init_amainclassdef};
+  struct trace_t trace = {NULL, NULL, 1020, LOCATE_parser_prod___AMainClassdef___init_amainclassdef};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -2256,7 +2273,8 @@ void parser_prod___AMainClassdef___init_amainclassdef(val_t  self, val_t  param0
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[E]*/
+  ((parser_prod___AMainClassdef___empty_init_t)CALL( self,COLOR_parser_prod___AMainClassdef___empty_init))( self, init_table /*YYY*/) /*AMainClassdef::empty_init*/;
+  variable1 = NEW_List_list___List___init(); /*new List[PPropdef]*/
   ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/ = variable1;
   variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_propdefs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -2264,7 +2282,7 @@ void parser_prod___AMainClassdef___init_amainclassdef(val_t  self, val_t  param0
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainClassdef___init_amainclassdef, LOCATE_parser_prod, 1016); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainClassdef___init_amainclassdef, LOCATE_parser_prod, 1027); nit_exit(1);}
     variable3 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable2 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*PNode::parent=*/;
@@ -2277,7 +2295,7 @@ void parser_prod___AMainClassdef___init_amainclassdef(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AMainClassdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1022, LOCATE_parser_prod___AMainClassdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 1033, LOCATE_parser_prod___AMainClassdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2288,10 +2306,10 @@ void parser_prod___AMainClassdef___replace_child(val_t  self, val_t  param0, val
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainClassdef___replace_child, LOCATE_parser_prod, 1024); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainClassdef___replace_child, LOCATE_parser_prod, 1035); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -2305,7 +2323,7 @@ void parser_prod___AMainClassdef___replace_child(val_t  self, val_t  param0, val
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainClassdef___replace_child, LOCATE_parser_prod, 1028); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainClassdef___replace_child, LOCATE_parser_prod, 1039); nit_exit(1);}
         variable4 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -2324,7 +2342,7 @@ void parser_prod___AMainClassdef___replace_child(val_t  self, val_t  param0, val
   return;
 }
 void parser_prod___AMainClassdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1039, LOCATE_parser_prod___AMainClassdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 1050, LOCATE_parser_prod___AMainClassdef___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -2346,7 +2364,7 @@ void parser_prod___AMainClassdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMainClassdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1046, LOCATE_parser_prod___AMainClassdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1057, LOCATE_parser_prod___AMainClassdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2371,7 +2389,7 @@ void parser_prod___AMainClassdef___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AConcreteClasskind___n_kwclass__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1058, LOCATE_parser_prod___AConcreteClasskind___n_kwclass__eq};
+  struct trace_t trace = {NULL, NULL, 1069, LOCATE_parser_prod___AConcreteClasskind___n_kwclass__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2386,7 +2404,7 @@ void parser_prod___AConcreteClasskind___n_kwclass__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AConcreteClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1066, LOCATE_parser_prod___AConcreteClasskind___empty_init};
+  struct trace_t trace = {NULL, NULL, 1077, LOCATE_parser_prod___AConcreteClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i]) return;
@@ -2395,13 +2413,14 @@ void parser_prod___AConcreteClasskind___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___AConcreteClasskind___init_aconcreteclasskind(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1068, LOCATE_parser_prod___AConcreteClasskind___init_aconcreteclasskind};
+  struct trace_t trace = {NULL, NULL, 1079, LOCATE_parser_prod___AConcreteClasskind___init_aconcreteclasskind};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i]) return;
+  ((parser_prod___AConcreteClasskind___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteClasskind___empty_init))( self, init_table /*YYY*/) /*AConcreteClasskind::empty_init*/;
   ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ =  variable0 /*n_kwclass*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwclass*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwclass*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwclass*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwclass*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwclass*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwclass*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -2412,7 +2431,7 @@ void parser_prod___AConcreteClasskind___init_aconcreteclasskind(val_t  self, val
   return;
 }
 void parser_prod___AConcreteClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1078, LOCATE_parser_prod___AConcreteClasskind___replace_child};
+  struct trace_t trace = {NULL, NULL, 1090, LOCATE_parser_prod___AConcreteClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2421,7 +2440,7 @@ void parser_prod___AConcreteClasskind___replace_child(val_t  self, val_t  param0
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteClasskind___replace_child, LOCATE_parser_prod, 1080); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteClasskind___replace_child, LOCATE_parser_prod, 1092); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -2429,7 +2448,7 @@ void parser_prod___AConcreteClasskind___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteClasskind___replace_child, LOCATE_parser_prod, 1084); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteClasskind___replace_child, LOCATE_parser_prod, 1096); nit_exit(1);}
       ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ =  NIT_NULL /*null*/;
@@ -2441,7 +2460,7 @@ void parser_prod___AConcreteClasskind___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AConcreteClasskind___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1093, LOCATE_parser_prod___AConcreteClasskind___visit_all};
+  struct trace_t trace = {NULL, NULL, 1105, LOCATE_parser_prod___AConcreteClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2457,7 +2476,7 @@ void parser_prod___AConcreteClasskind___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AConcreteClasskind___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1100, LOCATE_parser_prod___AConcreteClasskind___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1112, LOCATE_parser_prod___AConcreteClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2473,7 +2492,7 @@ void parser_prod___AConcreteClasskind___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AAbstractClasskind___n_kwabstract__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1108, LOCATE_parser_prod___AAbstractClasskind___n_kwabstract__eq};
+  struct trace_t trace = {NULL, NULL, 1120, LOCATE_parser_prod___AAbstractClasskind___n_kwabstract__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2488,7 +2507,7 @@ void parser_prod___AAbstractClasskind___n_kwabstract__eq(val_t  self, val_t  par
   return;
 }
 void parser_prod___AAbstractClasskind___n_kwclass__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1115, LOCATE_parser_prod___AAbstractClasskind___n_kwclass__eq};
+  struct trace_t trace = {NULL, NULL, 1127, LOCATE_parser_prod___AAbstractClasskind___n_kwclass__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2503,7 +2522,7 @@ void parser_prod___AAbstractClasskind___n_kwclass__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AAbstractClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1123, LOCATE_parser_prod___AAbstractClasskind___empty_init};
+  struct trace_t trace = {NULL, NULL, 1135, LOCATE_parser_prod___AAbstractClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i]) return;
@@ -2512,7 +2531,7 @@ void parser_prod___AAbstractClasskind___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1125, LOCATE_parser_prod___AAbstractClasskind___init_aabstractclasskind};
+  struct trace_t trace = {NULL, NULL, 1137, LOCATE_parser_prod___AAbstractClasskind___init_aabstractclasskind};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2521,6 +2540,7 @@ void parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t  self, val
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i]) return;
+  ((parser_prod___AAbstractClasskind___empty_init_t)CALL( self,COLOR_parser_prod___AAbstractClasskind___empty_init))( self, init_table /*YYY*/) /*AAbstractClasskind::empty_init*/;
   ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ =  variable0 /*n_kwabstract*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwabstract*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwabstract*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwabstract*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwabstract*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwabstract*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwabstract*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -2536,7 +2556,7 @@ void parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t  self, val
   return;
 }
 void parser_prod___AAbstractClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1140, LOCATE_parser_prod___AAbstractClasskind___replace_child};
+  struct trace_t trace = {NULL, NULL, 1153, LOCATE_parser_prod___AAbstractClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2545,7 +2565,7 @@ void parser_prod___AAbstractClasskind___replace_child(val_t  self, val_t  param0
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbstractClasskind___replace_child, LOCATE_parser_prod, 1142); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbstractClasskind___replace_child, LOCATE_parser_prod, 1155); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -2553,7 +2573,7 @@ void parser_prod___AAbstractClasskind___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwabstract, ID_TKwabstract)) /*cast TKwabstract*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbstractClasskind___replace_child, LOCATE_parser_prod, 1146); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbstractClasskind___replace_child, LOCATE_parser_prod, 1159); nit_exit(1);}
       ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ =  NIT_NULL /*null*/;
@@ -2567,7 +2587,7 @@ void parser_prod___AAbstractClasskind___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbstractClasskind___replace_child, LOCATE_parser_prod, 1156); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbstractClasskind___replace_child, LOCATE_parser_prod, 1169); nit_exit(1);}
       ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ =  NIT_NULL /*null*/;
@@ -2579,7 +2599,7 @@ void parser_prod___AAbstractClasskind___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AAbstractClasskind___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1165, LOCATE_parser_prod___AAbstractClasskind___visit_all};
+  struct trace_t trace = {NULL, NULL, 1178, LOCATE_parser_prod___AAbstractClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2601,7 +2621,7 @@ void parser_prod___AAbstractClasskind___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAbstractClasskind___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1175, LOCATE_parser_prod___AAbstractClasskind___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1188, LOCATE_parser_prod___AAbstractClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2623,7 +2643,7 @@ void parser_prod___AAbstractClasskind___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AInterfaceClasskind___n_kwinterface__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1186, LOCATE_parser_prod___AInterfaceClasskind___n_kwinterface__eq};
+  struct trace_t trace = {NULL, NULL, 1199, LOCATE_parser_prod___AInterfaceClasskind___n_kwinterface__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2638,7 +2658,7 @@ void parser_prod___AInterfaceClasskind___n_kwinterface__eq(val_t  self, val_t  p
   return;
 }
 void parser_prod___AInterfaceClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1194, LOCATE_parser_prod___AInterfaceClasskind___empty_init};
+  struct trace_t trace = {NULL, NULL, 1207, LOCATE_parser_prod___AInterfaceClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i]) return;
@@ -2647,13 +2667,14 @@ void parser_prod___AInterfaceClasskind___empty_init(val_t  self, int* init_table
   return;
 }
 void parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1196, LOCATE_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind};
+  struct trace_t trace = {NULL, NULL, 1209, LOCATE_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i]) return;
+  ((parser_prod___AInterfaceClasskind___empty_init_t)CALL( self,COLOR_parser_prod___AInterfaceClasskind___empty_init))( self, init_table /*YYY*/) /*AInterfaceClasskind::empty_init*/;
   ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ =  variable0 /*n_kwinterface*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwinterface*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwinterface*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwinterface*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwinterface*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwinterface*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwinterface*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -2664,7 +2685,7 @@ void parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t  self, v
   return;
 }
 void parser_prod___AInterfaceClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1206, LOCATE_parser_prod___AInterfaceClasskind___replace_child};
+  struct trace_t trace = {NULL, NULL, 1220, LOCATE_parser_prod___AInterfaceClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2673,7 +2694,7 @@ void parser_prod___AInterfaceClasskind___replace_child(val_t  self, val_t  param
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInterfaceClasskind___replace_child, LOCATE_parser_prod, 1208); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInterfaceClasskind___replace_child, LOCATE_parser_prod, 1222); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -2681,7 +2702,7 @@ void parser_prod___AInterfaceClasskind___replace_child(val_t  self, val_t  param
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwinterface, ID_TKwinterface)) /*cast TKwinterface*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInterfaceClasskind___replace_child, LOCATE_parser_prod, 1212); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInterfaceClasskind___replace_child, LOCATE_parser_prod, 1226); nit_exit(1);}
       ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ =  NIT_NULL /*null*/;
@@ -2693,7 +2714,7 @@ void parser_prod___AInterfaceClasskind___replace_child(val_t  self, val_t  param
   return;
 }
 void parser_prod___AInterfaceClasskind___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1221, LOCATE_parser_prod___AInterfaceClasskind___visit_all};
+  struct trace_t trace = {NULL, NULL, 1235, LOCATE_parser_prod___AInterfaceClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2709,7 +2730,7 @@ void parser_prod___AInterfaceClasskind___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInterfaceClasskind___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1228, LOCATE_parser_prod___AInterfaceClasskind___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1242, LOCATE_parser_prod___AInterfaceClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2725,7 +2746,7 @@ void parser_prod___AInterfaceClasskind___visit_all_reverse(val_t  self, val_t  p
   return;
 }
 void parser_prod___AUniversalClasskind___n_kwuniversal__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1236, LOCATE_parser_prod___AUniversalClasskind___n_kwuniversal__eq};
+  struct trace_t trace = {NULL, NULL, 1250, LOCATE_parser_prod___AUniversalClasskind___n_kwuniversal__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2740,7 +2761,7 @@ void parser_prod___AUniversalClasskind___n_kwuniversal__eq(val_t  self, val_t  p
   return;
 }
 void parser_prod___AUniversalClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1244, LOCATE_parser_prod___AUniversalClasskind___empty_init};
+  struct trace_t trace = {NULL, NULL, 1258, LOCATE_parser_prod___AUniversalClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i]) return;
@@ -2749,13 +2770,14 @@ void parser_prod___AUniversalClasskind___empty_init(val_t  self, int* init_table
   return;
 }
 void parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1246, LOCATE_parser_prod___AUniversalClasskind___init_auniversalclasskind};
+  struct trace_t trace = {NULL, NULL, 1260, LOCATE_parser_prod___AUniversalClasskind___init_auniversalclasskind};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i]) return;
+  ((parser_prod___AUniversalClasskind___empty_init_t)CALL( self,COLOR_parser_prod___AUniversalClasskind___empty_init))( self, init_table /*YYY*/) /*AUniversalClasskind::empty_init*/;
   ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ =  variable0 /*n_kwuniversal*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwuniversal*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwuniversal*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwuniversal*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwuniversal*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwuniversal*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwuniversal*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -2766,7 +2788,7 @@ void parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t  self, v
   return;
 }
 void parser_prod___AUniversalClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1256, LOCATE_parser_prod___AUniversalClasskind___replace_child};
+  struct trace_t trace = {NULL, NULL, 1271, LOCATE_parser_prod___AUniversalClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2775,7 +2797,7 @@ void parser_prod___AUniversalClasskind___replace_child(val_t  self, val_t  param
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUniversalClasskind___replace_child, LOCATE_parser_prod, 1258); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUniversalClasskind___replace_child, LOCATE_parser_prod, 1273); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -2783,7 +2805,7 @@ void parser_prod___AUniversalClasskind___replace_child(val_t  self, val_t  param
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwuniversal, ID_TKwuniversal)) /*cast TKwuniversal*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUniversalClasskind___replace_child, LOCATE_parser_prod, 1262); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUniversalClasskind___replace_child, LOCATE_parser_prod, 1277); nit_exit(1);}
       ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ =  NIT_NULL /*null*/;
@@ -2795,7 +2817,7 @@ void parser_prod___AUniversalClasskind___replace_child(val_t  self, val_t  param
   return;
 }
 void parser_prod___AUniversalClasskind___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1271, LOCATE_parser_prod___AUniversalClasskind___visit_all};
+  struct trace_t trace = {NULL, NULL, 1286, LOCATE_parser_prod___AUniversalClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2811,7 +2833,7 @@ void parser_prod___AUniversalClasskind___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AUniversalClasskind___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1278, LOCATE_parser_prod___AUniversalClasskind___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1293, LOCATE_parser_prod___AUniversalClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2827,7 +2849,7 @@ void parser_prod___AUniversalClasskind___visit_all_reverse(val_t  self, val_t  p
   return;
 }
 void parser_prod___AFormaldef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1286, LOCATE_parser_prod___AFormaldef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 1301, LOCATE_parser_prod___AFormaldef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2842,7 +2864,7 @@ void parser_prod___AFormaldef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFormaldef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1293, LOCATE_parser_prod___AFormaldef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 1308, LOCATE_parser_prod___AFormaldef___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2857,7 +2879,7 @@ void parser_prod___AFormaldef___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFormaldef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1301, LOCATE_parser_prod___AFormaldef___empty_init};
+  struct trace_t trace = {NULL, NULL, 1316, LOCATE_parser_prod___AFormaldef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i]) return;
@@ -2866,7 +2888,7 @@ void parser_prod___AFormaldef___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AFormaldef___init_aformaldef(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1303, LOCATE_parser_prod___AFormaldef___init_aformaldef};
+  struct trace_t trace = {NULL, NULL, 1318, LOCATE_parser_prod___AFormaldef___init_aformaldef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2875,6 +2897,7 @@ void parser_prod___AFormaldef___init_aformaldef(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i]) return;
+  ((parser_prod___AFormaldef___empty_init_t)CALL( self,COLOR_parser_prod___AFormaldef___empty_init))( self, init_table /*YYY*/) /*AFormaldef::empty_init*/;
   ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ =  variable0 /*n_id*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -2890,7 +2913,7 @@ void parser_prod___AFormaldef___init_aformaldef(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AFormaldef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1318, LOCATE_parser_prod___AFormaldef___replace_child};
+  struct trace_t trace = {NULL, NULL, 1334, LOCATE_parser_prod___AFormaldef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2899,7 +2922,7 @@ void parser_prod___AFormaldef___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFormaldef___replace_child, LOCATE_parser_prod, 1320); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFormaldef___replace_child, LOCATE_parser_prod, 1336); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -2907,7 +2930,7 @@ void parser_prod___AFormaldef___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFormaldef___replace_child, LOCATE_parser_prod, 1324); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFormaldef___replace_child, LOCATE_parser_prod, 1340); nit_exit(1);}
       ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ =  NIT_NULL /*null*/;
@@ -2921,7 +2944,7 @@ void parser_prod___AFormaldef___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFormaldef___replace_child, LOCATE_parser_prod, 1334); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFormaldef___replace_child, LOCATE_parser_prod, 1350); nit_exit(1);}
       ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ =  NIT_NULL /*null*/;
@@ -2933,7 +2956,7 @@ void parser_prod___AFormaldef___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AFormaldef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1343, LOCATE_parser_prod___AFormaldef___visit_all};
+  struct trace_t trace = {NULL, NULL, 1359, LOCATE_parser_prod___AFormaldef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2955,7 +2978,7 @@ void parser_prod___AFormaldef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFormaldef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1353, LOCATE_parser_prod___AFormaldef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1369, LOCATE_parser_prod___AFormaldef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2977,7 +3000,7 @@ void parser_prod___AFormaldef___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperclass___n_kwspecial__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1364, LOCATE_parser_prod___ASuperclass___n_kwspecial__eq};
+  struct trace_t trace = {NULL, NULL, 1380, LOCATE_parser_prod___ASuperclass___n_kwspecial__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2992,7 +3015,7 @@ void parser_prod___ASuperclass___n_kwspecial__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperclass___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1371, LOCATE_parser_prod___ASuperclass___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 1387, LOCATE_parser_prod___ASuperclass___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3007,7 +3030,7 @@ void parser_prod___ASuperclass___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperclass___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1379, LOCATE_parser_prod___ASuperclass___empty_init};
+  struct trace_t trace = {NULL, NULL, 1395, LOCATE_parser_prod___ASuperclass___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i]) return;
@@ -3016,7 +3039,7 @@ void parser_prod___ASuperclass___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ASuperclass___init_asuperclass(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1381, LOCATE_parser_prod___ASuperclass___init_asuperclass};
+  struct trace_t trace = {NULL, NULL, 1397, LOCATE_parser_prod___ASuperclass___init_asuperclass};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3025,6 +3048,7 @@ void parser_prod___ASuperclass___init_asuperclass(val_t  self, val_t  param0, va
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i]) return;
+  ((parser_prod___ASuperclass___empty_init_t)CALL( self,COLOR_parser_prod___ASuperclass___empty_init))( self, init_table /*YYY*/) /*ASuperclass::empty_init*/;
   ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ =  variable0 /*n_kwspecial*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwspecial*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwspecial*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwspecial*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwspecial*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwspecial*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwspecial*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -3040,7 +3064,7 @@ void parser_prod___ASuperclass___init_asuperclass(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___ASuperclass___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1396, LOCATE_parser_prod___ASuperclass___replace_child};
+  struct trace_t trace = {NULL, NULL, 1413, LOCATE_parser_prod___ASuperclass___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3049,7 +3073,7 @@ void parser_prod___ASuperclass___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperclass___replace_child, LOCATE_parser_prod, 1398); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperclass___replace_child, LOCATE_parser_prod, 1415); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -3057,7 +3081,7 @@ void parser_prod___ASuperclass___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwspecial, ID_TKwspecial)) /*cast TKwspecial*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperclass___replace_child, LOCATE_parser_prod, 1402); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperclass___replace_child, LOCATE_parser_prod, 1419); nit_exit(1);}
       ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ =  NIT_NULL /*null*/;
@@ -3071,7 +3095,7 @@ void parser_prod___ASuperclass___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperclass___replace_child, LOCATE_parser_prod, 1412); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperclass___replace_child, LOCATE_parser_prod, 1429); nit_exit(1);}
       ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ =  NIT_NULL /*null*/;
@@ -3083,7 +3107,7 @@ void parser_prod___ASuperclass___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASuperclass___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1421, LOCATE_parser_prod___ASuperclass___visit_all};
+  struct trace_t trace = {NULL, NULL, 1438, LOCATE_parser_prod___ASuperclass___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3105,7 +3129,7 @@ void parser_prod___ASuperclass___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperclass___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1431, LOCATE_parser_prod___ASuperclass___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1448, LOCATE_parser_prod___ASuperclass___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3127,7 +3151,7 @@ void parser_prod___ASuperclass___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1442, LOCATE_parser_prod___AAttrPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 1459, LOCATE_parser_prod___AAttrPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3142,7 +3166,7 @@ void parser_prod___AAttrPropdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_readable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1449, LOCATE_parser_prod___AAttrPropdef___n_readable__eq};
+  struct trace_t trace = {NULL, NULL, 1466, LOCATE_parser_prod___AAttrPropdef___n_readable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3157,7 +3181,7 @@ void parser_prod___AAttrPropdef___n_readable__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_writable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1456, LOCATE_parser_prod___AAttrPropdef___n_writable__eq};
+  struct trace_t trace = {NULL, NULL, 1473, LOCATE_parser_prod___AAttrPropdef___n_writable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3172,7 +3196,7 @@ void parser_prod___AAttrPropdef___n_writable__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1463, LOCATE_parser_prod___AAttrPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 1480, LOCATE_parser_prod___AAttrPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3187,7 +3211,7 @@ void parser_prod___AAttrPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1470, LOCATE_parser_prod___AAttrPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 1487, LOCATE_parser_prod___AAttrPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3202,7 +3226,7 @@ void parser_prod___AAttrPropdef___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_kwattr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1477, LOCATE_parser_prod___AAttrPropdef___n_kwattr__eq};
+  struct trace_t trace = {NULL, NULL, 1494, LOCATE_parser_prod___AAttrPropdef___n_kwattr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3217,7 +3241,7 @@ void parser_prod___AAttrPropdef___n_kwattr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1484, LOCATE_parser_prod___AAttrPropdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 1501, LOCATE_parser_prod___AAttrPropdef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3232,7 +3256,7 @@ void parser_prod___AAttrPropdef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1491, LOCATE_parser_prod___AAttrPropdef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 1508, LOCATE_parser_prod___AAttrPropdef___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3247,7 +3271,7 @@ void parser_prod___AAttrPropdef___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1498, LOCATE_parser_prod___AAttrPropdef___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 1515, LOCATE_parser_prod___AAttrPropdef___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3262,7 +3286,7 @@ void parser_prod___AAttrPropdef___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1506, LOCATE_parser_prod___AAttrPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 1523, LOCATE_parser_prod___AAttrPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i]) return;
@@ -3271,7 +3295,7 @@ void parser_prod___AAttrPropdef___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AAttrPropdef___init_aattrpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, val_t  param6, val_t  param7, val_t  param8, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1508, LOCATE_parser_prod___AAttrPropdef___init_aattrpropdef};
+  struct trace_t trace = {NULL, NULL, 1525, LOCATE_parser_prod___AAttrPropdef___init_aattrpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3294,6 +3318,7 @@ void parser_prod___AAttrPropdef___init_aattrpropdef(val_t  self, val_t  param0,
   variable7 =  param7;
   variable8 =  param8;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i]) return;
+  ((parser_prod___AAttrPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AAttrPropdef___empty_init))( self, init_table /*YYY*/) /*AAttrPropdef::empty_init*/;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n_doc*/;
   variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
@@ -3344,7 +3369,7 @@ void parser_prod___AAttrPropdef___init_aattrpropdef(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1558, LOCATE_parser_prod___AAttrPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 1576, LOCATE_parser_prod___AAttrPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3353,7 +3378,7 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1560); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1578); nit_exit(1);}
   variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -3361,7 +3386,7 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1564); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1582); nit_exit(1);}
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
@@ -3375,7 +3400,7 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAble, ID_PAble)) /*cast PAble*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1574); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1592); nit_exit(1);}
       ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ =  NIT_NULL /*null*/;
@@ -3389,7 +3414,7 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAble, ID_PAble)) /*cast PAble*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1584); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1602); nit_exit(1);}
       ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ =  NIT_NULL /*null*/;
@@ -3403,7 +3428,7 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1594); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1612); nit_exit(1);}
       ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -3417,7 +3442,7 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1604); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1622); nit_exit(1);}
       ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
@@ -3431,7 +3456,7 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1614); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1632); nit_exit(1);}
       ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ =  NIT_NULL /*null*/;
@@ -3445,7 +3470,7 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1624); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1642); nit_exit(1);}
       ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ =  NIT_NULL /*null*/;
@@ -3459,7 +3484,7 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1634); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1652); nit_exit(1);}
       ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ =  NIT_NULL /*null*/;
@@ -3473,7 +3498,7 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1644); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1662); nit_exit(1);}
       ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ =  NIT_NULL /*null*/;
@@ -3485,7 +3510,7 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AAttrPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1653, LOCATE_parser_prod___AAttrPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 1671, LOCATE_parser_prod___AAttrPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3549,7 +3574,7 @@ void parser_prod___AAttrPropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1684, LOCATE_parser_prod___AAttrPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1702, LOCATE_parser_prod___AAttrPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3613,7 +3638,7 @@ void parser_prod___AAttrPropdef___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1716, LOCATE_parser_prod___AMethPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 1734, LOCATE_parser_prod___AMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3628,7 +3653,7 @@ void parser_prod___AMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1723, LOCATE_parser_prod___AMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 1741, LOCATE_parser_prod___AMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3643,7 +3668,7 @@ void parser_prod___AMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1730, LOCATE_parser_prod___AMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 1748, LOCATE_parser_prod___AMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3658,7 +3683,7 @@ void parser_prod___AMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1737, LOCATE_parser_prod___AMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 1755, LOCATE_parser_prod___AMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3673,7 +3698,7 @@ void parser_prod___AMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1744, LOCATE_parser_prod___AMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 1762, LOCATE_parser_prod___AMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3688,7 +3713,7 @@ void parser_prod___AMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1752, LOCATE_parser_prod___AMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 1770, LOCATE_parser_prod___AMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i]) return;
@@ -3697,7 +3722,7 @@ void parser_prod___AMethPropdef___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AMethPropdef___init_amethpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1754, LOCATE_parser_prod___AMethPropdef___init_amethpropdef};
+  struct trace_t trace = {NULL, NULL, 1772, LOCATE_parser_prod___AMethPropdef___init_amethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3712,6 +3737,7 @@ void parser_prod___AMethPropdef___init_amethpropdef(val_t  self, val_t  param0,
   variable3 =  param3;
   variable4 =  param4;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i]) return;
+  ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n_doc*/;
   variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
@@ -3742,7 +3768,7 @@ void parser_prod___AMethPropdef___init_amethpropdef(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1784, LOCATE_parser_prod___AMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 1803, LOCATE_parser_prod___AMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3751,7 +3777,7 @@ void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1786); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1805); nit_exit(1);}
   variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -3759,7 +3785,7 @@ void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1790); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1809); nit_exit(1);}
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
@@ -3773,7 +3799,7 @@ void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1800); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1819); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -3787,7 +3813,7 @@ void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1810); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1829); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
@@ -3801,7 +3827,7 @@ void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1820); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1839); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
@@ -3815,7 +3841,7 @@ void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1830); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1849); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
@@ -3827,7 +3853,7 @@ void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1839, LOCATE_parser_prod___AMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 1858, LOCATE_parser_prod___AMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3867,7 +3893,7 @@ void parser_prod___AMethPropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1858, LOCATE_parser_prod___AMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1877, LOCATE_parser_prod___AMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3907,7 +3933,7 @@ void parser_prod___AMethPropdef___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1878, LOCATE_parser_prod___ADeferredMethPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 1897, LOCATE_parser_prod___ADeferredMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3922,7 +3948,7 @@ void parser_prod___ADeferredMethPropdef___n_doc__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1885, LOCATE_parser_prod___ADeferredMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 1904, LOCATE_parser_prod___ADeferredMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3937,7 +3963,7 @@ void parser_prod___ADeferredMethPropdef___n_kwredef__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1892, LOCATE_parser_prod___ADeferredMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 1911, LOCATE_parser_prod___ADeferredMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3952,7 +3978,7 @@ void parser_prod___ADeferredMethPropdef___n_visibility__eq(val_t  self, val_t  p
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1899, LOCATE_parser_prod___ADeferredMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 1918, LOCATE_parser_prod___ADeferredMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3967,7 +3993,7 @@ void parser_prod___ADeferredMethPropdef___n_kwmeth__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1906, LOCATE_parser_prod___ADeferredMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 1925, LOCATE_parser_prod___ADeferredMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3982,7 +4008,7 @@ void parser_prod___ADeferredMethPropdef___n_methid__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1913, LOCATE_parser_prod___ADeferredMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 1932, LOCATE_parser_prod___ADeferredMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3997,7 +4023,7 @@ void parser_prod___ADeferredMethPropdef___n_signature__eq(val_t  self, val_t  pa
   return;
 }
 void parser_prod___ADeferredMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1921, LOCATE_parser_prod___ADeferredMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 1940, LOCATE_parser_prod___ADeferredMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i]) return;
@@ -4007,7 +4033,7 @@ void parser_prod___ADeferredMethPropdef___empty_init(val_t  self, int* init_tabl
   return;
 }
 void parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1923, LOCATE_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef};
+  struct trace_t trace = {NULL, NULL, 1942, LOCATE_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4024,7 +4050,7 @@ void parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t  self,
   variable4 =  param4;
   variable5 =  param5;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i]) return;
-  ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
+  ((parser_prod___ADeferredMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___ADeferredMethPropdef___empty_init))( self, init_table /*YYY*/) /*ADeferredMethPropdef::empty_init*/;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n_doc*/;
   variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
@@ -4060,7 +4086,7 @@ void parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t  self,
   return;
 }
 void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 1958, LOCATE_parser_prod___ADeferredMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 1978, LOCATE_parser_prod___ADeferredMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4069,7 +4095,7 @@ void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 1960); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 1980); nit_exit(1);}
   variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -4077,7 +4103,7 @@ void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 1964); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 1984); nit_exit(1);}
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
@@ -4091,7 +4117,7 @@ void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 1974); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 1994); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -4105,7 +4131,7 @@ void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 1984); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 2004); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
@@ -4119,7 +4145,7 @@ void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 1994); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 2014); nit_exit(1);}
       ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ =  NIT_NULL /*null*/;
@@ -4133,7 +4159,7 @@ void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 2004); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 2024); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
@@ -4147,7 +4173,7 @@ void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 2014); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 2034); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
@@ -4159,7 +4185,7 @@ void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  para
   return;
 }
 void parser_prod___ADeferredMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2023, LOCATE_parser_prod___ADeferredMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2043, LOCATE_parser_prod___ADeferredMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4205,7 +4231,7 @@ void parser_prod___ADeferredMethPropdef___visit_all(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___ADeferredMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2045, LOCATE_parser_prod___ADeferredMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 2065, LOCATE_parser_prod___ADeferredMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4251,7 +4277,7 @@ void parser_prod___ADeferredMethPropdef___visit_all_reverse(val_t  self, val_t
   return;
 }
 void parser_prod___AInternMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2068, LOCATE_parser_prod___AInternMethPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 2088, LOCATE_parser_prod___AInternMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4266,7 +4292,7 @@ void parser_prod___AInternMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInternMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2075, LOCATE_parser_prod___AInternMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 2095, LOCATE_parser_prod___AInternMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4281,7 +4307,7 @@ void parser_prod___AInternMethPropdef___n_kwredef__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AInternMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2082, LOCATE_parser_prod___AInternMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 2102, LOCATE_parser_prod___AInternMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4296,7 +4322,7 @@ void parser_prod___AInternMethPropdef___n_visibility__eq(val_t  self, val_t  par
   return;
 }
 void parser_prod___AInternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2089, LOCATE_parser_prod___AInternMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 2109, LOCATE_parser_prod___AInternMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4311,7 +4337,7 @@ void parser_prod___AInternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AInternMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2096, LOCATE_parser_prod___AInternMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 2116, LOCATE_parser_prod___AInternMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4326,7 +4352,7 @@ void parser_prod___AInternMethPropdef___n_methid__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AInternMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2103, LOCATE_parser_prod___AInternMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 2123, LOCATE_parser_prod___AInternMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4341,7 +4367,7 @@ void parser_prod___AInternMethPropdef___n_signature__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___AInternMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 2111, LOCATE_parser_prod___AInternMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 2131, LOCATE_parser_prod___AInternMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i]) return;
@@ -4351,7 +4377,7 @@ void parser_prod___AInternMethPropdef___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 2113, LOCATE_parser_prod___AInternMethPropdef___init_ainternmethpropdef};
+  struct trace_t trace = {NULL, NULL, 2133, LOCATE_parser_prod___AInternMethPropdef___init_ainternmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4368,7 +4394,7 @@ void parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t  self, val
   variable4 =  param4;
   variable5 =  param5;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i]) return;
-  ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
+  ((parser_prod___AInternMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AInternMethPropdef___empty_init))( self, init_table /*YYY*/) /*AInternMethPropdef::empty_init*/;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n_doc*/;
   variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
@@ -4404,7 +4430,7 @@ void parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t  self, val
   return;
 }
 void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 2148, LOCATE_parser_prod___AInternMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 2169, LOCATE_parser_prod___AInternMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4413,7 +4439,7 @@ void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2150); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2171); nit_exit(1);}
   variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -4421,7 +4447,7 @@ void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2154); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2175); nit_exit(1);}
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
@@ -4435,7 +4461,7 @@ void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2164); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2185); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -4449,7 +4475,7 @@ void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2174); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2195); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
@@ -4463,7 +4489,7 @@ void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2184); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2205); nit_exit(1);}
       ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ =  NIT_NULL /*null*/;
@@ -4477,7 +4503,7 @@ void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2194); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2215); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
@@ -4491,7 +4517,7 @@ void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2204); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2225); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
@@ -4503,7 +4529,7 @@ void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AInternMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2213, LOCATE_parser_prod___AInternMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2234, LOCATE_parser_prod___AInternMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4549,7 +4575,7 @@ void parser_prod___AInternMethPropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInternMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2235, LOCATE_parser_prod___AInternMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 2256, LOCATE_parser_prod___AInternMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4595,7 +4621,7 @@ void parser_prod___AInternMethPropdef___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AExternMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2258, LOCATE_parser_prod___AExternMethPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 2279, LOCATE_parser_prod___AExternMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4610,7 +4636,7 @@ void parser_prod___AExternMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AExternMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2265, LOCATE_parser_prod___AExternMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 2286, LOCATE_parser_prod___AExternMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4625,7 +4651,7 @@ void parser_prod___AExternMethPropdef___n_kwredef__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AExternMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2272, LOCATE_parser_prod___AExternMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 2293, LOCATE_parser_prod___AExternMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4640,7 +4666,7 @@ void parser_prod___AExternMethPropdef___n_visibility__eq(val_t  self, val_t  par
   return;
 }
 void parser_prod___AExternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2279, LOCATE_parser_prod___AExternMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 2300, LOCATE_parser_prod___AExternMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4655,7 +4681,7 @@ void parser_prod___AExternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AExternMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2286, LOCATE_parser_prod___AExternMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 2307, LOCATE_parser_prod___AExternMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4670,7 +4696,7 @@ void parser_prod___AExternMethPropdef___n_methid__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AExternMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2293, LOCATE_parser_prod___AExternMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 2314, LOCATE_parser_prod___AExternMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4685,7 +4711,7 @@ void parser_prod___AExternMethPropdef___n_signature__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___AExternMethPropdef___n_extern__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2300, LOCATE_parser_prod___AExternMethPropdef___n_extern__eq};
+  struct trace_t trace = {NULL, NULL, 2321, LOCATE_parser_prod___AExternMethPropdef___n_extern__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4700,7 +4726,7 @@ void parser_prod___AExternMethPropdef___n_extern__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AExternMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 2308, LOCATE_parser_prod___AExternMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 2329, LOCATE_parser_prod___AExternMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i]) return;
@@ -4710,7 +4736,7 @@ void parser_prod___AExternMethPropdef___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, val_t  param6, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 2310, LOCATE_parser_prod___AExternMethPropdef___init_aexternmethpropdef};
+  struct trace_t trace = {NULL, NULL, 2331, LOCATE_parser_prod___AExternMethPropdef___init_aexternmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4729,7 +4755,7 @@ void parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t  self, val
   variable5 =  param5;
   variable6 =  param6;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i]) return;
-  ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
+  ((parser_prod___AExternMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AExternMethPropdef___empty_init))( self, init_table /*YYY*/) /*AExternMethPropdef::empty_init*/;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n_doc*/;
   variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
@@ -4770,7 +4796,7 @@ void parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t  self, val
   return;
 }
 void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 2350, LOCATE_parser_prod___AExternMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 2372, LOCATE_parser_prod___AExternMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4779,7 +4805,7 @@ void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2352); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2374); nit_exit(1);}
   variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -4787,7 +4813,7 @@ void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2356); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2378); nit_exit(1);}
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
@@ -4801,7 +4827,7 @@ void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2366); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2388); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -4815,7 +4841,7 @@ void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2376); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2398); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
@@ -4829,7 +4855,7 @@ void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2386); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2408); nit_exit(1);}
       ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ =  NIT_NULL /*null*/;
@@ -4843,7 +4869,7 @@ void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2396); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2418); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
@@ -4857,7 +4883,7 @@ void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2406); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2428); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
@@ -4871,7 +4897,7 @@ void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TString, ID_TString)) /*cast TString*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2416); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2438); nit_exit(1);}
       ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ =  NIT_NULL /*null*/;
@@ -4883,7 +4909,7 @@ void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AExternMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2425, LOCATE_parser_prod___AExternMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2447, LOCATE_parser_prod___AExternMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4935,7 +4961,7 @@ void parser_prod___AExternMethPropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AExternMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2450, LOCATE_parser_prod___AExternMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 2472, LOCATE_parser_prod___AExternMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -4987,7 +5013,7 @@ void parser_prod___AExternMethPropdef___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2476, LOCATE_parser_prod___AConcreteMethPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 2498, LOCATE_parser_prod___AConcreteMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5002,7 +5028,7 @@ void parser_prod___AConcreteMethPropdef___n_doc__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2483, LOCATE_parser_prod___AConcreteMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 2505, LOCATE_parser_prod___AConcreteMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5017,7 +5043,7 @@ void parser_prod___AConcreteMethPropdef___n_kwredef__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2490, LOCATE_parser_prod___AConcreteMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 2512, LOCATE_parser_prod___AConcreteMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5032,7 +5058,7 @@ void parser_prod___AConcreteMethPropdef___n_visibility__eq(val_t  self, val_t  p
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2497, LOCATE_parser_prod___AConcreteMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 2519, LOCATE_parser_prod___AConcreteMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5047,7 +5073,7 @@ void parser_prod___AConcreteMethPropdef___n_kwmeth__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2504, LOCATE_parser_prod___AConcreteMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 2526, LOCATE_parser_prod___AConcreteMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5062,7 +5088,7 @@ void parser_prod___AConcreteMethPropdef___n_methid__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2511, LOCATE_parser_prod___AConcreteMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 2533, LOCATE_parser_prod___AConcreteMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5077,7 +5103,7 @@ void parser_prod___AConcreteMethPropdef___n_signature__eq(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2518, LOCATE_parser_prod___AConcreteMethPropdef___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 2540, LOCATE_parser_prod___AConcreteMethPropdef___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5092,7 +5118,7 @@ void parser_prod___AConcreteMethPropdef___n_block__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AConcreteMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 2526, LOCATE_parser_prod___AConcreteMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 2548, LOCATE_parser_prod___AConcreteMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i]) return;
@@ -5102,7 +5128,7 @@ void parser_prod___AConcreteMethPropdef___empty_init(val_t  self, int* init_tabl
   return;
 }
 void parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, val_t  param6, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 2528, LOCATE_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef};
+  struct trace_t trace = {NULL, NULL, 2550, LOCATE_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5121,7 +5147,7 @@ void parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t  self,
   variable5 =  param5;
   variable6 =  param6;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i]) return;
-  ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
+  ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n_doc*/;
   variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
@@ -5162,7 +5188,7 @@ void parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t  self,
   return;
 }
 void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 2568, LOCATE_parser_prod___AConcreteMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 2591, LOCATE_parser_prod___AConcreteMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5171,7 +5197,7 @@ void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2570); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2593); nit_exit(1);}
   variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -5179,7 +5205,7 @@ void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2574); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2597); nit_exit(1);}
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
@@ -5193,7 +5219,7 @@ void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2584); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2607); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -5207,7 +5233,7 @@ void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2594); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2617); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
@@ -5221,7 +5247,7 @@ void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2604); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2627); nit_exit(1);}
       ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ =  NIT_NULL /*null*/;
@@ -5235,7 +5261,7 @@ void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2614); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2637); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
@@ -5249,7 +5275,7 @@ void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2624); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2647); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
@@ -5263,7 +5289,7 @@ void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2634); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2657); nit_exit(1);}
       ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  NIT_NULL /*null*/;
@@ -5275,7 +5301,7 @@ void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  para
   return;
 }
 void parser_prod___AConcreteMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2643, LOCATE_parser_prod___AConcreteMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2666, LOCATE_parser_prod___AConcreteMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5327,7 +5353,7 @@ void parser_prod___AConcreteMethPropdef___visit_all(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AConcreteMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2668, LOCATE_parser_prod___AConcreteMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 2691, LOCATE_parser_prod___AConcreteMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5379,7 +5405,7 @@ void parser_prod___AConcreteMethPropdef___visit_all_reverse(val_t  self, val_t
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2694, LOCATE_parser_prod___AConcreteInitPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 2717, LOCATE_parser_prod___AConcreteInitPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5394,7 +5420,7 @@ void parser_prod___AConcreteInitPropdef___n_doc__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2701, LOCATE_parser_prod___AConcreteInitPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 2724, LOCATE_parser_prod___AConcreteInitPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5409,7 +5435,7 @@ void parser_prod___AConcreteInitPropdef___n_kwredef__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2708, LOCATE_parser_prod___AConcreteInitPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 2731, LOCATE_parser_prod___AConcreteInitPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5424,7 +5450,7 @@ void parser_prod___AConcreteInitPropdef___n_visibility__eq(val_t  self, val_t  p
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_kwinit__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2715, LOCATE_parser_prod___AConcreteInitPropdef___n_kwinit__eq};
+  struct trace_t trace = {NULL, NULL, 2738, LOCATE_parser_prod___AConcreteInitPropdef___n_kwinit__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5439,7 +5465,7 @@ void parser_prod___AConcreteInitPropdef___n_kwinit__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2722, LOCATE_parser_prod___AConcreteInitPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 2745, LOCATE_parser_prod___AConcreteInitPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5454,7 +5480,7 @@ void parser_prod___AConcreteInitPropdef___n_methid__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2729, LOCATE_parser_prod___AConcreteInitPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 2752, LOCATE_parser_prod___AConcreteInitPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5469,7 +5495,7 @@ void parser_prod___AConcreteInitPropdef___n_signature__eq(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2736, LOCATE_parser_prod___AConcreteInitPropdef___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 2759, LOCATE_parser_prod___AConcreteInitPropdef___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5484,7 +5510,7 @@ void parser_prod___AConcreteInitPropdef___n_block__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AConcreteInitPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 2744, LOCATE_parser_prod___AConcreteInitPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 2767, LOCATE_parser_prod___AConcreteInitPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i]) return;
@@ -5494,7 +5520,7 @@ void parser_prod___AConcreteInitPropdef___empty_init(val_t  self, int* init_tabl
   return;
 }
 void parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, val_t  param6, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 2746, LOCATE_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef};
+  struct trace_t trace = {NULL, NULL, 2769, LOCATE_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5513,7 +5539,7 @@ void parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t  self,
   variable5 =  param5;
   variable6 =  param6;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i]) return;
-  ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
+  ((parser_prod___AConcreteInitPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteInitPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteInitPropdef::empty_init*/;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n_doc*/;
   variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
@@ -5554,7 +5580,7 @@ void parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t  self,
   return;
 }
 void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 2786, LOCATE_parser_prod___AConcreteInitPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 2810, LOCATE_parser_prod___AConcreteInitPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5563,7 +5589,7 @@ void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2788); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2812); nit_exit(1);}
   variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -5571,7 +5597,7 @@ void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2792); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2816); nit_exit(1);}
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
@@ -5585,7 +5611,7 @@ void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2802); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2826); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -5599,7 +5625,7 @@ void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2812); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2836); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
@@ -5613,7 +5639,7 @@ void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2822); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2846); nit_exit(1);}
       ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ =  NIT_NULL /*null*/;
@@ -5627,7 +5653,7 @@ void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2832); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2856); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
@@ -5641,7 +5667,7 @@ void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2842); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2866); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
@@ -5655,7 +5681,7 @@ void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2852); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2876); nit_exit(1);}
       ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  NIT_NULL /*null*/;
@@ -5667,7 +5693,7 @@ void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  para
   return;
 }
 void parser_prod___AConcreteInitPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2861, LOCATE_parser_prod___AConcreteInitPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2885, LOCATE_parser_prod___AConcreteInitPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5719,7 +5745,7 @@ void parser_prod___AConcreteInitPropdef___visit_all(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AConcreteInitPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2886, LOCATE_parser_prod___AConcreteInitPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 2910, LOCATE_parser_prod___AConcreteInitPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5771,7 +5797,7 @@ void parser_prod___AConcreteInitPropdef___visit_all_reverse(val_t  self, val_t
   return;
 }
 void parser_prod___AMainMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2912, LOCATE_parser_prod___AMainMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 2936, LOCATE_parser_prod___AMainMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5786,7 +5812,7 @@ void parser_prod___AMainMethPropdef___n_kwredef__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AMainMethPropdef___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2919, LOCATE_parser_prod___AMainMethPropdef___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 2943, LOCATE_parser_prod___AMainMethPropdef___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5801,7 +5827,7 @@ void parser_prod___AMainMethPropdef___n_block__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMainMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 2927, LOCATE_parser_prod___AMainMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 2951, LOCATE_parser_prod___AMainMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i]) return;
@@ -5811,7 +5837,7 @@ void parser_prod___AMainMethPropdef___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 2929, LOCATE_parser_prod___AMainMethPropdef___init_amainmethpropdef};
+  struct trace_t trace = {NULL, NULL, 2953, LOCATE_parser_prod___AMainMethPropdef___init_amainmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5820,7 +5846,7 @@ void parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t  self, val_t
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i]) return;
-  ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
+  ((parser_prod___AMainMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMainMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMainMethPropdef::empty_init*/;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n_kwredef*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -5836,7 +5862,7 @@ void parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t  self, val_t
   return;
 }
 void parser_prod___AMainMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 2944, LOCATE_parser_prod___AMainMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 2969, LOCATE_parser_prod___AMainMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5845,7 +5871,7 @@ void parser_prod___AMainMethPropdef___replace_child(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainMethPropdef___replace_child, LOCATE_parser_prod, 2946); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainMethPropdef___replace_child, LOCATE_parser_prod, 2971); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -5853,7 +5879,7 @@ void parser_prod___AMainMethPropdef___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainMethPropdef___replace_child, LOCATE_parser_prod, 2950); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainMethPropdef___replace_child, LOCATE_parser_prod, 2975); nit_exit(1);}
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -5867,7 +5893,7 @@ void parser_prod___AMainMethPropdef___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainMethPropdef___replace_child, LOCATE_parser_prod, 2960); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainMethPropdef___replace_child, LOCATE_parser_prod, 2985); nit_exit(1);}
       ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  NIT_NULL /*null*/;
@@ -5879,7 +5905,7 @@ void parser_prod___AMainMethPropdef___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AMainMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2969, LOCATE_parser_prod___AMainMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2994, LOCATE_parser_prod___AMainMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5901,7 +5927,7 @@ void parser_prod___AMainMethPropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMainMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2979, LOCATE_parser_prod___AMainMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3004, LOCATE_parser_prod___AMainMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5923,7 +5949,7 @@ void parser_prod___AMainMethPropdef___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___ATypePropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2990, LOCATE_parser_prod___ATypePropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 3015, LOCATE_parser_prod___ATypePropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5938,7 +5964,7 @@ void parser_prod___ATypePropdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2997, LOCATE_parser_prod___ATypePropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 3022, LOCATE_parser_prod___ATypePropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5953,7 +5979,7 @@ void parser_prod___ATypePropdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3004, LOCATE_parser_prod___ATypePropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 3029, LOCATE_parser_prod___ATypePropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5968,7 +5994,7 @@ void parser_prod___ATypePropdef___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___n_kwtype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3011, LOCATE_parser_prod___ATypePropdef___n_kwtype__eq};
+  struct trace_t trace = {NULL, NULL, 3036, LOCATE_parser_prod___ATypePropdef___n_kwtype__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5983,7 +6009,7 @@ void parser_prod___ATypePropdef___n_kwtype__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3018, LOCATE_parser_prod___ATypePropdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 3043, LOCATE_parser_prod___ATypePropdef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -5998,7 +6024,7 @@ void parser_prod___ATypePropdef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3025, LOCATE_parser_prod___ATypePropdef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 3050, LOCATE_parser_prod___ATypePropdef___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6013,7 +6039,7 @@ void parser_prod___ATypePropdef___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3033, LOCATE_parser_prod___ATypePropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 3058, LOCATE_parser_prod___ATypePropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i]) return;
@@ -6022,7 +6048,7 @@ void parser_prod___ATypePropdef___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ATypePropdef___init_atypepropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3035, LOCATE_parser_prod___ATypePropdef___init_atypepropdef};
+  struct trace_t trace = {NULL, NULL, 3060, LOCATE_parser_prod___ATypePropdef___init_atypepropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6039,6 +6065,7 @@ void parser_prod___ATypePropdef___init_atypepropdef(val_t  self, val_t  param0,
   variable4 =  param4;
   variable5 =  param5;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i]) return;
+  ((parser_prod___ATypePropdef___empty_init_t)CALL( self,COLOR_parser_prod___ATypePropdef___empty_init))( self, init_table /*YYY*/) /*ATypePropdef::empty_init*/;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n_doc*/;
   variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
@@ -6074,7 +6101,7 @@ void parser_prod___ATypePropdef___init_atypepropdef(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3070, LOCATE_parser_prod___ATypePropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 3096, LOCATE_parser_prod___ATypePropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6083,7 +6110,7 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3072); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3098); nit_exit(1);}
   variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -6091,7 +6118,7 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3076); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3102); nit_exit(1);}
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
@@ -6105,7 +6132,7 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3086); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3112); nit_exit(1);}
       ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -6119,7 +6146,7 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3096); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3122); nit_exit(1);}
       ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ =  NIT_NULL /*null*/;
@@ -6133,7 +6160,7 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3106); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3132); nit_exit(1);}
       ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ =  NIT_NULL /*null*/;
@@ -6147,7 +6174,7 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3116); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3142); nit_exit(1);}
       ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ =  NIT_NULL /*null*/;
@@ -6161,7 +6188,7 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3126); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3152); nit_exit(1);}
       ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ =  NIT_NULL /*null*/;
@@ -6173,7 +6200,7 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ATypePropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3135, LOCATE_parser_prod___ATypePropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 3161, LOCATE_parser_prod___ATypePropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6219,7 +6246,7 @@ void parser_prod___ATypePropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3157, LOCATE_parser_prod___ATypePropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3183, LOCATE_parser_prod___ATypePropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6265,7 +6292,7 @@ void parser_prod___ATypePropdef___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AReadAble___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3180, LOCATE_parser_prod___AReadAble___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 3206, LOCATE_parser_prod___AReadAble___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6280,7 +6307,7 @@ void parser_prod___AReadAble___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReadAble___n_kwreadable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3187, LOCATE_parser_prod___AReadAble___n_kwreadable__eq};
+  struct trace_t trace = {NULL, NULL, 3213, LOCATE_parser_prod___AReadAble___n_kwreadable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6295,7 +6322,7 @@ void parser_prod___AReadAble___n_kwreadable__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReadAble___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3195, LOCATE_parser_prod___AReadAble___empty_init};
+  struct trace_t trace = {NULL, NULL, 3221, LOCATE_parser_prod___AReadAble___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i]) return;
@@ -6304,7 +6331,7 @@ void parser_prod___AReadAble___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AReadAble___init_areadable(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3197, LOCATE_parser_prod___AReadAble___init_areadable};
+  struct trace_t trace = {NULL, NULL, 3223, LOCATE_parser_prod___AReadAble___init_areadable};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6313,6 +6340,7 @@ void parser_prod___AReadAble___init_areadable(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i]) return;
+  ((parser_prod___AReadAble___empty_init_t)CALL( self,COLOR_parser_prod___AReadAble___empty_init))( self, init_table /*YYY*/) /*AReadAble::empty_init*/;
   ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  variable0 /*n_kwredef*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -6328,7 +6356,7 @@ void parser_prod___AReadAble___init_areadable(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AReadAble___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3212, LOCATE_parser_prod___AReadAble___replace_child};
+  struct trace_t trace = {NULL, NULL, 3239, LOCATE_parser_prod___AReadAble___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6337,7 +6365,7 @@ void parser_prod___AReadAble___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReadAble___replace_child, LOCATE_parser_prod, 3214); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReadAble___replace_child, LOCATE_parser_prod, 3241); nit_exit(1);}
   variable2 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -6345,7 +6373,7 @@ void parser_prod___AReadAble___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReadAble___replace_child, LOCATE_parser_prod, 3218); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReadAble___replace_child, LOCATE_parser_prod, 3245); nit_exit(1);}
       ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -6359,7 +6387,7 @@ void parser_prod___AReadAble___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReadAble___replace_child, LOCATE_parser_prod, 3228); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReadAble___replace_child, LOCATE_parser_prod, 3255); nit_exit(1);}
       ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ =  NIT_NULL /*null*/;
@@ -6371,7 +6399,7 @@ void parser_prod___AReadAble___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AReadAble___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3237, LOCATE_parser_prod___AReadAble___visit_all};
+  struct trace_t trace = {NULL, NULL, 3264, LOCATE_parser_prod___AReadAble___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6393,7 +6421,7 @@ void parser_prod___AReadAble___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReadAble___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3247, LOCATE_parser_prod___AReadAble___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3274, LOCATE_parser_prod___AReadAble___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6415,7 +6443,7 @@ void parser_prod___AReadAble___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWriteAble___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3258, LOCATE_parser_prod___AWriteAble___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 3285, LOCATE_parser_prod___AWriteAble___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6430,7 +6458,7 @@ void parser_prod___AWriteAble___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWriteAble___n_kwwritable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3265, LOCATE_parser_prod___AWriteAble___n_kwwritable__eq};
+  struct trace_t trace = {NULL, NULL, 3292, LOCATE_parser_prod___AWriteAble___n_kwwritable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6445,7 +6473,7 @@ void parser_prod___AWriteAble___n_kwwritable__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWriteAble___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3273, LOCATE_parser_prod___AWriteAble___empty_init};
+  struct trace_t trace = {NULL, NULL, 3300, LOCATE_parser_prod___AWriteAble___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i]) return;
@@ -6454,7 +6482,7 @@ void parser_prod___AWriteAble___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AWriteAble___init_awriteable(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3275, LOCATE_parser_prod___AWriteAble___init_awriteable};
+  struct trace_t trace = {NULL, NULL, 3302, LOCATE_parser_prod___AWriteAble___init_awriteable};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6463,6 +6491,7 @@ void parser_prod___AWriteAble___init_awriteable(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i]) return;
+  ((parser_prod___AWriteAble___empty_init_t)CALL( self,COLOR_parser_prod___AWriteAble___empty_init))( self, init_table /*YYY*/) /*AWriteAble::empty_init*/;
   ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  variable0 /*n_kwredef*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -6478,7 +6507,7 @@ void parser_prod___AWriteAble___init_awriteable(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AWriteAble___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3290, LOCATE_parser_prod___AWriteAble___replace_child};
+  struct trace_t trace = {NULL, NULL, 3318, LOCATE_parser_prod___AWriteAble___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6487,7 +6516,7 @@ void parser_prod___AWriteAble___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWriteAble___replace_child, LOCATE_parser_prod, 3292); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWriteAble___replace_child, LOCATE_parser_prod, 3320); nit_exit(1);}
   variable2 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -6495,7 +6524,7 @@ void parser_prod___AWriteAble___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWriteAble___replace_child, LOCATE_parser_prod, 3296); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWriteAble___replace_child, LOCATE_parser_prod, 3324); nit_exit(1);}
       ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  NIT_NULL /*null*/;
@@ -6509,7 +6538,7 @@ void parser_prod___AWriteAble___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWriteAble___replace_child, LOCATE_parser_prod, 3306); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWriteAble___replace_child, LOCATE_parser_prod, 3334); nit_exit(1);}
       ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ =  NIT_NULL /*null*/;
@@ -6521,7 +6550,7 @@ void parser_prod___AWriteAble___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AWriteAble___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3315, LOCATE_parser_prod___AWriteAble___visit_all};
+  struct trace_t trace = {NULL, NULL, 3343, LOCATE_parser_prod___AWriteAble___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6543,7 +6572,7 @@ void parser_prod___AWriteAble___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWriteAble___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3325, LOCATE_parser_prod___AWriteAble___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3353, LOCATE_parser_prod___AWriteAble___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6565,7 +6594,7 @@ void parser_prod___AWriteAble___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIdMethid___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3336, LOCATE_parser_prod___AIdMethid___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 3364, LOCATE_parser_prod___AIdMethid___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6580,7 +6609,7 @@ void parser_prod___AIdMethid___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIdMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3344, LOCATE_parser_prod___AIdMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3372, LOCATE_parser_prod___AIdMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i]) return;
@@ -6589,13 +6618,14 @@ void parser_prod___AIdMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AIdMethid___init_aidmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3346, LOCATE_parser_prod___AIdMethid___init_aidmethid};
+  struct trace_t trace = {NULL, NULL, 3374, LOCATE_parser_prod___AIdMethid___init_aidmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i]) return;
+  ((parser_prod___AIdMethid___empty_init_t)CALL( self,COLOR_parser_prod___AIdMethid___empty_init))( self, init_table /*YYY*/) /*AIdMethid::empty_init*/;
   ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ =  variable0 /*n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -6606,7 +6636,7 @@ void parser_prod___AIdMethid___init_aidmethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___AIdMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3356, LOCATE_parser_prod___AIdMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3385, LOCATE_parser_prod___AIdMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6615,7 +6645,7 @@ void parser_prod___AIdMethid___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIdMethid___replace_child, LOCATE_parser_prod, 3358); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIdMethid___replace_child, LOCATE_parser_prod, 3387); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -6623,7 +6653,7 @@ void parser_prod___AIdMethid___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIdMethid___replace_child, LOCATE_parser_prod, 3362); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIdMethid___replace_child, LOCATE_parser_prod, 3391); nit_exit(1);}
       ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ =  NIT_NULL /*null*/;
@@ -6635,7 +6665,7 @@ void parser_prod___AIdMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AIdMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3371, LOCATE_parser_prod___AIdMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3400, LOCATE_parser_prod___AIdMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6651,7 +6681,7 @@ void parser_prod___AIdMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIdMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3378, LOCATE_parser_prod___AIdMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3407, LOCATE_parser_prod___AIdMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6667,7 +6697,7 @@ void parser_prod___AIdMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusMethid___n_plus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3386, LOCATE_parser_prod___APlusMethid___n_plus__eq};
+  struct trace_t trace = {NULL, NULL, 3415, LOCATE_parser_prod___APlusMethid___n_plus__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6682,7 +6712,7 @@ void parser_prod___APlusMethid___n_plus__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3394, LOCATE_parser_prod___APlusMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3423, LOCATE_parser_prod___APlusMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i]) return;
@@ -6691,13 +6721,14 @@ void parser_prod___APlusMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___APlusMethid___init_aplusmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3396, LOCATE_parser_prod___APlusMethid___init_aplusmethid};
+  struct trace_t trace = {NULL, NULL, 3425, LOCATE_parser_prod___APlusMethid___init_aplusmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i]) return;
+  ((parser_prod___APlusMethid___empty_init_t)CALL( self,COLOR_parser_prod___APlusMethid___empty_init))( self, init_table /*YYY*/) /*APlusMethid::empty_init*/;
   ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ =  variable0 /*n_plus*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_plus*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_plus*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_plus*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_plus*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_plus*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_plus*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -6708,7 +6739,7 @@ void parser_prod___APlusMethid___init_aplusmethid(val_t  self, val_t  param0, in
   return;
 }
 void parser_prod___APlusMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3406, LOCATE_parser_prod___APlusMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3436, LOCATE_parser_prod___APlusMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6717,7 +6748,7 @@ void parser_prod___APlusMethid___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusMethid___replace_child, LOCATE_parser_prod, 3408); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusMethid___replace_child, LOCATE_parser_prod, 3438); nit_exit(1);}
   variable2 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -6725,7 +6756,7 @@ void parser_prod___APlusMethid___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TPlus, ID_TPlus)) /*cast TPlus*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusMethid___replace_child, LOCATE_parser_prod, 3412); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusMethid___replace_child, LOCATE_parser_prod, 3442); nit_exit(1);}
       ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ =  NIT_NULL /*null*/;
@@ -6737,7 +6768,7 @@ void parser_prod___APlusMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___APlusMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3421, LOCATE_parser_prod___APlusMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3451, LOCATE_parser_prod___APlusMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6753,7 +6784,7 @@ void parser_prod___APlusMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3428, LOCATE_parser_prod___APlusMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3458, LOCATE_parser_prod___APlusMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6769,7 +6800,7 @@ void parser_prod___APlusMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusMethid___n_minus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3436, LOCATE_parser_prod___AMinusMethid___n_minus__eq};
+  struct trace_t trace = {NULL, NULL, 3466, LOCATE_parser_prod___AMinusMethid___n_minus__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6784,7 +6815,7 @@ void parser_prod___AMinusMethid___n_minus__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3444, LOCATE_parser_prod___AMinusMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3474, LOCATE_parser_prod___AMinusMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i]) return;
@@ -6793,13 +6824,14 @@ void parser_prod___AMinusMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AMinusMethid___init_aminusmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3446, LOCATE_parser_prod___AMinusMethid___init_aminusmethid};
+  struct trace_t trace = {NULL, NULL, 3476, LOCATE_parser_prod___AMinusMethid___init_aminusmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i]) return;
+  ((parser_prod___AMinusMethid___empty_init_t)CALL( self,COLOR_parser_prod___AMinusMethid___empty_init))( self, init_table /*YYY*/) /*AMinusMethid::empty_init*/;
   ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ =  variable0 /*n_minus*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_minus*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_minus*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_minus*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_minus*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_minus*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_minus*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -6810,7 +6842,7 @@ void parser_prod___AMinusMethid___init_aminusmethid(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AMinusMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3456, LOCATE_parser_prod___AMinusMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3487, LOCATE_parser_prod___AMinusMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6819,7 +6851,7 @@ void parser_prod___AMinusMethid___replace_child(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusMethid___replace_child, LOCATE_parser_prod, 3458); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusMethid___replace_child, LOCATE_parser_prod, 3489); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -6827,7 +6859,7 @@ void parser_prod___AMinusMethid___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusMethid___replace_child, LOCATE_parser_prod, 3462); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusMethid___replace_child, LOCATE_parser_prod, 3493); nit_exit(1);}
       ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ =  NIT_NULL /*null*/;
@@ -6839,7 +6871,7 @@ void parser_prod___AMinusMethid___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AMinusMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3471, LOCATE_parser_prod___AMinusMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3502, LOCATE_parser_prod___AMinusMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6855,7 +6887,7 @@ void parser_prod___AMinusMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3478, LOCATE_parser_prod___AMinusMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3509, LOCATE_parser_prod___AMinusMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6871,7 +6903,7 @@ void parser_prod___AMinusMethid___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AStarMethid___n_star__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3486, LOCATE_parser_prod___AStarMethid___n_star__eq};
+  struct trace_t trace = {NULL, NULL, 3517, LOCATE_parser_prod___AStarMethid___n_star__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6886,7 +6918,7 @@ void parser_prod___AStarMethid___n_star__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3494, LOCATE_parser_prod___AStarMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3525, LOCATE_parser_prod___AStarMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i]) return;
@@ -6895,13 +6927,14 @@ void parser_prod___AStarMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AStarMethid___init_astarmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3496, LOCATE_parser_prod___AStarMethid___init_astarmethid};
+  struct trace_t trace = {NULL, NULL, 3527, LOCATE_parser_prod___AStarMethid___init_astarmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i]) return;
+  ((parser_prod___AStarMethid___empty_init_t)CALL( self,COLOR_parser_prod___AStarMethid___empty_init))( self, init_table /*YYY*/) /*AStarMethid::empty_init*/;
   ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ =  variable0 /*n_star*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_star*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_star*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_star*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_star*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_star*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_star*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -6912,7 +6945,7 @@ void parser_prod___AStarMethid___init_astarmethid(val_t  self, val_t  param0, in
   return;
 }
 void parser_prod___AStarMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3506, LOCATE_parser_prod___AStarMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3538, LOCATE_parser_prod___AStarMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6921,7 +6954,7 @@ void parser_prod___AStarMethid___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarMethid___replace_child, LOCATE_parser_prod, 3508); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarMethid___replace_child, LOCATE_parser_prod, 3540); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -6929,7 +6962,7 @@ void parser_prod___AStarMethid___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TStar, ID_TStar)) /*cast TStar*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarMethid___replace_child, LOCATE_parser_prod, 3512); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarMethid___replace_child, LOCATE_parser_prod, 3544); nit_exit(1);}
       ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ =  NIT_NULL /*null*/;
@@ -6941,7 +6974,7 @@ void parser_prod___AStarMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AStarMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3521, LOCATE_parser_prod___AStarMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3553, LOCATE_parser_prod___AStarMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6957,7 +6990,7 @@ void parser_prod___AStarMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3528, LOCATE_parser_prod___AStarMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3560, LOCATE_parser_prod___AStarMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6973,7 +7006,7 @@ void parser_prod___AStarMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashMethid___n_slash__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3536, LOCATE_parser_prod___ASlashMethid___n_slash__eq};
+  struct trace_t trace = {NULL, NULL, 3568, LOCATE_parser_prod___ASlashMethid___n_slash__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6988,7 +7021,7 @@ void parser_prod___ASlashMethid___n_slash__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3544, LOCATE_parser_prod___ASlashMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3576, LOCATE_parser_prod___ASlashMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i]) return;
@@ -6997,13 +7030,14 @@ void parser_prod___ASlashMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ASlashMethid___init_aslashmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3546, LOCATE_parser_prod___ASlashMethid___init_aslashmethid};
+  struct trace_t trace = {NULL, NULL, 3578, LOCATE_parser_prod___ASlashMethid___init_aslashmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i]) return;
+  ((parser_prod___ASlashMethid___empty_init_t)CALL( self,COLOR_parser_prod___ASlashMethid___empty_init))( self, init_table /*YYY*/) /*ASlashMethid::empty_init*/;
   ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ =  variable0 /*n_slash*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_slash*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_slash*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_slash*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_slash*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_slash*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_slash*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -7014,7 +7048,7 @@ void parser_prod___ASlashMethid___init_aslashmethid(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ASlashMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3556, LOCATE_parser_prod___ASlashMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3589, LOCATE_parser_prod___ASlashMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7023,7 +7057,7 @@ void parser_prod___ASlashMethid___replace_child(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashMethid___replace_child, LOCATE_parser_prod, 3558); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashMethid___replace_child, LOCATE_parser_prod, 3591); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -7031,7 +7065,7 @@ void parser_prod___ASlashMethid___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TSlash, ID_TSlash)) /*cast TSlash*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashMethid___replace_child, LOCATE_parser_prod, 3562); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashMethid___replace_child, LOCATE_parser_prod, 3595); nit_exit(1);}
       ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ =  NIT_NULL /*null*/;
@@ -7043,7 +7077,7 @@ void parser_prod___ASlashMethid___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ASlashMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3571, LOCATE_parser_prod___ASlashMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3604, LOCATE_parser_prod___ASlashMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7059,7 +7093,7 @@ void parser_prod___ASlashMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3578, LOCATE_parser_prod___ASlashMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3611, LOCATE_parser_prod___ASlashMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7075,7 +7109,7 @@ void parser_prod___ASlashMethid___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___APercentMethid___n_percent__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3586, LOCATE_parser_prod___APercentMethid___n_percent__eq};
+  struct trace_t trace = {NULL, NULL, 3619, LOCATE_parser_prod___APercentMethid___n_percent__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7090,7 +7124,7 @@ void parser_prod___APercentMethid___n_percent__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3594, LOCATE_parser_prod___APercentMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3627, LOCATE_parser_prod___APercentMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i]) return;
@@ -7099,13 +7133,14 @@ void parser_prod___APercentMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___APercentMethid___init_apercentmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3596, LOCATE_parser_prod___APercentMethid___init_apercentmethid};
+  struct trace_t trace = {NULL, NULL, 3629, LOCATE_parser_prod___APercentMethid___init_apercentmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i]) return;
+  ((parser_prod___APercentMethid___empty_init_t)CALL( self,COLOR_parser_prod___APercentMethid___empty_init))( self, init_table /*YYY*/) /*APercentMethid::empty_init*/;
   ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ =  variable0 /*n_percent*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_percent*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_percent*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_percent*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_percent*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_percent*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_percent*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -7116,7 +7151,7 @@ void parser_prod___APercentMethid___init_apercentmethid(val_t  self, val_t  para
   return;
 }
 void parser_prod___APercentMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3606, LOCATE_parser_prod___APercentMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3640, LOCATE_parser_prod___APercentMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7125,7 +7160,7 @@ void parser_prod___APercentMethid___replace_child(val_t  self, val_t  param0, va
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentMethid___replace_child, LOCATE_parser_prod, 3608); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentMethid___replace_child, LOCATE_parser_prod, 3642); nit_exit(1);}
   variable2 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -7133,7 +7168,7 @@ void parser_prod___APercentMethid___replace_child(val_t  self, val_t  param0, va
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TPercent, ID_TPercent)) /*cast TPercent*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentMethid___replace_child, LOCATE_parser_prod, 3612); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentMethid___replace_child, LOCATE_parser_prod, 3646); nit_exit(1);}
       ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ =  NIT_NULL /*null*/;
@@ -7145,7 +7180,7 @@ void parser_prod___APercentMethid___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___APercentMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3621, LOCATE_parser_prod___APercentMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3655, LOCATE_parser_prod___APercentMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7161,7 +7196,7 @@ void parser_prod___APercentMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3628, LOCATE_parser_prod___APercentMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3662, LOCATE_parser_prod___APercentMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7177,7 +7212,7 @@ void parser_prod___APercentMethid___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AEqMethid___n_eq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3636, LOCATE_parser_prod___AEqMethid___n_eq__eq};
+  struct trace_t trace = {NULL, NULL, 3670, LOCATE_parser_prod___AEqMethid___n_eq__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7192,7 +7227,7 @@ void parser_prod___AEqMethid___n_eq__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3644, LOCATE_parser_prod___AEqMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3678, LOCATE_parser_prod___AEqMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i]) return;
@@ -7201,13 +7236,14 @@ void parser_prod___AEqMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AEqMethid___init_aeqmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3646, LOCATE_parser_prod___AEqMethid___init_aeqmethid};
+  struct trace_t trace = {NULL, NULL, 3680, LOCATE_parser_prod___AEqMethid___init_aeqmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i]) return;
+  ((parser_prod___AEqMethid___empty_init_t)CALL( self,COLOR_parser_prod___AEqMethid___empty_init))( self, init_table /*YYY*/) /*AEqMethid::empty_init*/;
   ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ =  variable0 /*n_eq*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_eq*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_eq*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_eq*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_eq*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_eq*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_eq*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -7218,7 +7254,7 @@ void parser_prod___AEqMethid___init_aeqmethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___AEqMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3656, LOCATE_parser_prod___AEqMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3691, LOCATE_parser_prod___AEqMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7227,7 +7263,7 @@ void parser_prod___AEqMethid___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqMethid___replace_child, LOCATE_parser_prod, 3658); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqMethid___replace_child, LOCATE_parser_prod, 3693); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -7235,7 +7271,7 @@ void parser_prod___AEqMethid___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TEq, ID_TEq)) /*cast TEq*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqMethid___replace_child, LOCATE_parser_prod, 3662); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqMethid___replace_child, LOCATE_parser_prod, 3697); nit_exit(1);}
       ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ =  NIT_NULL /*null*/;
@@ -7247,7 +7283,7 @@ void parser_prod___AEqMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AEqMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3671, LOCATE_parser_prod___AEqMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3706, LOCATE_parser_prod___AEqMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7263,7 +7299,7 @@ void parser_prod___AEqMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3678, LOCATE_parser_prod___AEqMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3713, LOCATE_parser_prod___AEqMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7279,7 +7315,7 @@ void parser_prod___AEqMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeMethid___n_ne__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3686, LOCATE_parser_prod___ANeMethid___n_ne__eq};
+  struct trace_t trace = {NULL, NULL, 3721, LOCATE_parser_prod___ANeMethid___n_ne__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7294,7 +7330,7 @@ void parser_prod___ANeMethid___n_ne__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3694, LOCATE_parser_prod___ANeMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3729, LOCATE_parser_prod___ANeMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i]) return;
@@ -7303,13 +7339,14 @@ void parser_prod___ANeMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ANeMethid___init_anemethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3696, LOCATE_parser_prod___ANeMethid___init_anemethid};
+  struct trace_t trace = {NULL, NULL, 3731, LOCATE_parser_prod___ANeMethid___init_anemethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i]) return;
+  ((parser_prod___ANeMethid___empty_init_t)CALL( self,COLOR_parser_prod___ANeMethid___empty_init))( self, init_table /*YYY*/) /*ANeMethid::empty_init*/;
   ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ =  variable0 /*n_ne*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_ne*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_ne*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_ne*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_ne*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_ne*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_ne*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -7320,7 +7357,7 @@ void parser_prod___ANeMethid___init_anemethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ANeMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3706, LOCATE_parser_prod___ANeMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3742, LOCATE_parser_prod___ANeMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7329,7 +7366,7 @@ void parser_prod___ANeMethid___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeMethid___replace_child, LOCATE_parser_prod, 3708); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeMethid___replace_child, LOCATE_parser_prod, 3744); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -7337,7 +7374,7 @@ void parser_prod___ANeMethid___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TNe, ID_TNe)) /*cast TNe*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeMethid___replace_child, LOCATE_parser_prod, 3712); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeMethid___replace_child, LOCATE_parser_prod, 3748); nit_exit(1);}
       ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ =  NIT_NULL /*null*/;
@@ -7349,7 +7386,7 @@ void parser_prod___ANeMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ANeMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3721, LOCATE_parser_prod___ANeMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3757, LOCATE_parser_prod___ANeMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7365,7 +7402,7 @@ void parser_prod___ANeMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3728, LOCATE_parser_prod___ANeMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3764, LOCATE_parser_prod___ANeMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7381,7 +7418,7 @@ void parser_prod___ANeMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeMethid___n_le__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3736, LOCATE_parser_prod___ALeMethid___n_le__eq};
+  struct trace_t trace = {NULL, NULL, 3772, LOCATE_parser_prod___ALeMethid___n_le__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7396,7 +7433,7 @@ void parser_prod___ALeMethid___n_le__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3744, LOCATE_parser_prod___ALeMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3780, LOCATE_parser_prod___ALeMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i]) return;
@@ -7405,13 +7442,14 @@ void parser_prod___ALeMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ALeMethid___init_alemethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3746, LOCATE_parser_prod___ALeMethid___init_alemethid};
+  struct trace_t trace = {NULL, NULL, 3782, LOCATE_parser_prod___ALeMethid___init_alemethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i]) return;
+  ((parser_prod___ALeMethid___empty_init_t)CALL( self,COLOR_parser_prod___ALeMethid___empty_init))( self, init_table /*YYY*/) /*ALeMethid::empty_init*/;
   ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ =  variable0 /*n_le*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_le*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_le*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_le*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_le*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_le*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_le*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -7422,7 +7460,7 @@ void parser_prod___ALeMethid___init_alemethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ALeMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3756, LOCATE_parser_prod___ALeMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3793, LOCATE_parser_prod___ALeMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7431,7 +7469,7 @@ void parser_prod___ALeMethid___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeMethid___replace_child, LOCATE_parser_prod, 3758); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeMethid___replace_child, LOCATE_parser_prod, 3795); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -7439,7 +7477,7 @@ void parser_prod___ALeMethid___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TLe, ID_TLe)) /*cast TLe*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeMethid___replace_child, LOCATE_parser_prod, 3762); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeMethid___replace_child, LOCATE_parser_prod, 3799); nit_exit(1);}
       ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ =  NIT_NULL /*null*/;
@@ -7451,7 +7489,7 @@ void parser_prod___ALeMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ALeMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3771, LOCATE_parser_prod___ALeMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3808, LOCATE_parser_prod___ALeMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7467,7 +7505,7 @@ void parser_prod___ALeMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3778, LOCATE_parser_prod___ALeMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3815, LOCATE_parser_prod___ALeMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7483,7 +7521,7 @@ void parser_prod___ALeMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeMethid___n_ge__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3786, LOCATE_parser_prod___AGeMethid___n_ge__eq};
+  struct trace_t trace = {NULL, NULL, 3823, LOCATE_parser_prod___AGeMethid___n_ge__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7498,7 +7536,7 @@ void parser_prod___AGeMethid___n_ge__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3794, LOCATE_parser_prod___AGeMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3831, LOCATE_parser_prod___AGeMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i]) return;
@@ -7507,13 +7545,14 @@ void parser_prod___AGeMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AGeMethid___init_agemethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3796, LOCATE_parser_prod___AGeMethid___init_agemethid};
+  struct trace_t trace = {NULL, NULL, 3833, LOCATE_parser_prod___AGeMethid___init_agemethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i]) return;
+  ((parser_prod___AGeMethid___empty_init_t)CALL( self,COLOR_parser_prod___AGeMethid___empty_init))( self, init_table /*YYY*/) /*AGeMethid::empty_init*/;
   ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ =  variable0 /*n_ge*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_ge*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_ge*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_ge*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_ge*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_ge*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_ge*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -7524,7 +7563,7 @@ void parser_prod___AGeMethid___init_agemethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___AGeMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3806, LOCATE_parser_prod___AGeMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3844, LOCATE_parser_prod___AGeMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7533,7 +7572,7 @@ void parser_prod___AGeMethid___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeMethid___replace_child, LOCATE_parser_prod, 3808); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeMethid___replace_child, LOCATE_parser_prod, 3846); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -7541,7 +7580,7 @@ void parser_prod___AGeMethid___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TGe, ID_TGe)) /*cast TGe*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeMethid___replace_child, LOCATE_parser_prod, 3812); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeMethid___replace_child, LOCATE_parser_prod, 3850); nit_exit(1);}
       ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ =  NIT_NULL /*null*/;
@@ -7553,7 +7592,7 @@ void parser_prod___AGeMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AGeMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3821, LOCATE_parser_prod___AGeMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3859, LOCATE_parser_prod___AGeMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7569,7 +7608,7 @@ void parser_prod___AGeMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3828, LOCATE_parser_prod___AGeMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3866, LOCATE_parser_prod___AGeMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7585,7 +7624,7 @@ void parser_prod___AGeMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtMethid___n_lt__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3836, LOCATE_parser_prod___ALtMethid___n_lt__eq};
+  struct trace_t trace = {NULL, NULL, 3874, LOCATE_parser_prod___ALtMethid___n_lt__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7600,7 +7639,7 @@ void parser_prod___ALtMethid___n_lt__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3844, LOCATE_parser_prod___ALtMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3882, LOCATE_parser_prod___ALtMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i]) return;
@@ -7609,13 +7648,14 @@ void parser_prod___ALtMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ALtMethid___init_altmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3846, LOCATE_parser_prod___ALtMethid___init_altmethid};
+  struct trace_t trace = {NULL, NULL, 3884, LOCATE_parser_prod___ALtMethid___init_altmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i]) return;
+  ((parser_prod___ALtMethid___empty_init_t)CALL( self,COLOR_parser_prod___ALtMethid___empty_init))( self, init_table /*YYY*/) /*ALtMethid::empty_init*/;
   ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ =  variable0 /*n_lt*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_lt*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_lt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_lt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_lt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_lt*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_lt*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -7626,7 +7666,7 @@ void parser_prod___ALtMethid___init_altmethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ALtMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3856, LOCATE_parser_prod___ALtMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3895, LOCATE_parser_prod___ALtMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7635,7 +7675,7 @@ void parser_prod___ALtMethid___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtMethid___replace_child, LOCATE_parser_prod, 3858); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtMethid___replace_child, LOCATE_parser_prod, 3897); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -7643,7 +7683,7 @@ void parser_prod___ALtMethid___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TLt, ID_TLt)) /*cast TLt*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtMethid___replace_child, LOCATE_parser_prod, 3862); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtMethid___replace_child, LOCATE_parser_prod, 3901); nit_exit(1);}
       ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ =  NIT_NULL /*null*/;
@@ -7655,7 +7695,7 @@ void parser_prod___ALtMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ALtMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3871, LOCATE_parser_prod___ALtMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3910, LOCATE_parser_prod___ALtMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7671,7 +7711,7 @@ void parser_prod___ALtMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3878, LOCATE_parser_prod___ALtMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3917, LOCATE_parser_prod___ALtMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7687,7 +7727,7 @@ void parser_prod___ALtMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtMethid___n_gt__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3886, LOCATE_parser_prod___AGtMethid___n_gt__eq};
+  struct trace_t trace = {NULL, NULL, 3925, LOCATE_parser_prod___AGtMethid___n_gt__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7702,7 +7742,7 @@ void parser_prod___AGtMethid___n_gt__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3894, LOCATE_parser_prod___AGtMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3933, LOCATE_parser_prod___AGtMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i]) return;
@@ -7711,13 +7751,14 @@ void parser_prod___AGtMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AGtMethid___init_agtmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3896, LOCATE_parser_prod___AGtMethid___init_agtmethid};
+  struct trace_t trace = {NULL, NULL, 3935, LOCATE_parser_prod___AGtMethid___init_agtmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i]) return;
+  ((parser_prod___AGtMethid___empty_init_t)CALL( self,COLOR_parser_prod___AGtMethid___empty_init))( self, init_table /*YYY*/) /*AGtMethid::empty_init*/;
   ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ =  variable0 /*n_gt*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_gt*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_gt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_gt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_gt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_gt*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_gt*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -7728,7 +7769,7 @@ void parser_prod___AGtMethid___init_agtmethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___AGtMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3906, LOCATE_parser_prod___AGtMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3946, LOCATE_parser_prod___AGtMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7737,7 +7778,7 @@ void parser_prod___AGtMethid___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtMethid___replace_child, LOCATE_parser_prod, 3908); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtMethid___replace_child, LOCATE_parser_prod, 3948); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -7745,7 +7786,7 @@ void parser_prod___AGtMethid___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TGt, ID_TGt)) /*cast TGt*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtMethid___replace_child, LOCATE_parser_prod, 3912); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtMethid___replace_child, LOCATE_parser_prod, 3952); nit_exit(1);}
       ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ =  NIT_NULL /*null*/;
@@ -7757,7 +7798,7 @@ void parser_prod___AGtMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AGtMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3921, LOCATE_parser_prod___AGtMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3961, LOCATE_parser_prod___AGtMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7773,7 +7814,7 @@ void parser_prod___AGtMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3928, LOCATE_parser_prod___AGtMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3968, LOCATE_parser_prod___AGtMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7789,7 +7830,7 @@ void parser_prod___AGtMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraMethid___n_obra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3936, LOCATE_parser_prod___ABraMethid___n_obra__eq};
+  struct trace_t trace = {NULL, NULL, 3976, LOCATE_parser_prod___ABraMethid___n_obra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7804,7 +7845,7 @@ void parser_prod___ABraMethid___n_obra__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraMethid___n_cbra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3943, LOCATE_parser_prod___ABraMethid___n_cbra__eq};
+  struct trace_t trace = {NULL, NULL, 3983, LOCATE_parser_prod___ABraMethid___n_cbra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7819,7 +7860,7 @@ void parser_prod___ABraMethid___n_cbra__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3951, LOCATE_parser_prod___ABraMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3991, LOCATE_parser_prod___ABraMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i]) return;
@@ -7828,7 +7869,7 @@ void parser_prod___ABraMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ABraMethid___init_abramethid(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 3953, LOCATE_parser_prod___ABraMethid___init_abramethid};
+  struct trace_t trace = {NULL, NULL, 3993, LOCATE_parser_prod___ABraMethid___init_abramethid};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7837,6 +7878,7 @@ void parser_prod___ABraMethid___init_abramethid(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i]) return;
+  ((parser_prod___ABraMethid___empty_init_t)CALL( self,COLOR_parser_prod___ABraMethid___empty_init))( self, init_table /*YYY*/) /*ABraMethid::empty_init*/;
   ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ =  variable0 /*n_obra*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_obra*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_obra*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_obra*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_obra*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_obra*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_obra*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -7852,7 +7894,7 @@ void parser_prod___ABraMethid___init_abramethid(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ABraMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 3968, LOCATE_parser_prod___ABraMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 4009, LOCATE_parser_prod___ABraMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7861,7 +7903,7 @@ void parser_prod___ABraMethid___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraMethid___replace_child, LOCATE_parser_prod, 3970); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraMethid___replace_child, LOCATE_parser_prod, 4011); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -7869,7 +7911,7 @@ void parser_prod___ABraMethid___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraMethid___replace_child, LOCATE_parser_prod, 3974); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraMethid___replace_child, LOCATE_parser_prod, 4015); nit_exit(1);}
       ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ =  NIT_NULL /*null*/;
@@ -7883,7 +7925,7 @@ void parser_prod___ABraMethid___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraMethid___replace_child, LOCATE_parser_prod, 3984); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraMethid___replace_child, LOCATE_parser_prod, 4025); nit_exit(1);}
       ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ =  NIT_NULL /*null*/;
@@ -7895,7 +7937,7 @@ void parser_prod___ABraMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ABraMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 3993, LOCATE_parser_prod___ABraMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 4034, LOCATE_parser_prod___ABraMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7917,7 +7959,7 @@ void parser_prod___ABraMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4003, LOCATE_parser_prod___ABraMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4044, LOCATE_parser_prod___ABraMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7939,7 +7981,7 @@ void parser_prod___ABraMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipMethid___n_starship__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4014, LOCATE_parser_prod___AStarshipMethid___n_starship__eq};
+  struct trace_t trace = {NULL, NULL, 4055, LOCATE_parser_prod___AStarshipMethid___n_starship__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -7954,7 +7996,7 @@ void parser_prod___AStarshipMethid___n_starship__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AStarshipMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4022, LOCATE_parser_prod___AStarshipMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 4063, LOCATE_parser_prod___AStarshipMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i]) return;
@@ -7963,13 +8005,14 @@ void parser_prod___AStarshipMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AStarshipMethid___init_astarshipmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4024, LOCATE_parser_prod___AStarshipMethid___init_astarshipmethid};
+  struct trace_t trace = {NULL, NULL, 4065, LOCATE_parser_prod___AStarshipMethid___init_astarshipmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i]) return;
+  ((parser_prod___AStarshipMethid___empty_init_t)CALL( self,COLOR_parser_prod___AStarshipMethid___empty_init))( self, init_table /*YYY*/) /*AStarshipMethid::empty_init*/;
   ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ =  variable0 /*n_starship*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_starship*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_starship*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_starship*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_starship*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_starship*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_starship*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -7980,7 +8023,7 @@ void parser_prod___AStarshipMethid___init_astarshipmethid(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AStarshipMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4034, LOCATE_parser_prod___AStarshipMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 4076, LOCATE_parser_prod___AStarshipMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7989,7 +8032,7 @@ void parser_prod___AStarshipMethid___replace_child(val_t  self, val_t  param0, v
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipMethid___replace_child, LOCATE_parser_prod, 4036); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipMethid___replace_child, LOCATE_parser_prod, 4078); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -7997,7 +8040,7 @@ void parser_prod___AStarshipMethid___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TStarship, ID_TStarship)) /*cast TStarship*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipMethid___replace_child, LOCATE_parser_prod, 4040); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipMethid___replace_child, LOCATE_parser_prod, 4082); nit_exit(1);}
       ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ =  NIT_NULL /*null*/;
@@ -8009,7 +8052,7 @@ void parser_prod___AStarshipMethid___replace_child(val_t  self, val_t  param0, v
   return;
 }
 void parser_prod___AStarshipMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4049, LOCATE_parser_prod___AStarshipMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 4091, LOCATE_parser_prod___AStarshipMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8025,7 +8068,7 @@ void parser_prod___AStarshipMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4056, LOCATE_parser_prod___AStarshipMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4098, LOCATE_parser_prod___AStarshipMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8041,7 +8084,7 @@ void parser_prod___AStarshipMethid___visit_all_reverse(val_t  self, val_t  param
   return;
 }
 void parser_prod___AAssignMethid___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4064, LOCATE_parser_prod___AAssignMethid___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 4106, LOCATE_parser_prod___AAssignMethid___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8056,7 +8099,7 @@ void parser_prod___AAssignMethid___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssignMethid___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4071, LOCATE_parser_prod___AAssignMethid___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 4113, LOCATE_parser_prod___AAssignMethid___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8071,7 +8114,7 @@ void parser_prod___AAssignMethid___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssignMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4079, LOCATE_parser_prod___AAssignMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 4121, LOCATE_parser_prod___AAssignMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i]) return;
@@ -8080,7 +8123,7 @@ void parser_prod___AAssignMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AAssignMethid___init_aassignmethid(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4081, LOCATE_parser_prod___AAssignMethid___init_aassignmethid};
+  struct trace_t trace = {NULL, NULL, 4123, LOCATE_parser_prod___AAssignMethid___init_aassignmethid};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8089,6 +8132,7 @@ void parser_prod___AAssignMethid___init_aassignmethid(val_t  self, val_t  param0
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i]) return;
+  ((parser_prod___AAssignMethid___empty_init_t)CALL( self,COLOR_parser_prod___AAssignMethid___empty_init))( self, init_table /*YYY*/) /*AAssignMethid::empty_init*/;
   ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ =  variable0 /*n_id*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -8104,7 +8148,7 @@ void parser_prod___AAssignMethid___init_aassignmethid(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AAssignMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4096, LOCATE_parser_prod___AAssignMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 4139, LOCATE_parser_prod___AAssignMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8113,7 +8157,7 @@ void parser_prod___AAssignMethid___replace_child(val_t  self, val_t  param0, val
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssignMethid___replace_child, LOCATE_parser_prod, 4098); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssignMethid___replace_child, LOCATE_parser_prod, 4141); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -8121,7 +8165,7 @@ void parser_prod___AAssignMethid___replace_child(val_t  self, val_t  param0, val
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssignMethid___replace_child, LOCATE_parser_prod, 4102); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssignMethid___replace_child, LOCATE_parser_prod, 4145); nit_exit(1);}
       ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ =  NIT_NULL /*null*/;
@@ -8135,7 +8179,7 @@ void parser_prod___AAssignMethid___replace_child(val_t  self, val_t  param0, val
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssignMethid___replace_child, LOCATE_parser_prod, 4112); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssignMethid___replace_child, LOCATE_parser_prod, 4155); nit_exit(1);}
       ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ =  NIT_NULL /*null*/;
@@ -8147,7 +8191,7 @@ void parser_prod___AAssignMethid___replace_child(val_t  self, val_t  param0, val
   return;
 }
 void parser_prod___AAssignMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4121, LOCATE_parser_prod___AAssignMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 4164, LOCATE_parser_prod___AAssignMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8169,7 +8213,7 @@ void parser_prod___AAssignMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssignMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4131, LOCATE_parser_prod___AAssignMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4174, LOCATE_parser_prod___AAssignMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8191,7 +8235,7 @@ void parser_prod___AAssignMethid___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___ABraassignMethid___n_obra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4142, LOCATE_parser_prod___ABraassignMethid___n_obra__eq};
+  struct trace_t trace = {NULL, NULL, 4185, LOCATE_parser_prod___ABraassignMethid___n_obra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8206,7 +8250,7 @@ void parser_prod___ABraassignMethid___n_obra__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraassignMethid___n_cbra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4149, LOCATE_parser_prod___ABraassignMethid___n_cbra__eq};
+  struct trace_t trace = {NULL, NULL, 4192, LOCATE_parser_prod___ABraassignMethid___n_cbra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8221,7 +8265,7 @@ void parser_prod___ABraassignMethid___n_cbra__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraassignMethid___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4156, LOCATE_parser_prod___ABraassignMethid___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 4199, LOCATE_parser_prod___ABraassignMethid___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8236,7 +8280,7 @@ void parser_prod___ABraassignMethid___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraassignMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4164, LOCATE_parser_prod___ABraassignMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 4207, LOCATE_parser_prod___ABraassignMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i]) return;
@@ -8245,7 +8289,7 @@ void parser_prod___ABraassignMethid___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ABraassignMethid___init_abraassignmethid(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4166, LOCATE_parser_prod___ABraassignMethid___init_abraassignmethid};
+  struct trace_t trace = {NULL, NULL, 4209, LOCATE_parser_prod___ABraassignMethid___init_abraassignmethid};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8256,6 +8300,7 @@ void parser_prod___ABraassignMethid___init_abraassignmethid(val_t  self, val_t
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i]) return;
+  ((parser_prod___ABraassignMethid___empty_init_t)CALL( self,COLOR_parser_prod___ABraassignMethid___empty_init))( self, init_table /*YYY*/) /*ABraassignMethid::empty_init*/;
   ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ =  variable0 /*n_obra*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_obra*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_obra*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_obra*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_obra*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_obra*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_obra*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -8276,7 +8321,7 @@ void parser_prod___ABraassignMethid___init_abraassignmethid(val_t  self, val_t
   return;
 }
 void parser_prod___ABraassignMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4186, LOCATE_parser_prod___ABraassignMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 4230, LOCATE_parser_prod___ABraassignMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8285,7 +8330,7 @@ void parser_prod___ABraassignMethid___replace_child(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4188); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4232); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -8293,7 +8338,7 @@ void parser_prod___ABraassignMethid___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4192); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4236); nit_exit(1);}
       ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ =  NIT_NULL /*null*/;
@@ -8307,7 +8352,7 @@ void parser_prod___ABraassignMethid___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4202); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4246); nit_exit(1);}
       ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ =  NIT_NULL /*null*/;
@@ -8321,7 +8366,7 @@ void parser_prod___ABraassignMethid___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4212); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4256); nit_exit(1);}
       ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ =  NIT_NULL /*null*/;
@@ -8333,7 +8378,7 @@ void parser_prod___ABraassignMethid___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ABraassignMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4221, LOCATE_parser_prod___ABraassignMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 4265, LOCATE_parser_prod___ABraassignMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8361,7 +8406,7 @@ void parser_prod___ABraassignMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraassignMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4234, LOCATE_parser_prod___ABraassignMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4278, LOCATE_parser_prod___ABraassignMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8389,7 +8434,7 @@ void parser_prod___ABraassignMethid___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___ASignature___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4248, LOCATE_parser_prod___ASignature___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 4292, LOCATE_parser_prod___ASignature___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8404,7 +8449,7 @@ void parser_prod___ASignature___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASignature___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4256, LOCATE_parser_prod___ASignature___empty_init};
+  struct trace_t trace = {NULL, NULL, 4300, LOCATE_parser_prod___ASignature___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i]) return;
@@ -8413,7 +8458,7 @@ void parser_prod___ASignature___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ASignature___init_asignature(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4258, LOCATE_parser_prod___ASignature___init_asignature};
+  struct trace_t trace = {NULL, NULL, 4302, LOCATE_parser_prod___ASignature___init_asignature};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8424,7 +8469,8 @@ void parser_prod___ASignature___init_asignature(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i]) return;
-  variable2 = NEW_list___List___init(); /*new List[E]*/
+  ((parser_prod___ASignature___empty_init_t)CALL( self,COLOR_parser_prod___ASignature___empty_init))( self, init_table /*YYY*/) /*ASignature::empty_init*/;
+  variable2 = NEW_List_list___List___init(); /*new List[PParam]*/
   ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/ = variable2;
   variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_params*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_params*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -8432,7 +8478,7 @@ void parser_prod___ASignature___init_asignature(val_t  self, val_t  param0, val_
     if (!UNTAG_Bool(variable3)) break; /*for*/
     variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
     variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
-    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___init_asignature, LOCATE_parser_prod, 4265); nit_exit(1);}
+    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___init_asignature, LOCATE_parser_prod, 4310); nit_exit(1);}
     variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable3 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/,  self) /*PNode::parent=*/;
@@ -8450,7 +8496,7 @@ void parser_prod___ASignature___init_asignature(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ASignature___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4275, LOCATE_parser_prod___ASignature___replace_child};
+  struct trace_t trace = {NULL, NULL, 4320, LOCATE_parser_prod___ASignature___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8461,10 +8507,10 @@ void parser_prod___ASignature___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___replace_child, LOCATE_parser_prod, 4277); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___replace_child, LOCATE_parser_prod, 4322); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -8478,7 +8524,7 @@ void parser_prod___ASignature___replace_child(val_t  self, val_t  param0, val_t
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___replace_child, LOCATE_parser_prod, 4281); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___replace_child, LOCATE_parser_prod, 4326); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -8499,7 +8545,7 @@ void parser_prod___ASignature___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___replace_child, LOCATE_parser_prod, 4293); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___replace_child, LOCATE_parser_prod, 4338); nit_exit(1);}
       ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ =  NIT_NULL /*null*/;
@@ -8511,7 +8557,7 @@ void parser_prod___ASignature___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASignature___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4302, LOCATE_parser_prod___ASignature___visit_all};
+  struct trace_t trace = {NULL, NULL, 4347, LOCATE_parser_prod___ASignature___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -8539,7 +8585,7 @@ void parser_prod___ASignature___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASignature___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4312, LOCATE_parser_prod___ASignature___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4357, LOCATE_parser_prod___ASignature___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8570,7 +8616,7 @@ void parser_prod___ASignature___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParam___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4327, LOCATE_parser_prod___AParam___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 4372, LOCATE_parser_prod___AParam___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8585,7 +8631,7 @@ void parser_prod___AParam___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParam___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4334, LOCATE_parser_prod___AParam___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 4379, LOCATE_parser_prod___AParam___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8600,7 +8646,7 @@ void parser_prod___AParam___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParam___n_dotdotdot__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4341, LOCATE_parser_prod___AParam___n_dotdotdot__eq};
+  struct trace_t trace = {NULL, NULL, 4386, LOCATE_parser_prod___AParam___n_dotdotdot__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8615,7 +8661,7 @@ void parser_prod___AParam___n_dotdotdot__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParam___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4349, LOCATE_parser_prod___AParam___empty_init};
+  struct trace_t trace = {NULL, NULL, 4394, LOCATE_parser_prod___AParam___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i]) return;
@@ -8624,7 +8670,7 @@ void parser_prod___AParam___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AParam___init_aparam(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4351, LOCATE_parser_prod___AParam___init_aparam};
+  struct trace_t trace = {NULL, NULL, 4396, LOCATE_parser_prod___AParam___init_aparam};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8635,6 +8681,7 @@ void parser_prod___AParam___init_aparam(val_t  self, val_t  param0, val_t  param
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i]) return;
+  ((parser_prod___AParam___empty_init_t)CALL( self,COLOR_parser_prod___AParam___empty_init))( self, init_table /*YYY*/) /*AParam::empty_init*/;
   ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ =  variable0 /*n_id*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -8655,7 +8702,7 @@ void parser_prod___AParam___init_aparam(val_t  self, val_t  param0, val_t  param
   return;
 }
 void parser_prod___AParam___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4371, LOCATE_parser_prod___AParam___replace_child};
+  struct trace_t trace = {NULL, NULL, 4417, LOCATE_parser_prod___AParam___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8664,7 +8711,7 @@ void parser_prod___AParam___replace_child(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4373); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4419); nit_exit(1);}
   variable2 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -8672,7 +8719,7 @@ void parser_prod___AParam___replace_child(val_t  self, val_t  param0, val_t  par
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4377); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4423); nit_exit(1);}
       ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ =  NIT_NULL /*null*/;
@@ -8686,7 +8733,7 @@ void parser_prod___AParam___replace_child(val_t  self, val_t  param0, val_t  par
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4387); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4433); nit_exit(1);}
       ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ =  NIT_NULL /*null*/;
@@ -8700,7 +8747,7 @@ void parser_prod___AParam___replace_child(val_t  self, val_t  param0, val_t  par
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4397); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4443); nit_exit(1);}
       ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ =  NIT_NULL /*null*/;
@@ -8712,7 +8759,7 @@ void parser_prod___AParam___replace_child(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AParam___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4406, LOCATE_parser_prod___AParam___visit_all};
+  struct trace_t trace = {NULL, NULL, 4452, LOCATE_parser_prod___AParam___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8740,7 +8787,7 @@ void parser_prod___AParam___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParam___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4419, LOCATE_parser_prod___AParam___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4465, LOCATE_parser_prod___AParam___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8768,7 +8815,7 @@ void parser_prod___AParam___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AType___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4433, LOCATE_parser_prod___AType___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 4479, LOCATE_parser_prod___AType___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -8783,7 +8830,7 @@ void parser_prod___AType___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AType___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4441, LOCATE_parser_prod___AType___empty_init};
+  struct trace_t trace = {NULL, NULL, 4487, LOCATE_parser_prod___AType___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i]) return;
@@ -8792,7 +8839,7 @@ void parser_prod___AType___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AType___init_atype(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4443, LOCATE_parser_prod___AType___init_atype};
+  struct trace_t trace = {NULL, NULL, 4489, LOCATE_parser_prod___AType___init_atype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8803,12 +8850,13 @@ void parser_prod___AType___init_atype(val_t  self, val_t  param0, val_t  param1,
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i]) return;
+  ((parser_prod___AType___empty_init_t)CALL( self,COLOR_parser_prod___AType___empty_init))( self, init_table /*YYY*/) /*AType::empty_init*/;
   ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ =  variable0 /*n_id*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*PNode::parent=*/;
   }
-  variable2 = NEW_list___List___init(); /*new List[E]*/
+  variable2 = NEW_List_list___List___init(); /*new List[PType]*/
   ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/ = variable2;
   variable2 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_types*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_types*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -8816,7 +8864,7 @@ void parser_prod___AType___init_atype(val_t  self, val_t  param0, val_t  param1,
     if (!UNTAG_Bool(variable3)) break; /*for*/
     variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
     variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_PType, ID_PType)) /*cast PType*/;
-    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___init_atype, LOCATE_parser_prod, 4454); nit_exit(1);}
+    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___init_atype, LOCATE_parser_prod, 4501); nit_exit(1);}
     variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable3 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/,  self) /*PNode::parent=*/;
@@ -8829,7 +8877,7 @@ void parser_prod___AType___init_atype(val_t  self, val_t  param0, val_t  param1,
   return;
 }
 void parser_prod___AType___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4460, LOCATE_parser_prod___AType___replace_child};
+  struct trace_t trace = {NULL, NULL, 4507, LOCATE_parser_prod___AType___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8840,7 +8888,7 @@ void parser_prod___AType___replace_child(val_t  self, val_t  param0, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___replace_child, LOCATE_parser_prod, 4462); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___replace_child, LOCATE_parser_prod, 4509); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -8848,7 +8896,7 @@ void parser_prod___AType___replace_child(val_t  self, val_t  param0, val_t  para
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___replace_child, LOCATE_parser_prod, 4466); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___replace_child, LOCATE_parser_prod, 4513); nit_exit(1);}
       ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ =  NIT_NULL /*null*/;
@@ -8857,7 +8905,7 @@ void parser_prod___AType___replace_child(val_t  self, val_t  param0, val_t  para
   }
   variable2 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -8871,7 +8919,7 @@ void parser_prod___AType___replace_child(val_t  self, val_t  param0, val_t  para
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___replace_child, LOCATE_parser_prod, 4476); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___replace_child, LOCATE_parser_prod, 4523); nit_exit(1);}
         variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -8890,7 +8938,7 @@ void parser_prod___AType___replace_child(val_t  self, val_t  param0, val_t  para
   return;
 }
 void parser_prod___AType___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4487, LOCATE_parser_prod___AType___visit_all};
+  struct trace_t trace = {NULL, NULL, 4534, LOCATE_parser_prod___AType___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -8918,7 +8966,7 @@ void parser_prod___AType___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AType___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4497, LOCATE_parser_prod___AType___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4544, LOCATE_parser_prod___AType___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8949,7 +8997,7 @@ void parser_prod___AType___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABlockExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4513, LOCATE_parser_prod___ABlockExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4560, LOCATE_parser_prod___ABlockExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i]) return;
@@ -8958,7 +9006,7 @@ void parser_prod___ABlockExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ABlockExpr___init_ablockexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4515, LOCATE_parser_prod___ABlockExpr___init_ablockexpr};
+  struct trace_t trace = {NULL, NULL, 4562, LOCATE_parser_prod___ABlockExpr___init_ablockexpr};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -8967,7 +9015,8 @@ void parser_prod___ABlockExpr___init_ablockexpr(val_t  self, val_t  param0, int*
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[E]*/
+  ((parser_prod___ABlockExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABlockExpr___empty_init))( self, init_table /*YYY*/) /*ABlockExpr::empty_init*/;
+  variable1 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/ = variable1;
   variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_expr*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_expr*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -8975,7 +9024,7 @@ void parser_prod___ABlockExpr___init_ablockexpr(val_t  self, val_t  param0, int*
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABlockExpr___init_ablockexpr, LOCATE_parser_prod, 4521); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABlockExpr___init_ablockexpr, LOCATE_parser_prod, 4569); nit_exit(1);}
     variable3 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable2 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*PNode::parent=*/;
@@ -8988,7 +9037,7 @@ void parser_prod___ABlockExpr___init_ablockexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___ABlockExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4527, LOCATE_parser_prod___ABlockExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4575, LOCATE_parser_prod___ABlockExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8999,10 +9048,10 @@ void parser_prod___ABlockExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABlockExpr___replace_child, LOCATE_parser_prod, 4529); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABlockExpr___replace_child, LOCATE_parser_prod, 4577); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -9016,7 +9065,7 @@ void parser_prod___ABlockExpr___replace_child(val_t  self, val_t  param0, val_t
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABlockExpr___replace_child, LOCATE_parser_prod, 4533); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABlockExpr___replace_child, LOCATE_parser_prod, 4581); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -9035,7 +9084,7 @@ void parser_prod___ABlockExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ABlockExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4544, LOCATE_parser_prod___ABlockExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4592, LOCATE_parser_prod___ABlockExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -9057,7 +9106,7 @@ void parser_prod___ABlockExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABlockExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4551, LOCATE_parser_prod___ABlockExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4599, LOCATE_parser_prod___ABlockExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9082,7 +9131,7 @@ void parser_prod___ABlockExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___n_kwvar__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4563, LOCATE_parser_prod___AVardeclExpr___n_kwvar__eq};
+  struct trace_t trace = {NULL, NULL, 4611, LOCATE_parser_prod___AVardeclExpr___n_kwvar__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9097,7 +9146,7 @@ void parser_prod___AVardeclExpr___n_kwvar__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4570, LOCATE_parser_prod___AVardeclExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 4618, LOCATE_parser_prod___AVardeclExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9112,7 +9161,7 @@ void parser_prod___AVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4577, LOCATE_parser_prod___AVardeclExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 4625, LOCATE_parser_prod___AVardeclExpr___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9127,7 +9176,7 @@ void parser_prod___AVardeclExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4584, LOCATE_parser_prod___AVardeclExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 4632, LOCATE_parser_prod___AVardeclExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9142,7 +9191,7 @@ void parser_prod___AVardeclExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4591, LOCATE_parser_prod___AVardeclExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 4639, LOCATE_parser_prod___AVardeclExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9157,7 +9206,7 @@ void parser_prod___AVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4599, LOCATE_parser_prod___AVardeclExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4647, LOCATE_parser_prod___AVardeclExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i]) return;
@@ -9166,7 +9215,7 @@ void parser_prod___AVardeclExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AVardeclExpr___init_avardeclexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4601, LOCATE_parser_prod___AVardeclExpr___init_avardeclexpr};
+  struct trace_t trace = {NULL, NULL, 4649, LOCATE_parser_prod___AVardeclExpr___init_avardeclexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9181,6 +9230,7 @@ void parser_prod___AVardeclExpr___init_avardeclexpr(val_t  self, val_t  param0,
   variable3 =  param3;
   variable4 =  param4;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i]) return;
+  ((parser_prod___AVardeclExpr___empty_init_t)CALL( self,COLOR_parser_prod___AVardeclExpr___empty_init))( self, init_table /*YYY*/) /*AVardeclExpr::empty_init*/;
   ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ =  variable0 /*n_kwvar*/;
   variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwvar*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwvar*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwvar*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwvar*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwvar*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwvar*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
@@ -9211,7 +9261,7 @@ void parser_prod___AVardeclExpr___init_avardeclexpr(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4631, LOCATE_parser_prod___AVardeclExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4680, LOCATE_parser_prod___AVardeclExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9220,7 +9270,7 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4633); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4682); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -9228,7 +9278,7 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4637); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4686); nit_exit(1);}
       ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ =  NIT_NULL /*null*/;
@@ -9242,7 +9292,7 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4647); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4696); nit_exit(1);}
       ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -9256,7 +9306,7 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4657); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4706); nit_exit(1);}
       ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ =  NIT_NULL /*null*/;
@@ -9270,7 +9320,7 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4667); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4716); nit_exit(1);}
       ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ =  NIT_NULL /*null*/;
@@ -9284,7 +9334,7 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4677); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4726); nit_exit(1);}
       ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -9296,7 +9346,7 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AVardeclExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4686, LOCATE_parser_prod___AVardeclExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4735, LOCATE_parser_prod___AVardeclExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9336,7 +9386,7 @@ void parser_prod___AVardeclExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4705, LOCATE_parser_prod___AVardeclExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4754, LOCATE_parser_prod___AVardeclExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9376,7 +9426,7 @@ void parser_prod___AVardeclExpr___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AReturnExpr___n_kwreturn__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4725, LOCATE_parser_prod___AReturnExpr___n_kwreturn__eq};
+  struct trace_t trace = {NULL, NULL, 4774, LOCATE_parser_prod___AReturnExpr___n_kwreturn__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9391,7 +9441,7 @@ void parser_prod___AReturnExpr___n_kwreturn__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReturnExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4732, LOCATE_parser_prod___AReturnExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 4781, LOCATE_parser_prod___AReturnExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9406,7 +9456,7 @@ void parser_prod___AReturnExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReturnExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4740, LOCATE_parser_prod___AReturnExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4789, LOCATE_parser_prod___AReturnExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i]) return;
@@ -9415,7 +9465,7 @@ void parser_prod___AReturnExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AReturnExpr___init_areturnexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4742, LOCATE_parser_prod___AReturnExpr___init_areturnexpr};
+  struct trace_t trace = {NULL, NULL, 4791, LOCATE_parser_prod___AReturnExpr___init_areturnexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9424,6 +9474,7 @@ void parser_prod___AReturnExpr___init_areturnexpr(val_t  self, val_t  param0, va
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i]) return;
+  ((parser_prod___AReturnExpr___empty_init_t)CALL( self,COLOR_parser_prod___AReturnExpr___empty_init))( self, init_table /*YYY*/) /*AReturnExpr::empty_init*/;
   ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ =  variable0 /*n_kwreturn*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwreturn*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwreturn*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwreturn*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwreturn*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwreturn*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwreturn*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -9439,7 +9490,7 @@ void parser_prod___AReturnExpr___init_areturnexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AReturnExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4757, LOCATE_parser_prod___AReturnExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4807, LOCATE_parser_prod___AReturnExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9448,7 +9499,7 @@ void parser_prod___AReturnExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReturnExpr___replace_child, LOCATE_parser_prod, 4759); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReturnExpr___replace_child, LOCATE_parser_prod, 4809); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -9456,7 +9507,7 @@ void parser_prod___AReturnExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReturnExpr___replace_child, LOCATE_parser_prod, 4763); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReturnExpr___replace_child, LOCATE_parser_prod, 4813); nit_exit(1);}
       ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ =  NIT_NULL /*null*/;
@@ -9470,7 +9521,7 @@ void parser_prod___AReturnExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReturnExpr___replace_child, LOCATE_parser_prod, 4773); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReturnExpr___replace_child, LOCATE_parser_prod, 4823); nit_exit(1);}
       ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -9482,7 +9533,7 @@ void parser_prod___AReturnExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AReturnExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4782, LOCATE_parser_prod___AReturnExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4832, LOCATE_parser_prod___AReturnExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9504,7 +9555,7 @@ void parser_prod___AReturnExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReturnExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4792, LOCATE_parser_prod___AReturnExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4842, LOCATE_parser_prod___AReturnExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9526,7 +9577,7 @@ void parser_prod___AReturnExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABreakExpr___n_kwbreak__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4803, LOCATE_parser_prod___ABreakExpr___n_kwbreak__eq};
+  struct trace_t trace = {NULL, NULL, 4853, LOCATE_parser_prod___ABreakExpr___n_kwbreak__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9541,7 +9592,7 @@ void parser_prod___ABreakExpr___n_kwbreak__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABreakExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4811, LOCATE_parser_prod___ABreakExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4861, LOCATE_parser_prod___ABreakExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i]) return;
@@ -9550,13 +9601,14 @@ void parser_prod___ABreakExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ABreakExpr___init_abreakexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4813, LOCATE_parser_prod___ABreakExpr___init_abreakexpr};
+  struct trace_t trace = {NULL, NULL, 4863, LOCATE_parser_prod___ABreakExpr___init_abreakexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i]) return;
+  ((parser_prod___ABreakExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABreakExpr___empty_init))( self, init_table /*YYY*/) /*ABreakExpr::empty_init*/;
   ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ =  variable0 /*n_kwbreak*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwbreak*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwbreak*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwbreak*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwbreak*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwbreak*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwbreak*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -9567,7 +9619,7 @@ void parser_prod___ABreakExpr___init_abreakexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___ABreakExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4823, LOCATE_parser_prod___ABreakExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4874, LOCATE_parser_prod___ABreakExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9576,7 +9628,7 @@ void parser_prod___ABreakExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABreakExpr___replace_child, LOCATE_parser_prod, 4825); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABreakExpr___replace_child, LOCATE_parser_prod, 4876); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -9584,7 +9636,7 @@ void parser_prod___ABreakExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABreakExpr___replace_child, LOCATE_parser_prod, 4829); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABreakExpr___replace_child, LOCATE_parser_prod, 4880); nit_exit(1);}
       ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ =  NIT_NULL /*null*/;
@@ -9596,7 +9648,7 @@ void parser_prod___ABreakExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ABreakExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4838, LOCATE_parser_prod___ABreakExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4889, LOCATE_parser_prod___ABreakExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9612,7 +9664,7 @@ void parser_prod___ABreakExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABreakExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4845, LOCATE_parser_prod___ABreakExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4896, LOCATE_parser_prod___ABreakExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9628,7 +9680,7 @@ void parser_prod___ABreakExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAbortExpr___n_kwabort__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4853, LOCATE_parser_prod___AAbortExpr___n_kwabort__eq};
+  struct trace_t trace = {NULL, NULL, 4904, LOCATE_parser_prod___AAbortExpr___n_kwabort__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9643,7 +9695,7 @@ void parser_prod___AAbortExpr___n_kwabort__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAbortExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4861, LOCATE_parser_prod___AAbortExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4912, LOCATE_parser_prod___AAbortExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i]) return;
@@ -9652,13 +9704,14 @@ void parser_prod___AAbortExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AAbortExpr___init_aabortexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4863, LOCATE_parser_prod___AAbortExpr___init_aabortexpr};
+  struct trace_t trace = {NULL, NULL, 4914, LOCATE_parser_prod___AAbortExpr___init_aabortexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i]) return;
+  ((parser_prod___AAbortExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAbortExpr___empty_init))( self, init_table /*YYY*/) /*AAbortExpr::empty_init*/;
   ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ =  variable0 /*n_kwabort*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwabort*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwabort*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwabort*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwabort*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwabort*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwabort*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -9669,7 +9722,7 @@ void parser_prod___AAbortExpr___init_aabortexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___AAbortExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4873, LOCATE_parser_prod___AAbortExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4925, LOCATE_parser_prod___AAbortExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9678,7 +9731,7 @@ void parser_prod___AAbortExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbortExpr___replace_child, LOCATE_parser_prod, 4875); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbortExpr___replace_child, LOCATE_parser_prod, 4927); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -9686,7 +9739,7 @@ void parser_prod___AAbortExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbortExpr___replace_child, LOCATE_parser_prod, 4879); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbortExpr___replace_child, LOCATE_parser_prod, 4931); nit_exit(1);}
       ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ =  NIT_NULL /*null*/;
@@ -9698,7 +9751,7 @@ void parser_prod___AAbortExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AAbortExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4888, LOCATE_parser_prod___AAbortExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4940, LOCATE_parser_prod___AAbortExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9714,7 +9767,7 @@ void parser_prod___AAbortExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAbortExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4895, LOCATE_parser_prod___AAbortExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4947, LOCATE_parser_prod___AAbortExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9730,7 +9783,7 @@ void parser_prod___AAbortExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AContinueExpr___n_kwcontinue__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4903, LOCATE_parser_prod___AContinueExpr___n_kwcontinue__eq};
+  struct trace_t trace = {NULL, NULL, 4955, LOCATE_parser_prod___AContinueExpr___n_kwcontinue__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9745,7 +9798,7 @@ void parser_prod___AContinueExpr___n_kwcontinue__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AContinueExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4911, LOCATE_parser_prod___AContinueExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4963, LOCATE_parser_prod___AContinueExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i]) return;
@@ -9754,13 +9807,14 @@ void parser_prod___AContinueExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AContinueExpr___init_acontinueexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4913, LOCATE_parser_prod___AContinueExpr___init_acontinueexpr};
+  struct trace_t trace = {NULL, NULL, 4965, LOCATE_parser_prod___AContinueExpr___init_acontinueexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i]) return;
+  ((parser_prod___AContinueExpr___empty_init_t)CALL( self,COLOR_parser_prod___AContinueExpr___empty_init))( self, init_table /*YYY*/) /*AContinueExpr::empty_init*/;
   ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ =  variable0 /*n_kwcontinue*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwcontinue*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwcontinue*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwcontinue*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwcontinue*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwcontinue*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwcontinue*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -9771,7 +9825,7 @@ void parser_prod___AContinueExpr___init_acontinueexpr(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AContinueExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4923, LOCATE_parser_prod___AContinueExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4976, LOCATE_parser_prod___AContinueExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9780,7 +9834,7 @@ void parser_prod___AContinueExpr___replace_child(val_t  self, val_t  param0, val
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AContinueExpr___replace_child, LOCATE_parser_prod, 4925); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AContinueExpr___replace_child, LOCATE_parser_prod, 4978); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -9788,7 +9842,7 @@ void parser_prod___AContinueExpr___replace_child(val_t  self, val_t  param0, val
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AContinueExpr___replace_child, LOCATE_parser_prod, 4929); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AContinueExpr___replace_child, LOCATE_parser_prod, 4982); nit_exit(1);}
       ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ =  NIT_NULL /*null*/;
@@ -9800,7 +9854,7 @@ void parser_prod___AContinueExpr___replace_child(val_t  self, val_t  param0, val
   return;
 }
 void parser_prod___AContinueExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4938, LOCATE_parser_prod___AContinueExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4991, LOCATE_parser_prod___AContinueExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9816,7 +9870,7 @@ void parser_prod___AContinueExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AContinueExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4945, LOCATE_parser_prod___AContinueExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4998, LOCATE_parser_prod___AContinueExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9832,7 +9886,7 @@ void parser_prod___AContinueExpr___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___ADoExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4953, LOCATE_parser_prod___ADoExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 5006, LOCATE_parser_prod___ADoExpr___n_kwdo__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9847,7 +9901,7 @@ void parser_prod___ADoExpr___n_kwdo__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ADoExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 4960, LOCATE_parser_prod___ADoExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 5013, LOCATE_parser_prod___ADoExpr___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9862,7 +9916,7 @@ void parser_prod___ADoExpr___n_block__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ADoExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4968, LOCATE_parser_prod___ADoExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5021, LOCATE_parser_prod___ADoExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i]) return;
@@ -9871,7 +9925,7 @@ void parser_prod___ADoExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ADoExpr___init_adoexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 4970, LOCATE_parser_prod___ADoExpr___init_adoexpr};
+  struct trace_t trace = {NULL, NULL, 5023, LOCATE_parser_prod___ADoExpr___init_adoexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9880,6 +9934,7 @@ void parser_prod___ADoExpr___init_adoexpr(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i]) return;
+  ((parser_prod___ADoExpr___empty_init_t)CALL( self,COLOR_parser_prod___ADoExpr___empty_init))( self, init_table /*YYY*/) /*ADoExpr::empty_init*/;
   ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ =  variable0 /*n_kwdo*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwdo*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwdo*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwdo*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwdo*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -9895,7 +9950,7 @@ void parser_prod___ADoExpr___init_adoexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___ADoExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 4985, LOCATE_parser_prod___ADoExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5039, LOCATE_parser_prod___ADoExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9904,7 +9959,7 @@ void parser_prod___ADoExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoExpr___replace_child, LOCATE_parser_prod, 4987); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoExpr___replace_child, LOCATE_parser_prod, 5041); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -9912,7 +9967,7 @@ void parser_prod___ADoExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoExpr___replace_child, LOCATE_parser_prod, 4991); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoExpr___replace_child, LOCATE_parser_prod, 5045); nit_exit(1);}
       ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ =  NIT_NULL /*null*/;
@@ -9926,7 +9981,7 @@ void parser_prod___ADoExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoExpr___replace_child, LOCATE_parser_prod, 5001); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoExpr___replace_child, LOCATE_parser_prod, 5055); nit_exit(1);}
       ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ =  NIT_NULL /*null*/;
@@ -9938,7 +9993,7 @@ void parser_prod___ADoExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___ADoExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5010, LOCATE_parser_prod___ADoExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5064, LOCATE_parser_prod___ADoExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9960,7 +10015,7 @@ void parser_prod___ADoExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ADoExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5020, LOCATE_parser_prod___ADoExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5074, LOCATE_parser_prod___ADoExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9982,7 +10037,7 @@ void parser_prod___ADoExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___n_kwif__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5031, LOCATE_parser_prod___AIfExpr___n_kwif__eq};
+  struct trace_t trace = {NULL, NULL, 5085, LOCATE_parser_prod___AIfExpr___n_kwif__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -9997,7 +10052,7 @@ void parser_prod___AIfExpr___n_kwif__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5038, LOCATE_parser_prod___AIfExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5092, LOCATE_parser_prod___AIfExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10012,7 +10067,7 @@ void parser_prod___AIfExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___n_then__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5045, LOCATE_parser_prod___AIfExpr___n_then__eq};
+  struct trace_t trace = {NULL, NULL, 5099, LOCATE_parser_prod___AIfExpr___n_then__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10027,7 +10082,7 @@ void parser_prod___AIfExpr___n_then__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___n_else__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5052, LOCATE_parser_prod___AIfExpr___n_else__eq};
+  struct trace_t trace = {NULL, NULL, 5106, LOCATE_parser_prod___AIfExpr___n_else__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10042,7 +10097,7 @@ void parser_prod___AIfExpr___n_else__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5060, LOCATE_parser_prod___AIfExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5114, LOCATE_parser_prod___AIfExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i]) return;
@@ -10051,7 +10106,7 @@ void parser_prod___AIfExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AIfExpr___init_aifexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5062, LOCATE_parser_prod___AIfExpr___init_aifexpr};
+  struct trace_t trace = {NULL, NULL, 5116, LOCATE_parser_prod___AIfExpr___init_aifexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10064,6 +10119,7 @@ void parser_prod___AIfExpr___init_aifexpr(val_t  self, val_t  param0, val_t  par
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i]) return;
+  ((parser_prod___AIfExpr___empty_init_t)CALL( self,COLOR_parser_prod___AIfExpr___empty_init))( self, init_table /*YYY*/) /*AIfExpr::empty_init*/;
   ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ =  variable0 /*n_kwif*/;
   variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwif*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwif*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwif*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwif*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwif*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwif*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
@@ -10089,7 +10145,7 @@ void parser_prod___AIfExpr___init_aifexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 5087, LOCATE_parser_prod___AIfExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5142, LOCATE_parser_prod___AIfExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10098,7 +10154,7 @@ void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5089); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5144); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -10106,7 +10162,7 @@ void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5093); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5148); nit_exit(1);}
       ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ =  NIT_NULL /*null*/;
@@ -10120,7 +10176,7 @@ void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5103); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5158); nit_exit(1);}
       ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -10134,7 +10190,7 @@ void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5113); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5168); nit_exit(1);}
       ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ =  NIT_NULL /*null*/;
@@ -10148,7 +10204,7 @@ void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5123); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5178); nit_exit(1);}
       ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ =  NIT_NULL /*null*/;
@@ -10160,7 +10216,7 @@ void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AIfExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5132, LOCATE_parser_prod___AIfExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5187, LOCATE_parser_prod___AIfExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10194,7 +10250,7 @@ void parser_prod___AIfExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5148, LOCATE_parser_prod___AIfExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5203, LOCATE_parser_prod___AIfExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10228,7 +10284,7 @@ void parser_prod___AIfExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_kwif__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5165, LOCATE_parser_prod___AIfexprExpr___n_kwif__eq};
+  struct trace_t trace = {NULL, NULL, 5220, LOCATE_parser_prod___AIfexprExpr___n_kwif__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10243,7 +10299,7 @@ void parser_prod___AIfexprExpr___n_kwif__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5172, LOCATE_parser_prod___AIfexprExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5227, LOCATE_parser_prod___AIfexprExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10258,7 +10314,7 @@ void parser_prod___AIfexprExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_kwthen__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5179, LOCATE_parser_prod___AIfexprExpr___n_kwthen__eq};
+  struct trace_t trace = {NULL, NULL, 5234, LOCATE_parser_prod___AIfexprExpr___n_kwthen__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10273,7 +10329,7 @@ void parser_prod___AIfexprExpr___n_kwthen__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_then__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5186, LOCATE_parser_prod___AIfexprExpr___n_then__eq};
+  struct trace_t trace = {NULL, NULL, 5241, LOCATE_parser_prod___AIfexprExpr___n_then__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10288,7 +10344,7 @@ void parser_prod___AIfexprExpr___n_then__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_kwelse__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5193, LOCATE_parser_prod___AIfexprExpr___n_kwelse__eq};
+  struct trace_t trace = {NULL, NULL, 5248, LOCATE_parser_prod___AIfexprExpr___n_kwelse__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10303,7 +10359,7 @@ void parser_prod___AIfexprExpr___n_kwelse__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_else__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5200, LOCATE_parser_prod___AIfexprExpr___n_else__eq};
+  struct trace_t trace = {NULL, NULL, 5255, LOCATE_parser_prod___AIfexprExpr___n_else__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10318,7 +10374,7 @@ void parser_prod___AIfexprExpr___n_else__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5208, LOCATE_parser_prod___AIfexprExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5263, LOCATE_parser_prod___AIfexprExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i]) return;
@@ -10327,7 +10383,7 @@ void parser_prod___AIfexprExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AIfexprExpr___init_aifexprexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5210, LOCATE_parser_prod___AIfexprExpr___init_aifexprexpr};
+  struct trace_t trace = {NULL, NULL, 5265, LOCATE_parser_prod___AIfexprExpr___init_aifexprexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10344,6 +10400,7 @@ void parser_prod___AIfexprExpr___init_aifexprexpr(val_t  self, val_t  param0, va
   variable4 =  param4;
   variable5 =  param5;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i]) return;
+  ((parser_prod___AIfexprExpr___empty_init_t)CALL( self,COLOR_parser_prod___AIfexprExpr___empty_init))( self, init_table /*YYY*/) /*AIfexprExpr::empty_init*/;
   ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ =  variable0 /*n_kwif*/;
   variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwif*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwif*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwif*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwif*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwif*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwif*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
@@ -10379,7 +10436,7 @@ void parser_prod___AIfexprExpr___init_aifexprexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 5245, LOCATE_parser_prod___AIfexprExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5301, LOCATE_parser_prod___AIfexprExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10388,7 +10445,7 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5247); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5303); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -10396,7 +10453,7 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5251); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5307); nit_exit(1);}
       ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ =  NIT_NULL /*null*/;
@@ -10410,7 +10467,7 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5261); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5317); nit_exit(1);}
       ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -10424,7 +10481,7 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5271); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5327); nit_exit(1);}
       ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ =  NIT_NULL /*null*/;
@@ -10438,7 +10495,7 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5281); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5337); nit_exit(1);}
       ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ =  NIT_NULL /*null*/;
@@ -10452,7 +10509,7 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5291); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5347); nit_exit(1);}
       ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ =  NIT_NULL /*null*/;
@@ -10466,7 +10523,7 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5301); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5357); nit_exit(1);}
       ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ =  NIT_NULL /*null*/;
@@ -10478,7 +10535,7 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AIfexprExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5310, LOCATE_parser_prod___AIfexprExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5366, LOCATE_parser_prod___AIfexprExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10524,7 +10581,7 @@ void parser_prod___AIfexprExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5332, LOCATE_parser_prod___AIfexprExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5388, LOCATE_parser_prod___AIfexprExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10570,7 +10627,7 @@ void parser_prod___AIfexprExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___n_kwwhile__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5355, LOCATE_parser_prod___AWhileExpr___n_kwwhile__eq};
+  struct trace_t trace = {NULL, NULL, 5411, LOCATE_parser_prod___AWhileExpr___n_kwwhile__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10585,7 +10642,7 @@ void parser_prod___AWhileExpr___n_kwwhile__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5362, LOCATE_parser_prod___AWhileExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5418, LOCATE_parser_prod___AWhileExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10600,7 +10657,7 @@ void parser_prod___AWhileExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5369, LOCATE_parser_prod___AWhileExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 5425, LOCATE_parser_prod___AWhileExpr___n_kwdo__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10615,7 +10672,7 @@ void parser_prod___AWhileExpr___n_kwdo__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5376, LOCATE_parser_prod___AWhileExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 5432, LOCATE_parser_prod___AWhileExpr___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10630,7 +10687,7 @@ void parser_prod___AWhileExpr___n_block__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5384, LOCATE_parser_prod___AWhileExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5440, LOCATE_parser_prod___AWhileExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i]) return;
@@ -10639,7 +10696,7 @@ void parser_prod___AWhileExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AWhileExpr___init_awhileexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5386, LOCATE_parser_prod___AWhileExpr___init_awhileexpr};
+  struct trace_t trace = {NULL, NULL, 5442, LOCATE_parser_prod___AWhileExpr___init_awhileexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10652,6 +10709,7 @@ void parser_prod___AWhileExpr___init_awhileexpr(val_t  self, val_t  param0, val_
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i]) return;
+  ((parser_prod___AWhileExpr___empty_init_t)CALL( self,COLOR_parser_prod___AWhileExpr___empty_init))( self, init_table /*YYY*/) /*AWhileExpr::empty_init*/;
   ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ =  variable0 /*n_kwwhile*/;
   variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwwhile*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwwhile*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwwhile*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwwhile*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwwhile*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwwhile*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
@@ -10677,7 +10735,7 @@ void parser_prod___AWhileExpr___init_awhileexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 5411, LOCATE_parser_prod___AWhileExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5468, LOCATE_parser_prod___AWhileExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10686,7 +10744,7 @@ void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5413); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5470); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -10694,7 +10752,7 @@ void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5417); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5474); nit_exit(1);}
       ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ =  NIT_NULL /*null*/;
@@ -10708,7 +10766,7 @@ void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5427); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5484); nit_exit(1);}
       ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -10722,7 +10780,7 @@ void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5437); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5494); nit_exit(1);}
       ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ =  NIT_NULL /*null*/;
@@ -10736,7 +10794,7 @@ void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5447); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5504); nit_exit(1);}
       ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ =  NIT_NULL /*null*/;
@@ -10748,7 +10806,7 @@ void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AWhileExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5456, LOCATE_parser_prod___AWhileExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5513, LOCATE_parser_prod___AWhileExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10782,7 +10840,7 @@ void parser_prod___AWhileExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5472, LOCATE_parser_prod___AWhileExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5529, LOCATE_parser_prod___AWhileExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10816,7 +10874,7 @@ void parser_prod___AWhileExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForExpr___n_vardecl__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5489, LOCATE_parser_prod___AForExpr___n_vardecl__eq};
+  struct trace_t trace = {NULL, NULL, 5546, LOCATE_parser_prod___AForExpr___n_vardecl__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10831,7 +10889,7 @@ void parser_prod___AForExpr___n_vardecl__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5496, LOCATE_parser_prod___AForExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 5553, LOCATE_parser_prod___AForExpr___n_kwdo__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10846,7 +10904,7 @@ void parser_prod___AForExpr___n_kwdo__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5503, LOCATE_parser_prod___AForExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 5560, LOCATE_parser_prod___AForExpr___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10861,7 +10919,7 @@ void parser_prod___AForExpr___n_block__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5511, LOCATE_parser_prod___AForExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5568, LOCATE_parser_prod___AForExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i]) return;
@@ -10870,7 +10928,7 @@ void parser_prod___AForExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AForExpr___init_aforexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5513, LOCATE_parser_prod___AForExpr___init_aforexpr};
+  struct trace_t trace = {NULL, NULL, 5570, LOCATE_parser_prod___AForExpr___init_aforexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10881,6 +10939,7 @@ void parser_prod___AForExpr___init_aforexpr(val_t  self, val_t  param0, val_t  p
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i]) return;
+  ((parser_prod___AForExpr___empty_init_t)CALL( self,COLOR_parser_prod___AForExpr___empty_init))( self, init_table /*YYY*/) /*AForExpr::empty_init*/;
   ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ =  variable0 /*n_vardecl*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_vardecl*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_vardecl*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_vardecl*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_vardecl*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_vardecl*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_vardecl*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -10901,7 +10960,7 @@ void parser_prod___AForExpr___init_aforexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AForExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 5533, LOCATE_parser_prod___AForExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5591, LOCATE_parser_prod___AForExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10910,7 +10969,7 @@ void parser_prod___AForExpr___replace_child(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5535); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5593); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -10918,7 +10977,7 @@ void parser_prod___AForExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5539); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5597); nit_exit(1);}
       ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ =  NIT_NULL /*null*/;
@@ -10932,7 +10991,7 @@ void parser_prod___AForExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5549); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5607); nit_exit(1);}
       ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ =  NIT_NULL /*null*/;
@@ -10946,7 +11005,7 @@ void parser_prod___AForExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5559); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5617); nit_exit(1);}
       ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ =  NIT_NULL /*null*/;
@@ -10958,7 +11017,7 @@ void parser_prod___AForExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AForExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5568, LOCATE_parser_prod___AForExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5626, LOCATE_parser_prod___AForExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -10986,7 +11045,7 @@ void parser_prod___AForExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5581, LOCATE_parser_prod___AForExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5639, LOCATE_parser_prod___AForExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11014,7 +11073,7 @@ void parser_prod___AForExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForVardeclExpr___n_kwfor__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5595, LOCATE_parser_prod___AForVardeclExpr___n_kwfor__eq};
+  struct trace_t trace = {NULL, NULL, 5653, LOCATE_parser_prod___AForVardeclExpr___n_kwfor__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11029,7 +11088,7 @@ void parser_prod___AForVardeclExpr___n_kwfor__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5602, LOCATE_parser_prod___AForVardeclExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 5660, LOCATE_parser_prod___AForVardeclExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11044,7 +11103,7 @@ void parser_prod___AForVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5609, LOCATE_parser_prod___AForVardeclExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5667, LOCATE_parser_prod___AForVardeclExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11059,7 +11118,7 @@ void parser_prod___AForVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForVardeclExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5617, LOCATE_parser_prod___AForVardeclExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5675, LOCATE_parser_prod___AForVardeclExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i]) return;
@@ -11068,7 +11127,7 @@ void parser_prod___AForVardeclExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5619, LOCATE_parser_prod___AForVardeclExpr___init_aforvardeclexpr};
+  struct trace_t trace = {NULL, NULL, 5677, LOCATE_parser_prod___AForVardeclExpr___init_aforvardeclexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11079,6 +11138,7 @@ void parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t  self, val_t  pa
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i]) return;
+  ((parser_prod___AForVardeclExpr___empty_init_t)CALL( self,COLOR_parser_prod___AForVardeclExpr___empty_init))( self, init_table /*YYY*/) /*AForVardeclExpr::empty_init*/;
   ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ =  variable0 /*n_kwfor*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwfor*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwfor*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwfor*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwfor*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwfor*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwfor*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -11099,7 +11159,7 @@ void parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AForVardeclExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 5639, LOCATE_parser_prod___AForVardeclExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5698, LOCATE_parser_prod___AForVardeclExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11108,7 +11168,7 @@ void parser_prod___AForVardeclExpr___replace_child(val_t  self, val_t  param0, v
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5641); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5700); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -11116,7 +11176,7 @@ void parser_prod___AForVardeclExpr___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwfor, ID_TKwfor)) /*cast TKwfor*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5645); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5704); nit_exit(1);}
       ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ =  NIT_NULL /*null*/;
@@ -11130,7 +11190,7 @@ void parser_prod___AForVardeclExpr___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5655); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5714); nit_exit(1);}
       ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -11144,7 +11204,7 @@ void parser_prod___AForVardeclExpr___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5665); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5724); nit_exit(1);}
       ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -11156,7 +11216,7 @@ void parser_prod___AForVardeclExpr___replace_child(val_t  self, val_t  param0, v
   return;
 }
 void parser_prod___AForVardeclExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5674, LOCATE_parser_prod___AForVardeclExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5733, LOCATE_parser_prod___AForVardeclExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11184,7 +11244,7 @@ void parser_prod___AForVardeclExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForVardeclExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5687, LOCATE_parser_prod___AForVardeclExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5746, LOCATE_parser_prod___AForVardeclExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11212,7 +11272,7 @@ void parser_prod___AForVardeclExpr___visit_all_reverse(val_t  self, val_t  param
   return;
 }
 void parser_prod___AAssertExpr___n_kwassert__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5701, LOCATE_parser_prod___AAssertExpr___n_kwassert__eq};
+  struct trace_t trace = {NULL, NULL, 5760, LOCATE_parser_prod___AAssertExpr___n_kwassert__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11227,7 +11287,7 @@ void parser_prod___AAssertExpr___n_kwassert__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssertExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5708, LOCATE_parser_prod___AAssertExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 5767, LOCATE_parser_prod___AAssertExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11242,7 +11302,7 @@ void parser_prod___AAssertExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssertExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5715, LOCATE_parser_prod___AAssertExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5774, LOCATE_parser_prod___AAssertExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11257,7 +11317,7 @@ void parser_prod___AAssertExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssertExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5723, LOCATE_parser_prod___AAssertExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5782, LOCATE_parser_prod___AAssertExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i]) return;
@@ -11266,7 +11326,7 @@ void parser_prod___AAssertExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AAssertExpr___init_aassertexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5725, LOCATE_parser_prod___AAssertExpr___init_aassertexpr};
+  struct trace_t trace = {NULL, NULL, 5784, LOCATE_parser_prod___AAssertExpr___init_aassertexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11277,6 +11337,7 @@ void parser_prod___AAssertExpr___init_aassertexpr(val_t  self, val_t  param0, va
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i]) return;
+  ((parser_prod___AAssertExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAssertExpr___empty_init))( self, init_table /*YYY*/) /*AAssertExpr::empty_init*/;
   ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ =  variable0 /*n_kwassert*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwassert*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwassert*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwassert*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwassert*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwassert*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwassert*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -11297,7 +11358,7 @@ void parser_prod___AAssertExpr___init_aassertexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AAssertExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 5745, LOCATE_parser_prod___AAssertExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5805, LOCATE_parser_prod___AAssertExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11306,7 +11367,7 @@ void parser_prod___AAssertExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5747); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5807); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -11314,7 +11375,7 @@ void parser_prod___AAssertExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5751); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5811); nit_exit(1);}
       ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ =  NIT_NULL /*null*/;
@@ -11328,7 +11389,7 @@ void parser_prod___AAssertExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5761); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5821); nit_exit(1);}
       ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -11342,7 +11403,7 @@ void parser_prod___AAssertExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5771); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5831); nit_exit(1);}
       ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -11354,7 +11415,7 @@ void parser_prod___AAssertExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AAssertExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5780, LOCATE_parser_prod___AAssertExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5840, LOCATE_parser_prod___AAssertExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11382,7 +11443,7 @@ void parser_prod___AAssertExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssertExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5793, LOCATE_parser_prod___AAssertExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5853, LOCATE_parser_prod___AAssertExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11410,7 +11471,7 @@ void parser_prod___AAssertExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOnceExpr___n_kwonce__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5807, LOCATE_parser_prod___AOnceExpr___n_kwonce__eq};
+  struct trace_t trace = {NULL, NULL, 5867, LOCATE_parser_prod___AOnceExpr___n_kwonce__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11425,7 +11486,7 @@ void parser_prod___AOnceExpr___n_kwonce__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOnceExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5814, LOCATE_parser_prod___AOnceExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5874, LOCATE_parser_prod___AOnceExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11440,7 +11501,7 @@ void parser_prod___AOnceExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOnceExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5822, LOCATE_parser_prod___AOnceExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5882, LOCATE_parser_prod___AOnceExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i]) return;
@@ -11449,7 +11510,7 @@ void parser_prod___AOnceExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AOnceExpr___init_aonceexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5824, LOCATE_parser_prod___AOnceExpr___init_aonceexpr};
+  struct trace_t trace = {NULL, NULL, 5884, LOCATE_parser_prod___AOnceExpr___init_aonceexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11458,6 +11519,7 @@ void parser_prod___AOnceExpr___init_aonceexpr(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i]) return;
+  ((parser_prod___AOnceExpr___empty_init_t)CALL( self,COLOR_parser_prod___AOnceExpr___empty_init))( self, init_table /*YYY*/) /*AOnceExpr::empty_init*/;
   ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ =  variable0 /*n_kwonce*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwonce*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwonce*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwonce*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwonce*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwonce*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwonce*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -11473,7 +11535,7 @@ void parser_prod___AOnceExpr___init_aonceexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AOnceExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 5839, LOCATE_parser_prod___AOnceExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5900, LOCATE_parser_prod___AOnceExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11482,7 +11544,7 @@ void parser_prod___AOnceExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOnceExpr___replace_child, LOCATE_parser_prod, 5841); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOnceExpr___replace_child, LOCATE_parser_prod, 5902); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -11490,7 +11552,7 @@ void parser_prod___AOnceExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOnceExpr___replace_child, LOCATE_parser_prod, 5845); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOnceExpr___replace_child, LOCATE_parser_prod, 5906); nit_exit(1);}
       ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ =  NIT_NULL /*null*/;
@@ -11504,7 +11566,7 @@ void parser_prod___AOnceExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOnceExpr___replace_child, LOCATE_parser_prod, 5855); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOnceExpr___replace_child, LOCATE_parser_prod, 5916); nit_exit(1);}
       ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -11516,7 +11578,7 @@ void parser_prod___AOnceExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AOnceExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5864, LOCATE_parser_prod___AOnceExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5925, LOCATE_parser_prod___AOnceExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11538,7 +11600,7 @@ void parser_prod___AOnceExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOnceExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5874, LOCATE_parser_prod___AOnceExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5935, LOCATE_parser_prod___AOnceExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11560,7 +11622,7 @@ void parser_prod___AOnceExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASendExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5885, LOCATE_parser_prod___ASendExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5946, LOCATE_parser_prod___ASendExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11575,7 +11637,7 @@ void parser_prod___ASendExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASendExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5893, LOCATE_parser_prod___ASendExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5954, LOCATE_parser_prod___ASendExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i]) return;
@@ -11584,13 +11646,14 @@ void parser_prod___ASendExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ASendExpr___init_asendexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5895, LOCATE_parser_prod___ASendExpr___init_asendexpr};
+  struct trace_t trace = {NULL, NULL, 5956, LOCATE_parser_prod___ASendExpr___init_asendexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i]) return;
+  ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -11601,7 +11664,7 @@ void parser_prod___ASendExpr___init_asendexpr(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ASendExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 5905, LOCATE_parser_prod___ASendExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5967, LOCATE_parser_prod___ASendExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11610,7 +11673,7 @@ void parser_prod___ASendExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASendExpr___replace_child, LOCATE_parser_prod, 5907); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASendExpr___replace_child, LOCATE_parser_prod, 5969); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -11618,7 +11681,7 @@ void parser_prod___ASendExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASendExpr___replace_child, LOCATE_parser_prod, 5911); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASendExpr___replace_child, LOCATE_parser_prod, 5973); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -11630,7 +11693,7 @@ void parser_prod___ASendExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASendExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5920, LOCATE_parser_prod___ASendExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5982, LOCATE_parser_prod___ASendExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11646,7 +11709,7 @@ void parser_prod___ASendExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASendExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5927, LOCATE_parser_prod___ASendExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5989, LOCATE_parser_prod___ASendExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11662,7 +11725,7 @@ void parser_prod___ASendExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABinopExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5935, LOCATE_parser_prod___ABinopExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5997, LOCATE_parser_prod___ABinopExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11677,7 +11740,7 @@ void parser_prod___ABinopExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABinopExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5942, LOCATE_parser_prod___ABinopExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6004, LOCATE_parser_prod___ABinopExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11692,7 +11755,7 @@ void parser_prod___ABinopExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABinopExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5950, LOCATE_parser_prod___ABinopExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6012, LOCATE_parser_prod___ABinopExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i]) return;
@@ -11702,7 +11765,7 @@ void parser_prod___ABinopExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ABinopExpr___init_abinopexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 5952, LOCATE_parser_prod___ABinopExpr___init_abinopexpr};
+  struct trace_t trace = {NULL, NULL, 6014, LOCATE_parser_prod___ABinopExpr___init_abinopexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11711,7 +11774,7 @@ void parser_prod___ABinopExpr___init_abinopexpr(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i]) return;
-  ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
+  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -11727,7 +11790,7 @@ void parser_prod___ABinopExpr___init_abinopexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ABinopExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 5967, LOCATE_parser_prod___ABinopExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6030, LOCATE_parser_prod___ABinopExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11736,7 +11799,7 @@ void parser_prod___ABinopExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABinopExpr___replace_child, LOCATE_parser_prod, 5969); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABinopExpr___replace_child, LOCATE_parser_prod, 6032); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -11744,7 +11807,7 @@ void parser_prod___ABinopExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABinopExpr___replace_child, LOCATE_parser_prod, 5973); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABinopExpr___replace_child, LOCATE_parser_prod, 6036); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -11758,7 +11821,7 @@ void parser_prod___ABinopExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABinopExpr___replace_child, LOCATE_parser_prod, 5983); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABinopExpr___replace_child, LOCATE_parser_prod, 6046); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -11770,7 +11833,7 @@ void parser_prod___ABinopExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ABinopExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 5992, LOCATE_parser_prod___ABinopExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6055, LOCATE_parser_prod___ABinopExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11792,7 +11855,7 @@ void parser_prod___ABinopExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABinopExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6002, LOCATE_parser_prod___ABinopExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6065, LOCATE_parser_prod___ABinopExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11814,7 +11877,7 @@ void parser_prod___ABinopExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6013, LOCATE_parser_prod___AOrExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6076, LOCATE_parser_prod___AOrExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11829,7 +11892,7 @@ void parser_prod___AOrExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6020, LOCATE_parser_prod___AOrExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6083, LOCATE_parser_prod___AOrExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11844,7 +11907,7 @@ void parser_prod___AOrExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6028, LOCATE_parser_prod___AOrExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6091, LOCATE_parser_prod___AOrExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i]) return;
@@ -11853,7 +11916,7 @@ void parser_prod___AOrExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AOrExpr___init_aorexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6030, LOCATE_parser_prod___AOrExpr___init_aorexpr};
+  struct trace_t trace = {NULL, NULL, 6093, LOCATE_parser_prod___AOrExpr___init_aorexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11862,6 +11925,7 @@ void parser_prod___AOrExpr___init_aorexpr(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i]) return;
+  ((parser_prod___AOrExpr___empty_init_t)CALL( self,COLOR_parser_prod___AOrExpr___empty_init))( self, init_table /*YYY*/) /*AOrExpr::empty_init*/;
   ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -11877,7 +11941,7 @@ void parser_prod___AOrExpr___init_aorexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AOrExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6045, LOCATE_parser_prod___AOrExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6109, LOCATE_parser_prod___AOrExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11886,7 +11950,7 @@ void parser_prod___AOrExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrExpr___replace_child, LOCATE_parser_prod, 6047); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrExpr___replace_child, LOCATE_parser_prod, 6111); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -11894,7 +11958,7 @@ void parser_prod___AOrExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrExpr___replace_child, LOCATE_parser_prod, 6051); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrExpr___replace_child, LOCATE_parser_prod, 6115); nit_exit(1);}
       ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -11908,7 +11972,7 @@ void parser_prod___AOrExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrExpr___replace_child, LOCATE_parser_prod, 6061); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrExpr___replace_child, LOCATE_parser_prod, 6125); nit_exit(1);}
       ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -11920,7 +11984,7 @@ void parser_prod___AOrExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AOrExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6070, LOCATE_parser_prod___AOrExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6134, LOCATE_parser_prod___AOrExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11942,7 +12006,7 @@ void parser_prod___AOrExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6080, LOCATE_parser_prod___AOrExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6144, LOCATE_parser_prod___AOrExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11964,7 +12028,7 @@ void parser_prod___AOrExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAndExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6091, LOCATE_parser_prod___AAndExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6155, LOCATE_parser_prod___AAndExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11979,7 +12043,7 @@ void parser_prod___AAndExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAndExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6098, LOCATE_parser_prod___AAndExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6162, LOCATE_parser_prod___AAndExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -11994,7 +12058,7 @@ void parser_prod___AAndExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAndExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6106, LOCATE_parser_prod___AAndExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6170, LOCATE_parser_prod___AAndExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i]) return;
@@ -12003,7 +12067,7 @@ void parser_prod___AAndExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AAndExpr___init_aandexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6108, LOCATE_parser_prod___AAndExpr___init_aandexpr};
+  struct trace_t trace = {NULL, NULL, 6172, LOCATE_parser_prod___AAndExpr___init_aandexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12012,6 +12076,7 @@ void parser_prod___AAndExpr___init_aandexpr(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i]) return;
+  ((parser_prod___AAndExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAndExpr___empty_init))( self, init_table /*YYY*/) /*AAndExpr::empty_init*/;
   ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12027,7 +12092,7 @@ void parser_prod___AAndExpr___init_aandexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AAndExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6123, LOCATE_parser_prod___AAndExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6188, LOCATE_parser_prod___AAndExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12036,7 +12101,7 @@ void parser_prod___AAndExpr___replace_child(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAndExpr___replace_child, LOCATE_parser_prod, 6125); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAndExpr___replace_child, LOCATE_parser_prod, 6190); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12044,7 +12109,7 @@ void parser_prod___AAndExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAndExpr___replace_child, LOCATE_parser_prod, 6129); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAndExpr___replace_child, LOCATE_parser_prod, 6194); nit_exit(1);}
       ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -12058,7 +12123,7 @@ void parser_prod___AAndExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAndExpr___replace_child, LOCATE_parser_prod, 6139); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAndExpr___replace_child, LOCATE_parser_prod, 6204); nit_exit(1);}
       ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -12070,7 +12135,7 @@ void parser_prod___AAndExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AAndExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6148, LOCATE_parser_prod___AAndExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6213, LOCATE_parser_prod___AAndExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12092,7 +12157,7 @@ void parser_prod___AAndExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAndExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6158, LOCATE_parser_prod___AAndExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6223, LOCATE_parser_prod___AAndExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12114,7 +12179,7 @@ void parser_prod___AAndExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANotExpr___n_kwnot__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6169, LOCATE_parser_prod___ANotExpr___n_kwnot__eq};
+  struct trace_t trace = {NULL, NULL, 6234, LOCATE_parser_prod___ANotExpr___n_kwnot__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12129,7 +12194,7 @@ void parser_prod___ANotExpr___n_kwnot__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANotExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6176, LOCATE_parser_prod___ANotExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6241, LOCATE_parser_prod___ANotExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12144,7 +12209,7 @@ void parser_prod___ANotExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANotExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6184, LOCATE_parser_prod___ANotExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6249, LOCATE_parser_prod___ANotExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i]) return;
@@ -12153,7 +12218,7 @@ void parser_prod___ANotExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ANotExpr___init_anotexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6186, LOCATE_parser_prod___ANotExpr___init_anotexpr};
+  struct trace_t trace = {NULL, NULL, 6251, LOCATE_parser_prod___ANotExpr___init_anotexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12162,6 +12227,7 @@ void parser_prod___ANotExpr___init_anotexpr(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i]) return;
+  ((parser_prod___ANotExpr___empty_init_t)CALL( self,COLOR_parser_prod___ANotExpr___empty_init))( self, init_table /*YYY*/) /*ANotExpr::empty_init*/;
   ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ =  variable0 /*n_kwnot*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwnot*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwnot*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnot*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwnot*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnot*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwnot*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12177,7 +12243,7 @@ void parser_prod___ANotExpr___init_anotexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ANotExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6201, LOCATE_parser_prod___ANotExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6267, LOCATE_parser_prod___ANotExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12186,7 +12252,7 @@ void parser_prod___ANotExpr___replace_child(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANotExpr___replace_child, LOCATE_parser_prod, 6203); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANotExpr___replace_child, LOCATE_parser_prod, 6269); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12194,7 +12260,7 @@ void parser_prod___ANotExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANotExpr___replace_child, LOCATE_parser_prod, 6207); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANotExpr___replace_child, LOCATE_parser_prod, 6273); nit_exit(1);}
       ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ =  NIT_NULL /*null*/;
@@ -12208,7 +12274,7 @@ void parser_prod___ANotExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANotExpr___replace_child, LOCATE_parser_prod, 6217); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANotExpr___replace_child, LOCATE_parser_prod, 6283); nit_exit(1);}
       ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -12220,7 +12286,7 @@ void parser_prod___ANotExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ANotExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6226, LOCATE_parser_prod___ANotExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6292, LOCATE_parser_prod___ANotExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12242,7 +12308,7 @@ void parser_prod___ANotExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANotExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6236, LOCATE_parser_prod___ANotExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6302, LOCATE_parser_prod___ANotExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12264,7 +12330,7 @@ void parser_prod___ANotExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6247, LOCATE_parser_prod___AEqExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6313, LOCATE_parser_prod___AEqExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12279,7 +12345,7 @@ void parser_prod___AEqExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6254, LOCATE_parser_prod___AEqExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6320, LOCATE_parser_prod___AEqExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12294,7 +12360,7 @@ void parser_prod___AEqExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6262, LOCATE_parser_prod___AEqExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6328, LOCATE_parser_prod___AEqExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i]) return;
@@ -12304,7 +12370,7 @@ void parser_prod___AEqExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AEqExpr___init_aeqexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6264, LOCATE_parser_prod___AEqExpr___init_aeqexpr};
+  struct trace_t trace = {NULL, NULL, 6330, LOCATE_parser_prod___AEqExpr___init_aeqexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12313,7 +12379,7 @@ void parser_prod___AEqExpr___init_aeqexpr(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___AEqExpr___empty_init_t)CALL( self,COLOR_parser_prod___AEqExpr___empty_init))( self, init_table /*YYY*/) /*AEqExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12329,7 +12395,7 @@ void parser_prod___AEqExpr___init_aeqexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AEqExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6279, LOCATE_parser_prod___AEqExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6346, LOCATE_parser_prod___AEqExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12338,7 +12404,7 @@ void parser_prod___AEqExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqExpr___replace_child, LOCATE_parser_prod, 6281); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqExpr___replace_child, LOCATE_parser_prod, 6348); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12346,7 +12412,7 @@ void parser_prod___AEqExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqExpr___replace_child, LOCATE_parser_prod, 6285); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqExpr___replace_child, LOCATE_parser_prod, 6352); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -12360,7 +12426,7 @@ void parser_prod___AEqExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqExpr___replace_child, LOCATE_parser_prod, 6295); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqExpr___replace_child, LOCATE_parser_prod, 6362); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -12372,7 +12438,7 @@ void parser_prod___AEqExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AEqExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6304, LOCATE_parser_prod___AEqExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6371, LOCATE_parser_prod___AEqExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12394,7 +12460,7 @@ void parser_prod___AEqExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6314, LOCATE_parser_prod___AEqExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6381, LOCATE_parser_prod___AEqExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12416,7 +12482,7 @@ void parser_prod___AEqExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6325, LOCATE_parser_prod___AEeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6392, LOCATE_parser_prod___AEeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12431,7 +12497,7 @@ void parser_prod___AEeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6332, LOCATE_parser_prod___AEeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6399, LOCATE_parser_prod___AEeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12446,7 +12512,7 @@ void parser_prod___AEeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6340, LOCATE_parser_prod___AEeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6407, LOCATE_parser_prod___AEeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i]) return;
@@ -12455,7 +12521,7 @@ void parser_prod___AEeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AEeExpr___init_aeeexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6342, LOCATE_parser_prod___AEeExpr___init_aeeexpr};
+  struct trace_t trace = {NULL, NULL, 6409, LOCATE_parser_prod___AEeExpr___init_aeeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12464,6 +12530,7 @@ void parser_prod___AEeExpr___init_aeeexpr(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i]) return;
+  ((parser_prod___AEeExpr___empty_init_t)CALL( self,COLOR_parser_prod___AEeExpr___empty_init))( self, init_table /*YYY*/) /*AEeExpr::empty_init*/;
   ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12479,7 +12546,7 @@ void parser_prod___AEeExpr___init_aeeexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AEeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6357, LOCATE_parser_prod___AEeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6425, LOCATE_parser_prod___AEeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12488,7 +12555,7 @@ void parser_prod___AEeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEeExpr___replace_child, LOCATE_parser_prod, 6359); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEeExpr___replace_child, LOCATE_parser_prod, 6427); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12496,7 +12563,7 @@ void parser_prod___AEeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEeExpr___replace_child, LOCATE_parser_prod, 6363); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEeExpr___replace_child, LOCATE_parser_prod, 6431); nit_exit(1);}
       ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -12510,7 +12577,7 @@ void parser_prod___AEeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEeExpr___replace_child, LOCATE_parser_prod, 6373); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEeExpr___replace_child, LOCATE_parser_prod, 6441); nit_exit(1);}
       ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -12522,7 +12589,7 @@ void parser_prod___AEeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AEeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6382, LOCATE_parser_prod___AEeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6450, LOCATE_parser_prod___AEeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12544,7 +12611,7 @@ void parser_prod___AEeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6392, LOCATE_parser_prod___AEeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6460, LOCATE_parser_prod___AEeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12566,7 +12633,7 @@ void parser_prod___AEeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6403, LOCATE_parser_prod___ANeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6471, LOCATE_parser_prod___ANeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12581,7 +12648,7 @@ void parser_prod___ANeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6410, LOCATE_parser_prod___ANeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6478, LOCATE_parser_prod___ANeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12596,7 +12663,7 @@ void parser_prod___ANeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6418, LOCATE_parser_prod___ANeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6486, LOCATE_parser_prod___ANeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i]) return;
@@ -12606,7 +12673,7 @@ void parser_prod___ANeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ANeExpr___init_aneexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6420, LOCATE_parser_prod___ANeExpr___init_aneexpr};
+  struct trace_t trace = {NULL, NULL, 6488, LOCATE_parser_prod___ANeExpr___init_aneexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12615,7 +12682,7 @@ void parser_prod___ANeExpr___init_aneexpr(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___ANeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ANeExpr___empty_init))( self, init_table /*YYY*/) /*ANeExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12631,7 +12698,7 @@ void parser_prod___ANeExpr___init_aneexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___ANeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6435, LOCATE_parser_prod___ANeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6504, LOCATE_parser_prod___ANeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12640,7 +12707,7 @@ void parser_prod___ANeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeExpr___replace_child, LOCATE_parser_prod, 6437); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeExpr___replace_child, LOCATE_parser_prod, 6506); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12648,7 +12715,7 @@ void parser_prod___ANeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeExpr___replace_child, LOCATE_parser_prod, 6441); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeExpr___replace_child, LOCATE_parser_prod, 6510); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -12662,7 +12729,7 @@ void parser_prod___ANeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeExpr___replace_child, LOCATE_parser_prod, 6451); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeExpr___replace_child, LOCATE_parser_prod, 6520); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -12674,7 +12741,7 @@ void parser_prod___ANeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___ANeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6460, LOCATE_parser_prod___ANeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6529, LOCATE_parser_prod___ANeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12696,7 +12763,7 @@ void parser_prod___ANeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6470, LOCATE_parser_prod___ANeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6539, LOCATE_parser_prod___ANeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12718,7 +12785,7 @@ void parser_prod___ANeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6481, LOCATE_parser_prod___ALtExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6550, LOCATE_parser_prod___ALtExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12733,7 +12800,7 @@ void parser_prod___ALtExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6488, LOCATE_parser_prod___ALtExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6557, LOCATE_parser_prod___ALtExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12748,7 +12815,7 @@ void parser_prod___ALtExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6496, LOCATE_parser_prod___ALtExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6565, LOCATE_parser_prod___ALtExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i]) return;
@@ -12758,7 +12825,7 @@ void parser_prod___ALtExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ALtExpr___init_altexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6498, LOCATE_parser_prod___ALtExpr___init_altexpr};
+  struct trace_t trace = {NULL, NULL, 6567, LOCATE_parser_prod___ALtExpr___init_altexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12767,7 +12834,7 @@ void parser_prod___ALtExpr___init_altexpr(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___ALtExpr___empty_init_t)CALL( self,COLOR_parser_prod___ALtExpr___empty_init))( self, init_table /*YYY*/) /*ALtExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12783,7 +12850,7 @@ void parser_prod___ALtExpr___init_altexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___ALtExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6513, LOCATE_parser_prod___ALtExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6583, LOCATE_parser_prod___ALtExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12792,7 +12859,7 @@ void parser_prod___ALtExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtExpr___replace_child, LOCATE_parser_prod, 6515); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtExpr___replace_child, LOCATE_parser_prod, 6585); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12800,7 +12867,7 @@ void parser_prod___ALtExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtExpr___replace_child, LOCATE_parser_prod, 6519); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtExpr___replace_child, LOCATE_parser_prod, 6589); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -12814,7 +12881,7 @@ void parser_prod___ALtExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtExpr___replace_child, LOCATE_parser_prod, 6529); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtExpr___replace_child, LOCATE_parser_prod, 6599); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -12826,7 +12893,7 @@ void parser_prod___ALtExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___ALtExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6538, LOCATE_parser_prod___ALtExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6608, LOCATE_parser_prod___ALtExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12848,7 +12915,7 @@ void parser_prod___ALtExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6548, LOCATE_parser_prod___ALtExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6618, LOCATE_parser_prod___ALtExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12870,7 +12937,7 @@ void parser_prod___ALtExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6559, LOCATE_parser_prod___ALeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6629, LOCATE_parser_prod___ALeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12885,7 +12952,7 @@ void parser_prod___ALeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6566, LOCATE_parser_prod___ALeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6636, LOCATE_parser_prod___ALeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -12900,7 +12967,7 @@ void parser_prod___ALeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6574, LOCATE_parser_prod___ALeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6644, LOCATE_parser_prod___ALeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i]) return;
@@ -12910,7 +12977,7 @@ void parser_prod___ALeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ALeExpr___init_aleexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6576, LOCATE_parser_prod___ALeExpr___init_aleexpr};
+  struct trace_t trace = {NULL, NULL, 6646, LOCATE_parser_prod___ALeExpr___init_aleexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12919,7 +12986,7 @@ void parser_prod___ALeExpr___init_aleexpr(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___ALeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ALeExpr___empty_init))( self, init_table /*YYY*/) /*ALeExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12935,7 +13002,7 @@ void parser_prod___ALeExpr___init_aleexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___ALeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6591, LOCATE_parser_prod___ALeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6662, LOCATE_parser_prod___ALeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12944,7 +13011,7 @@ void parser_prod___ALeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeExpr___replace_child, LOCATE_parser_prod, 6593); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeExpr___replace_child, LOCATE_parser_prod, 6664); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -12952,7 +13019,7 @@ void parser_prod___ALeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeExpr___replace_child, LOCATE_parser_prod, 6597); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeExpr___replace_child, LOCATE_parser_prod, 6668); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -12966,7 +13033,7 @@ void parser_prod___ALeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeExpr___replace_child, LOCATE_parser_prod, 6607); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeExpr___replace_child, LOCATE_parser_prod, 6678); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -12978,7 +13045,7 @@ void parser_prod___ALeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___ALeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6616, LOCATE_parser_prod___ALeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6687, LOCATE_parser_prod___ALeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13000,7 +13067,7 @@ void parser_prod___ALeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6626, LOCATE_parser_prod___ALeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6697, LOCATE_parser_prod___ALeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13022,7 +13089,7 @@ void parser_prod___ALeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6637, LOCATE_parser_prod___AGtExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6708, LOCATE_parser_prod___AGtExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13037,7 +13104,7 @@ void parser_prod___AGtExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6644, LOCATE_parser_prod___AGtExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6715, LOCATE_parser_prod___AGtExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13052,7 +13119,7 @@ void parser_prod___AGtExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6652, LOCATE_parser_prod___AGtExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6723, LOCATE_parser_prod___AGtExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i]) return;
@@ -13062,7 +13129,7 @@ void parser_prod___AGtExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AGtExpr___init_agtexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6654, LOCATE_parser_prod___AGtExpr___init_agtexpr};
+  struct trace_t trace = {NULL, NULL, 6725, LOCATE_parser_prod___AGtExpr___init_agtexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13071,7 +13138,7 @@ void parser_prod___AGtExpr___init_agtexpr(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___AGtExpr___empty_init_t)CALL( self,COLOR_parser_prod___AGtExpr___empty_init))( self, init_table /*YYY*/) /*AGtExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13087,7 +13154,7 @@ void parser_prod___AGtExpr___init_agtexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AGtExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6669, LOCATE_parser_prod___AGtExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6741, LOCATE_parser_prod___AGtExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13096,7 +13163,7 @@ void parser_prod___AGtExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtExpr___replace_child, LOCATE_parser_prod, 6671); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtExpr___replace_child, LOCATE_parser_prod, 6743); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13104,7 +13171,7 @@ void parser_prod___AGtExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtExpr___replace_child, LOCATE_parser_prod, 6675); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtExpr___replace_child, LOCATE_parser_prod, 6747); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -13118,7 +13185,7 @@ void parser_prod___AGtExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtExpr___replace_child, LOCATE_parser_prod, 6685); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtExpr___replace_child, LOCATE_parser_prod, 6757); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -13130,7 +13197,7 @@ void parser_prod___AGtExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AGtExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6694, LOCATE_parser_prod___AGtExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6766, LOCATE_parser_prod___AGtExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13152,7 +13219,7 @@ void parser_prod___AGtExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6704, LOCATE_parser_prod___AGtExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6776, LOCATE_parser_prod___AGtExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13174,7 +13241,7 @@ void parser_prod___AGtExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6715, LOCATE_parser_prod___AGeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6787, LOCATE_parser_prod___AGeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13189,7 +13256,7 @@ void parser_prod___AGeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6722, LOCATE_parser_prod___AGeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6794, LOCATE_parser_prod___AGeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13204,7 +13271,7 @@ void parser_prod___AGeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6730, LOCATE_parser_prod___AGeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6802, LOCATE_parser_prod___AGeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i]) return;
@@ -13214,7 +13281,7 @@ void parser_prod___AGeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AGeExpr___init_ageexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6732, LOCATE_parser_prod___AGeExpr___init_ageexpr};
+  struct trace_t trace = {NULL, NULL, 6804, LOCATE_parser_prod___AGeExpr___init_ageexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13223,7 +13290,7 @@ void parser_prod___AGeExpr___init_ageexpr(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___AGeExpr___empty_init_t)CALL( self,COLOR_parser_prod___AGeExpr___empty_init))( self, init_table /*YYY*/) /*AGeExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13239,7 +13306,7 @@ void parser_prod___AGeExpr___init_ageexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AGeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6747, LOCATE_parser_prod___AGeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6820, LOCATE_parser_prod___AGeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13248,7 +13315,7 @@ void parser_prod___AGeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeExpr___replace_child, LOCATE_parser_prod, 6749); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeExpr___replace_child, LOCATE_parser_prod, 6822); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13256,7 +13323,7 @@ void parser_prod___AGeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeExpr___replace_child, LOCATE_parser_prod, 6753); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeExpr___replace_child, LOCATE_parser_prod, 6826); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -13270,7 +13337,7 @@ void parser_prod___AGeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeExpr___replace_child, LOCATE_parser_prod, 6763); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeExpr___replace_child, LOCATE_parser_prod, 6836); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -13282,7 +13349,7 @@ void parser_prod___AGeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AGeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6772, LOCATE_parser_prod___AGeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6845, LOCATE_parser_prod___AGeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13304,7 +13371,7 @@ void parser_prod___AGeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6782, LOCATE_parser_prod___AGeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6855, LOCATE_parser_prod___AGeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13326,7 +13393,7 @@ void parser_prod___AGeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIsaExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6793, LOCATE_parser_prod___AIsaExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6866, LOCATE_parser_prod___AIsaExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13341,7 +13408,7 @@ void parser_prod___AIsaExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIsaExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6800, LOCATE_parser_prod___AIsaExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 6873, LOCATE_parser_prod___AIsaExpr___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13356,7 +13423,7 @@ void parser_prod___AIsaExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIsaExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6808, LOCATE_parser_prod___AIsaExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6881, LOCATE_parser_prod___AIsaExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i]) return;
@@ -13365,7 +13432,7 @@ void parser_prod___AIsaExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AIsaExpr___init_aisaexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6810, LOCATE_parser_prod___AIsaExpr___init_aisaexpr};
+  struct trace_t trace = {NULL, NULL, 6883, LOCATE_parser_prod___AIsaExpr___init_aisaexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13374,6 +13441,7 @@ void parser_prod___AIsaExpr___init_aisaexpr(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i]) return;
+  ((parser_prod___AIsaExpr___empty_init_t)CALL( self,COLOR_parser_prod___AIsaExpr___empty_init))( self, init_table /*YYY*/) /*AIsaExpr::empty_init*/;
   ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13389,7 +13457,7 @@ void parser_prod___AIsaExpr___init_aisaexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AIsaExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6825, LOCATE_parser_prod___AIsaExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6899, LOCATE_parser_prod___AIsaExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13398,7 +13466,7 @@ void parser_prod___AIsaExpr___replace_child(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIsaExpr___replace_child, LOCATE_parser_prod, 6827); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIsaExpr___replace_child, LOCATE_parser_prod, 6901); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13406,7 +13474,7 @@ void parser_prod___AIsaExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIsaExpr___replace_child, LOCATE_parser_prod, 6831); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIsaExpr___replace_child, LOCATE_parser_prod, 6905); nit_exit(1);}
       ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -13420,7 +13488,7 @@ void parser_prod___AIsaExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIsaExpr___replace_child, LOCATE_parser_prod, 6841); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIsaExpr___replace_child, LOCATE_parser_prod, 6915); nit_exit(1);}
       ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ =  NIT_NULL /*null*/;
@@ -13432,7 +13500,7 @@ void parser_prod___AIsaExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AIsaExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6850, LOCATE_parser_prod___AIsaExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6924, LOCATE_parser_prod___AIsaExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13454,7 +13522,7 @@ void parser_prod___AIsaExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIsaExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6860, LOCATE_parser_prod___AIsaExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6934, LOCATE_parser_prod___AIsaExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13476,7 +13544,7 @@ void parser_prod___AIsaExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6871, LOCATE_parser_prod___APlusExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6945, LOCATE_parser_prod___APlusExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13491,7 +13559,7 @@ void parser_prod___APlusExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6878, LOCATE_parser_prod___APlusExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6952, LOCATE_parser_prod___APlusExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13506,7 +13574,7 @@ void parser_prod___APlusExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6886, LOCATE_parser_prod___APlusExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6960, LOCATE_parser_prod___APlusExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i]) return;
@@ -13516,7 +13584,7 @@ void parser_prod___APlusExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___APlusExpr___init_aplusexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6888, LOCATE_parser_prod___APlusExpr___init_aplusexpr};
+  struct trace_t trace = {NULL, NULL, 6962, LOCATE_parser_prod___APlusExpr___init_aplusexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13525,7 +13593,7 @@ void parser_prod___APlusExpr___init_aplusexpr(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___APlusExpr___empty_init_t)CALL( self,COLOR_parser_prod___APlusExpr___empty_init))( self, init_table /*YYY*/) /*APlusExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13541,7 +13609,7 @@ void parser_prod___APlusExpr___init_aplusexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___APlusExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6903, LOCATE_parser_prod___APlusExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6978, LOCATE_parser_prod___APlusExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13550,7 +13618,7 @@ void parser_prod___APlusExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusExpr___replace_child, LOCATE_parser_prod, 6905); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusExpr___replace_child, LOCATE_parser_prod, 6980); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13558,7 +13626,7 @@ void parser_prod___APlusExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusExpr___replace_child, LOCATE_parser_prod, 6909); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusExpr___replace_child, LOCATE_parser_prod, 6984); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -13572,7 +13640,7 @@ void parser_prod___APlusExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusExpr___replace_child, LOCATE_parser_prod, 6919); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusExpr___replace_child, LOCATE_parser_prod, 6994); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -13584,7 +13652,7 @@ void parser_prod___APlusExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___APlusExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6928, LOCATE_parser_prod___APlusExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7003, LOCATE_parser_prod___APlusExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13606,7 +13674,7 @@ void parser_prod___APlusExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6938, LOCATE_parser_prod___APlusExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7013, LOCATE_parser_prod___APlusExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13628,7 +13696,7 @@ void parser_prod___APlusExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6949, LOCATE_parser_prod___AMinusExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7024, LOCATE_parser_prod___AMinusExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13643,7 +13711,7 @@ void parser_prod___AMinusExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 6956, LOCATE_parser_prod___AMinusExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 7031, LOCATE_parser_prod___AMinusExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13658,7 +13726,7 @@ void parser_prod___AMinusExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6964, LOCATE_parser_prod___AMinusExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7039, LOCATE_parser_prod___AMinusExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i]) return;
@@ -13668,7 +13736,7 @@ void parser_prod___AMinusExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AMinusExpr___init_aminusexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 6966, LOCATE_parser_prod___AMinusExpr___init_aminusexpr};
+  struct trace_t trace = {NULL, NULL, 7041, LOCATE_parser_prod___AMinusExpr___init_aminusexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13677,7 +13745,7 @@ void parser_prod___AMinusExpr___init_aminusexpr(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___AMinusExpr___empty_init_t)CALL( self,COLOR_parser_prod___AMinusExpr___empty_init))( self, init_table /*YYY*/) /*AMinusExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13693,7 +13761,7 @@ void parser_prod___AMinusExpr___init_aminusexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AMinusExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 6981, LOCATE_parser_prod___AMinusExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7057, LOCATE_parser_prod___AMinusExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13702,7 +13770,7 @@ void parser_prod___AMinusExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusExpr___replace_child, LOCATE_parser_prod, 6983); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusExpr___replace_child, LOCATE_parser_prod, 7059); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13710,7 +13778,7 @@ void parser_prod___AMinusExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusExpr___replace_child, LOCATE_parser_prod, 6987); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusExpr___replace_child, LOCATE_parser_prod, 7063); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -13724,7 +13792,7 @@ void parser_prod___AMinusExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusExpr___replace_child, LOCATE_parser_prod, 6997); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusExpr___replace_child, LOCATE_parser_prod, 7073); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -13736,7 +13804,7 @@ void parser_prod___AMinusExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AMinusExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7006, LOCATE_parser_prod___AMinusExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7082, LOCATE_parser_prod___AMinusExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13758,7 +13826,7 @@ void parser_prod___AMinusExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7016, LOCATE_parser_prod___AMinusExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7092, LOCATE_parser_prod___AMinusExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13780,7 +13848,7 @@ void parser_prod___AMinusExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7027, LOCATE_parser_prod___AStarshipExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7103, LOCATE_parser_prod___AStarshipExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13795,7 +13863,7 @@ void parser_prod___AStarshipExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7034, LOCATE_parser_prod___AStarshipExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 7110, LOCATE_parser_prod___AStarshipExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13810,7 +13878,7 @@ void parser_prod___AStarshipExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7042, LOCATE_parser_prod___AStarshipExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7118, LOCATE_parser_prod___AStarshipExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i]) return;
@@ -13820,7 +13888,7 @@ void parser_prod___AStarshipExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AStarshipExpr___init_astarshipexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7044, LOCATE_parser_prod___AStarshipExpr___init_astarshipexpr};
+  struct trace_t trace = {NULL, NULL, 7120, LOCATE_parser_prod___AStarshipExpr___init_astarshipexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13829,7 +13897,7 @@ void parser_prod___AStarshipExpr___init_astarshipexpr(val_t  self, val_t  param0
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___AStarshipExpr___empty_init_t)CALL( self,COLOR_parser_prod___AStarshipExpr___empty_init))( self, init_table /*YYY*/) /*AStarshipExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13845,7 +13913,7 @@ void parser_prod___AStarshipExpr___init_astarshipexpr(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AStarshipExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 7059, LOCATE_parser_prod___AStarshipExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7136, LOCATE_parser_prod___AStarshipExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13854,7 +13922,7 @@ void parser_prod___AStarshipExpr___replace_child(val_t  self, val_t  param0, val
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipExpr___replace_child, LOCATE_parser_prod, 7061); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipExpr___replace_child, LOCATE_parser_prod, 7138); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13862,7 +13930,7 @@ void parser_prod___AStarshipExpr___replace_child(val_t  self, val_t  param0, val
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipExpr___replace_child, LOCATE_parser_prod, 7065); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipExpr___replace_child, LOCATE_parser_prod, 7142); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -13876,7 +13944,7 @@ void parser_prod___AStarshipExpr___replace_child(val_t  self, val_t  param0, val
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipExpr___replace_child, LOCATE_parser_prod, 7075); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipExpr___replace_child, LOCATE_parser_prod, 7152); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -13888,7 +13956,7 @@ void parser_prod___AStarshipExpr___replace_child(val_t  self, val_t  param0, val
   return;
 }
 void parser_prod___AStarshipExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7084, LOCATE_parser_prod___AStarshipExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7161, LOCATE_parser_prod___AStarshipExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13910,7 +13978,7 @@ void parser_prod___AStarshipExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7094, LOCATE_parser_prod___AStarshipExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7171, LOCATE_parser_prod___AStarshipExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13932,7 +14000,7 @@ void parser_prod___AStarshipExpr___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AStarExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7105, LOCATE_parser_prod___AStarExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7182, LOCATE_parser_prod___AStarExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13947,7 +14015,7 @@ void parser_prod___AStarExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7112, LOCATE_parser_prod___AStarExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 7189, LOCATE_parser_prod___AStarExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -13962,7 +14030,7 @@ void parser_prod___AStarExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7120, LOCATE_parser_prod___AStarExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7197, LOCATE_parser_prod___AStarExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i]) return;
@@ -13972,7 +14040,7 @@ void parser_prod___AStarExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AStarExpr___init_astarexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7122, LOCATE_parser_prod___AStarExpr___init_astarexpr};
+  struct trace_t trace = {NULL, NULL, 7199, LOCATE_parser_prod___AStarExpr___init_astarexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13981,7 +14049,7 @@ void parser_prod___AStarExpr___init_astarexpr(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___AStarExpr___empty_init_t)CALL( self,COLOR_parser_prod___AStarExpr___empty_init))( self, init_table /*YYY*/) /*AStarExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -13997,7 +14065,7 @@ void parser_prod___AStarExpr___init_astarexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AStarExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 7137, LOCATE_parser_prod___AStarExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7215, LOCATE_parser_prod___AStarExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14006,7 +14074,7 @@ void parser_prod___AStarExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarExpr___replace_child, LOCATE_parser_prod, 7139); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarExpr___replace_child, LOCATE_parser_prod, 7217); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -14014,7 +14082,7 @@ void parser_prod___AStarExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarExpr___replace_child, LOCATE_parser_prod, 7143); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarExpr___replace_child, LOCATE_parser_prod, 7221); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -14028,7 +14096,7 @@ void parser_prod___AStarExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarExpr___replace_child, LOCATE_parser_prod, 7153); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarExpr___replace_child, LOCATE_parser_prod, 7231); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -14040,7 +14108,7 @@ void parser_prod___AStarExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AStarExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7162, LOCATE_parser_prod___AStarExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7240, LOCATE_parser_prod___AStarExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14062,7 +14130,7 @@ void parser_prod___AStarExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7172, LOCATE_parser_prod___AStarExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7250, LOCATE_parser_prod___AStarExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14084,7 +14152,7 @@ void parser_prod___AStarExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7183, LOCATE_parser_prod___ASlashExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7261, LOCATE_parser_prod___ASlashExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14099,7 +14167,7 @@ void parser_prod___ASlashExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7190, LOCATE_parser_prod___ASlashExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 7268, LOCATE_parser_prod___ASlashExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14114,7 +14182,7 @@ void parser_prod___ASlashExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7198, LOCATE_parser_prod___ASlashExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7276, LOCATE_parser_prod___ASlashExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i]) return;
@@ -14124,7 +14192,7 @@ void parser_prod___ASlashExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ASlashExpr___init_aslashexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7200, LOCATE_parser_prod___ASlashExpr___init_aslashexpr};
+  struct trace_t trace = {NULL, NULL, 7278, LOCATE_parser_prod___ASlashExpr___init_aslashexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14133,7 +14201,7 @@ void parser_prod___ASlashExpr___init_aslashexpr(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___ASlashExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASlashExpr___empty_init))( self, init_table /*YYY*/) /*ASlashExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -14149,7 +14217,7 @@ void parser_prod___ASlashExpr___init_aslashexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ASlashExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 7215, LOCATE_parser_prod___ASlashExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7294, LOCATE_parser_prod___ASlashExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14158,7 +14226,7 @@ void parser_prod___ASlashExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashExpr___replace_child, LOCATE_parser_prod, 7217); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashExpr___replace_child, LOCATE_parser_prod, 7296); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -14166,7 +14234,7 @@ void parser_prod___ASlashExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashExpr___replace_child, LOCATE_parser_prod, 7221); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashExpr___replace_child, LOCATE_parser_prod, 7300); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -14180,7 +14248,7 @@ void parser_prod___ASlashExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashExpr___replace_child, LOCATE_parser_prod, 7231); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashExpr___replace_child, LOCATE_parser_prod, 7310); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -14192,7 +14260,7 @@ void parser_prod___ASlashExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASlashExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7240, LOCATE_parser_prod___ASlashExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7319, LOCATE_parser_prod___ASlashExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14214,7 +14282,7 @@ void parser_prod___ASlashExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7250, LOCATE_parser_prod___ASlashExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7329, LOCATE_parser_prod___ASlashExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14236,7 +14304,7 @@ void parser_prod___ASlashExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7261, LOCATE_parser_prod___APercentExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7340, LOCATE_parser_prod___APercentExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14251,7 +14319,7 @@ void parser_prod___APercentExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7268, LOCATE_parser_prod___APercentExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 7347, LOCATE_parser_prod___APercentExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14266,7 +14334,7 @@ void parser_prod___APercentExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7276, LOCATE_parser_prod___APercentExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7355, LOCATE_parser_prod___APercentExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i]) return;
@@ -14276,7 +14344,7 @@ void parser_prod___APercentExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___APercentExpr___init_apercentexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7278, LOCATE_parser_prod___APercentExpr___init_apercentexpr};
+  struct trace_t trace = {NULL, NULL, 7357, LOCATE_parser_prod___APercentExpr___init_apercentexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14285,7 +14353,7 @@ void parser_prod___APercentExpr___init_apercentexpr(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i]) return;
-  ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
+  ((parser_prod___APercentExpr___empty_init_t)CALL( self,COLOR_parser_prod___APercentExpr___empty_init))( self, init_table /*YYY*/) /*APercentExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -14301,7 +14369,7 @@ void parser_prod___APercentExpr___init_apercentexpr(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___APercentExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 7293, LOCATE_parser_prod___APercentExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7373, LOCATE_parser_prod___APercentExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14310,7 +14378,7 @@ void parser_prod___APercentExpr___replace_child(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentExpr___replace_child, LOCATE_parser_prod, 7295); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentExpr___replace_child, LOCATE_parser_prod, 7375); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -14318,7 +14386,7 @@ void parser_prod___APercentExpr___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentExpr___replace_child, LOCATE_parser_prod, 7299); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentExpr___replace_child, LOCATE_parser_prod, 7379); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -14332,7 +14400,7 @@ void parser_prod___APercentExpr___replace_child(val_t  self, val_t  param0, val_
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentExpr___replace_child, LOCATE_parser_prod, 7309); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentExpr___replace_child, LOCATE_parser_prod, 7389); nit_exit(1);}
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -14344,7 +14412,7 @@ void parser_prod___APercentExpr___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___APercentExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7318, LOCATE_parser_prod___APercentExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7398, LOCATE_parser_prod___APercentExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14366,7 +14434,7 @@ void parser_prod___APercentExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7328, LOCATE_parser_prod___APercentExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7408, LOCATE_parser_prod___APercentExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14388,7 +14456,7 @@ void parser_prod___APercentExpr___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AUminusExpr___n_minus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7339, LOCATE_parser_prod___AUminusExpr___n_minus__eq};
+  struct trace_t trace = {NULL, NULL, 7419, LOCATE_parser_prod___AUminusExpr___n_minus__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14403,7 +14471,7 @@ void parser_prod___AUminusExpr___n_minus__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AUminusExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7346, LOCATE_parser_prod___AUminusExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7426, LOCATE_parser_prod___AUminusExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14418,7 +14486,7 @@ void parser_prod___AUminusExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AUminusExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7354, LOCATE_parser_prod___AUminusExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7434, LOCATE_parser_prod___AUminusExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i]) return;
@@ -14428,7 +14496,7 @@ void parser_prod___AUminusExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AUminusExpr___init_auminusexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7356, LOCATE_parser_prod___AUminusExpr___init_auminusexpr};
+  struct trace_t trace = {NULL, NULL, 7436, LOCATE_parser_prod___AUminusExpr___init_auminusexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14437,7 +14505,7 @@ void parser_prod___AUminusExpr___init_auminusexpr(val_t  self, val_t  param0, va
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i]) return;
-  ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
+  ((parser_prod___AUminusExpr___empty_init_t)CALL( self,COLOR_parser_prod___AUminusExpr___empty_init))( self, init_table /*YYY*/) /*AUminusExpr::empty_init*/;
   ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ =  variable0 /*n_minus*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_minus*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_minus*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_minus*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_minus*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_minus*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_minus*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -14453,7 +14521,7 @@ void parser_prod___AUminusExpr___init_auminusexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AUminusExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 7371, LOCATE_parser_prod___AUminusExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7452, LOCATE_parser_prod___AUminusExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14462,7 +14530,7 @@ void parser_prod___AUminusExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUminusExpr___replace_child, LOCATE_parser_prod, 7373); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUminusExpr___replace_child, LOCATE_parser_prod, 7454); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -14470,7 +14538,7 @@ void parser_prod___AUminusExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUminusExpr___replace_child, LOCATE_parser_prod, 7377); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUminusExpr___replace_child, LOCATE_parser_prod, 7458); nit_exit(1);}
       ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ =  NIT_NULL /*null*/;
@@ -14484,7 +14552,7 @@ void parser_prod___AUminusExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUminusExpr___replace_child, LOCATE_parser_prod, 7387); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUminusExpr___replace_child, LOCATE_parser_prod, 7468); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -14496,7 +14564,7 @@ void parser_prod___AUminusExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AUminusExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7396, LOCATE_parser_prod___AUminusExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7477, LOCATE_parser_prod___AUminusExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14518,7 +14586,7 @@ void parser_prod___AUminusExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AUminusExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7406, LOCATE_parser_prod___AUminusExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7487, LOCATE_parser_prod___AUminusExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14540,7 +14608,7 @@ void parser_prod___AUminusExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANewExpr___n_kwnew__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7417, LOCATE_parser_prod___ANewExpr___n_kwnew__eq};
+  struct trace_t trace = {NULL, NULL, 7498, LOCATE_parser_prod___ANewExpr___n_kwnew__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14555,7 +14623,7 @@ void parser_prod___ANewExpr___n_kwnew__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANewExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7424, LOCATE_parser_prod___ANewExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 7505, LOCATE_parser_prod___ANewExpr___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14570,7 +14638,7 @@ void parser_prod___ANewExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANewExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7431, LOCATE_parser_prod___ANewExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 7512, LOCATE_parser_prod___ANewExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14585,7 +14653,7 @@ void parser_prod___ANewExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANewExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7439, LOCATE_parser_prod___ANewExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7520, LOCATE_parser_prod___ANewExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i]) return;
@@ -14594,7 +14662,7 @@ void parser_prod___ANewExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ANewExpr___init_anewexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7441, LOCATE_parser_prod___ANewExpr___init_anewexpr};
+  struct trace_t trace = {NULL, NULL, 7522, LOCATE_parser_prod___ANewExpr___init_anewexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14609,6 +14677,7 @@ void parser_prod___ANewExpr___init_anewexpr(val_t  self, val_t  param0, val_t  p
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i]) return;
+  ((parser_prod___ANewExpr___empty_init_t)CALL( self,COLOR_parser_prod___ANewExpr___empty_init))( self, init_table /*YYY*/) /*ANewExpr::empty_init*/;
   ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ =  variable0 /*n_kwnew*/;
   variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwnew*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwnew*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnew*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwnew*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnew*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwnew*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
@@ -14624,7 +14693,7 @@ void parser_prod___ANewExpr___init_anewexpr(val_t  self, val_t  param0, val_t  p
   if (UNTAG_Bool(variable4)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_id*/,  self) /*PNode::parent=*/;
   }
-  variable4 = NEW_list___List___init(); /*new List[E]*/
+  variable4 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/ = variable4;
   variable4 = ((array___AbstractArray___iterator_t)CALL( variable3 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*n_args*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -14632,7 +14701,7 @@ void parser_prod___ANewExpr___init_anewexpr(val_t  self, val_t  param0, val_t  p
     if (!UNTAG_Bool(variable5)) break; /*for*/
     variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
     variable6 = TAG_Bool(( variable5 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___init_anewexpr, LOCATE_parser_prod, 7462); nit_exit(1);}
+    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___init_anewexpr, LOCATE_parser_prod, 7544); nit_exit(1);}
     variable6 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable5 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/,  self) /*PNode::parent=*/;
@@ -14645,7 +14714,7 @@ void parser_prod___ANewExpr___init_anewexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 7468, LOCATE_parser_prod___ANewExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7550, LOCATE_parser_prod___ANewExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14656,7 +14725,7 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7470); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7552); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -14664,7 +14733,7 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7474); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7556); nit_exit(1);}
       ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ =  NIT_NULL /*null*/;
@@ -14678,7 +14747,7 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7484); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7566); nit_exit(1);}
       ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ =  NIT_NULL /*null*/;
@@ -14692,7 +14761,7 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7494); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7576); nit_exit(1);}
       ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -14701,7 +14770,7 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
   }
   variable2 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -14715,7 +14784,7 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7504); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7586); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -14734,7 +14803,7 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ANewExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7515, LOCATE_parser_prod___ANewExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7597, LOCATE_parser_prod___ANewExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -14774,7 +14843,7 @@ void parser_prod___ANewExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANewExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7531, LOCATE_parser_prod___ANewExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7613, LOCATE_parser_prod___ANewExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14817,7 +14886,7 @@ void parser_prod___ANewExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7552, LOCATE_parser_prod___AAttrExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7634, LOCATE_parser_prod___AAttrExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14832,7 +14901,7 @@ void parser_prod___AAttrExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7559, LOCATE_parser_prod___AAttrExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 7641, LOCATE_parser_prod___AAttrExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14847,7 +14916,7 @@ void parser_prod___AAttrExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7567, LOCATE_parser_prod___AAttrExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7649, LOCATE_parser_prod___AAttrExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i]) return;
@@ -14856,7 +14925,7 @@ void parser_prod___AAttrExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AAttrExpr___init_aattrexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7569, LOCATE_parser_prod___AAttrExpr___init_aattrexpr};
+  struct trace_t trace = {NULL, NULL, 7651, LOCATE_parser_prod___AAttrExpr___init_aattrexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14865,6 +14934,7 @@ void parser_prod___AAttrExpr___init_aattrexpr(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i]) return;
+  ((parser_prod___AAttrExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAttrExpr___empty_init))( self, init_table /*YYY*/) /*AAttrExpr::empty_init*/;
   ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -14880,7 +14950,7 @@ void parser_prod___AAttrExpr___init_aattrexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AAttrExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 7584, LOCATE_parser_prod___AAttrExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7667, LOCATE_parser_prod___AAttrExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14889,7 +14959,7 @@ void parser_prod___AAttrExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrExpr___replace_child, LOCATE_parser_prod, 7586); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrExpr___replace_child, LOCATE_parser_prod, 7669); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -14897,7 +14967,7 @@ void parser_prod___AAttrExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrExpr___replace_child, LOCATE_parser_prod, 7590); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrExpr___replace_child, LOCATE_parser_prod, 7673); nit_exit(1);}
       ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -14911,7 +14981,7 @@ void parser_prod___AAttrExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrExpr___replace_child, LOCATE_parser_prod, 7600); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrExpr___replace_child, LOCATE_parser_prod, 7683); nit_exit(1);}
       ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -14923,7 +14993,7 @@ void parser_prod___AAttrExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AAttrExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7609, LOCATE_parser_prod___AAttrExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7692, LOCATE_parser_prod___AAttrExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14945,7 +15015,7 @@ void parser_prod___AAttrExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7619, LOCATE_parser_prod___AAttrExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7702, LOCATE_parser_prod___AAttrExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14967,7 +15037,7 @@ void parser_prod___AAttrExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7630, LOCATE_parser_prod___AAttrAssignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7713, LOCATE_parser_prod___AAttrAssignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14982,7 +15052,7 @@ void parser_prod___AAttrAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7637, LOCATE_parser_prod___AAttrAssignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 7720, LOCATE_parser_prod___AAttrAssignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14997,7 +15067,7 @@ void parser_prod___AAttrAssignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7644, LOCATE_parser_prod___AAttrAssignExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 7727, LOCATE_parser_prod___AAttrAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15012,7 +15082,7 @@ void parser_prod___AAttrAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7651, LOCATE_parser_prod___AAttrAssignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 7734, LOCATE_parser_prod___AAttrAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15027,7 +15097,7 @@ void parser_prod___AAttrAssignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7659, LOCATE_parser_prod___AAttrAssignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7742, LOCATE_parser_prod___AAttrAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i]) return;
@@ -15036,7 +15106,7 @@ void parser_prod___AAttrAssignExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7661, LOCATE_parser_prod___AAttrAssignExpr___init_aattrassignexpr};
+  struct trace_t trace = {NULL, NULL, 7744, LOCATE_parser_prod___AAttrAssignExpr___init_aattrassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15049,6 +15119,7 @@ void parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t  self, val_t  pa
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i]) return;
+  ((parser_prod___AAttrAssignExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAttrAssignExpr___empty_init))( self, init_table /*YYY*/) /*AAttrAssignExpr::empty_init*/;
   ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
@@ -15074,7 +15145,7 @@ void parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AAttrAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 7686, LOCATE_parser_prod___AAttrAssignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7770, LOCATE_parser_prod___AAttrAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15083,7 +15154,7 @@ void parser_prod___AAttrAssignExpr___replace_child(val_t  self, val_t  param0, v
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7688); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7772); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -15091,7 +15162,7 @@ void parser_prod___AAttrAssignExpr___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7692); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7776); nit_exit(1);}
       ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -15105,7 +15176,7 @@ void parser_prod___AAttrAssignExpr___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7702); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7786); nit_exit(1);}
       ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -15119,7 +15190,7 @@ void parser_prod___AAttrAssignExpr___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7712); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7796); nit_exit(1);}
       ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  NIT_NULL /*null*/;
@@ -15133,7 +15204,7 @@ void parser_prod___AAttrAssignExpr___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7722); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7806); nit_exit(1);}
       ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
@@ -15145,7 +15216,7 @@ void parser_prod___AAttrAssignExpr___replace_child(val_t  self, val_t  param0, v
   return;
 }
 void parser_prod___AAttrAssignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7731, LOCATE_parser_prod___AAttrAssignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7815, LOCATE_parser_prod___AAttrAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15179,7 +15250,7 @@ void parser_prod___AAttrAssignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7747, LOCATE_parser_prod___AAttrAssignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7831, LOCATE_parser_prod___AAttrAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15213,7 +15284,7 @@ void parser_prod___AAttrAssignExpr___visit_all_reverse(val_t  self, val_t  param
   return;
 }
 void parser_prod___AAttrReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7764, LOCATE_parser_prod___AAttrReassignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7848, LOCATE_parser_prod___AAttrReassignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15228,7 +15299,7 @@ void parser_prod___AAttrReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrReassignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7771, LOCATE_parser_prod___AAttrReassignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 7855, LOCATE_parser_prod___AAttrReassignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15243,7 +15314,7 @@ void parser_prod___AAttrReassignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7778, LOCATE_parser_prod___AAttrReassignExpr___n_assign_op__eq};
+  struct trace_t trace = {NULL, NULL, 7862, LOCATE_parser_prod___AAttrReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15258,7 +15329,7 @@ void parser_prod___AAttrReassignExpr___n_assign_op__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___AAttrReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7785, LOCATE_parser_prod___AAttrReassignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 7869, LOCATE_parser_prod___AAttrReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15273,7 +15344,7 @@ void parser_prod___AAttrReassignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7793, LOCATE_parser_prod___AAttrReassignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7877, LOCATE_parser_prod___AAttrReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i]) return;
@@ -15282,7 +15353,7 @@ void parser_prod___AAttrReassignExpr___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7795, LOCATE_parser_prod___AAttrReassignExpr___init_aattrreassignexpr};
+  struct trace_t trace = {NULL, NULL, 7879, LOCATE_parser_prod___AAttrReassignExpr___init_aattrreassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15295,6 +15366,7 @@ void parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t  self, val_t
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i]) return;
+  ((parser_prod___AAttrReassignExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAttrReassignExpr___empty_init))( self, init_table /*YYY*/) /*AAttrReassignExpr::empty_init*/;
   ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
@@ -15320,7 +15392,7 @@ void parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t  self, val_t
   return;
 }
 void parser_prod___AAttrReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 7820, LOCATE_parser_prod___AAttrReassignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7905, LOCATE_parser_prod___AAttrReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15329,7 +15401,7 @@ void parser_prod___AAttrReassignExpr___replace_child(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7822); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7907); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -15337,7 +15409,7 @@ void parser_prod___AAttrReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7826); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7911); nit_exit(1);}
       ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -15351,7 +15423,7 @@ void parser_prod___AAttrReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7836); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7921); nit_exit(1);}
       ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -15365,7 +15437,7 @@ void parser_prod___AAttrReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7846); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7931); nit_exit(1);}
       ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
@@ -15379,7 +15451,7 @@ void parser_prod___AAttrReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7856); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7941); nit_exit(1);}
       ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
@@ -15391,7 +15463,7 @@ void parser_prod___AAttrReassignExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AAttrReassignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7865, LOCATE_parser_prod___AAttrReassignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7950, LOCATE_parser_prod___AAttrReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15425,7 +15497,7 @@ void parser_prod___AAttrReassignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7881, LOCATE_parser_prod___AAttrReassignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7966, LOCATE_parser_prod___AAttrReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15459,7 +15531,7 @@ void parser_prod___AAttrReassignExpr___visit_all_reverse(val_t  self, val_t  par
   return;
 }
 void parser_prod___ACallExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7898, LOCATE_parser_prod___ACallExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7983, LOCATE_parser_prod___ACallExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15474,7 +15546,7 @@ void parser_prod___ACallExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7905, LOCATE_parser_prod___ACallExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 7990, LOCATE_parser_prod___ACallExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15489,7 +15561,7 @@ void parser_prod___ACallExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7913, LOCATE_parser_prod___ACallExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7998, LOCATE_parser_prod___ACallExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i]) return;
@@ -15498,7 +15570,7 @@ void parser_prod___ACallExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ACallExpr___init_acallexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 7915, LOCATE_parser_prod___ACallExpr___init_acallexpr};
+  struct trace_t trace = {NULL, NULL, 8000, LOCATE_parser_prod___ACallExpr___init_acallexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15511,6 +15583,7 @@ void parser_prod___ACallExpr___init_acallexpr(val_t  self, val_t  param0, val_t
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i]) return;
+  ((parser_prod___ACallExpr___empty_init_t)CALL( self,COLOR_parser_prod___ACallExpr___empty_init))( self, init_table /*YYY*/) /*ACallExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -15521,7 +15594,7 @@ void parser_prod___ACallExpr___init_acallexpr(val_t  self, val_t  param0, val_t
   if (UNTAG_Bool(variable3)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*PNode::parent=*/;
   }
-  variable3 = NEW_list___List___init(); /*new List[E]*/
+  variable3 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/ = variable3;
   variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -15529,7 +15602,7 @@ void parser_prod___ACallExpr___init_acallexpr(val_t  self, val_t  param0, val_t
     if (!UNTAG_Bool(variable4)) break; /*for*/
     variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
     variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___init_acallexpr, LOCATE_parser_prod, 7931); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___init_acallexpr, LOCATE_parser_prod, 8017); nit_exit(1);}
     variable5 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable4 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/,  self) /*PNode::parent=*/;
@@ -15542,7 +15615,7 @@ void parser_prod___ACallExpr___init_acallexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ACallExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 7937, LOCATE_parser_prod___ACallExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8023, LOCATE_parser_prod___ACallExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15553,7 +15626,7 @@ void parser_prod___ACallExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 7939); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 8025); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -15561,7 +15634,7 @@ void parser_prod___ACallExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 7943); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 8029); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -15575,7 +15648,7 @@ void parser_prod___ACallExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 7953); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 8039); nit_exit(1);}
       ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -15584,7 +15657,7 @@ void parser_prod___ACallExpr___replace_child(val_t  self, val_t  param0, val_t
   }
   variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -15598,7 +15671,7 @@ void parser_prod___ACallExpr___replace_child(val_t  self, val_t  param0, val_t
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 7963); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 8049); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -15617,7 +15690,7 @@ void parser_prod___ACallExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ACallExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7974, LOCATE_parser_prod___ACallExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8060, LOCATE_parser_prod___ACallExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -15651,7 +15724,7 @@ void parser_prod___ACallExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 7987, LOCATE_parser_prod___ACallExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8073, LOCATE_parser_prod___ACallExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15688,7 +15761,7 @@ void parser_prod___ACallExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8005, LOCATE_parser_prod___ACallAssignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8091, LOCATE_parser_prod___ACallAssignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15703,7 +15776,7 @@ void parser_prod___ACallAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8012, LOCATE_parser_prod___ACallAssignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 8098, LOCATE_parser_prod___ACallAssignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15718,7 +15791,7 @@ void parser_prod___ACallAssignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8019, LOCATE_parser_prod___ACallAssignExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 8105, LOCATE_parser_prod___ACallAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15733,7 +15806,7 @@ void parser_prod___ACallAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8026, LOCATE_parser_prod___ACallAssignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 8112, LOCATE_parser_prod___ACallAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -15748,7 +15821,7 @@ void parser_prod___ACallAssignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8034, LOCATE_parser_prod___ACallAssignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8120, LOCATE_parser_prod___ACallAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i]) return;
@@ -15757,7 +15830,7 @@ void parser_prod___ACallAssignExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ACallAssignExpr___init_acallassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8036, LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr};
+  struct trace_t trace = {NULL, NULL, 8122, LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15774,6 +15847,7 @@ void parser_prod___ACallAssignExpr___init_acallassignexpr(val_t  self, val_t  pa
   variable3 =  param3;
   variable4 =  param4;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i]) return;
+  ((parser_prod___ACallAssignExpr___empty_init_t)CALL( self,COLOR_parser_prod___ACallAssignExpr___empty_init))( self, init_table /*YYY*/) /*ACallAssignExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
@@ -15784,7 +15858,7 @@ void parser_prod___ACallAssignExpr___init_acallassignexpr(val_t  self, val_t  pa
   if (UNTAG_Bool(variable5)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*PNode::parent=*/;
   }
-  variable5 = NEW_list___List___init(); /*new List[E]*/
+  variable5 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/ = variable5;
   variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -15792,7 +15866,7 @@ void parser_prod___ACallAssignExpr___init_acallassignexpr(val_t  self, val_t  pa
     if (!UNTAG_Bool(variable6)) break; /*for*/
     variable6 = ((array___ArrayIterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*ArrayIterator::item*/;
     variable7 = TAG_Bool(( variable6 /*n*/==NIT_NULL) || VAL_ISA( variable6 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr, LOCATE_parser_prod, 8054); nit_exit(1);}
+    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr, LOCATE_parser_prod, 8141); nit_exit(1);}
     variable7 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable6 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n*/,  self) /*PNode::parent=*/;
@@ -15815,7 +15889,7 @@ void parser_prod___ACallAssignExpr___init_acallassignexpr(val_t  self, val_t  pa
   return;
 }
 void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 8068, LOCATE_parser_prod___ACallAssignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8155, LOCATE_parser_prod___ACallAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15826,7 +15900,7 @@ void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, v
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8070); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8157); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -15834,7 +15908,7 @@ void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8074); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8161); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -15848,7 +15922,7 @@ void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8084); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8171); nit_exit(1);}
       ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -15857,7 +15931,7 @@ void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, v
   }
   variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -15871,7 +15945,7 @@ void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, v
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8094); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8181); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -15892,7 +15966,7 @@ void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8106); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8193); nit_exit(1);}
       ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  NIT_NULL /*null*/;
@@ -15906,7 +15980,7 @@ void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, v
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8116); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8203); nit_exit(1);}
       ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
@@ -15918,7 +15992,7 @@ void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, v
   return;
 }
 void parser_prod___ACallAssignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8125, LOCATE_parser_prod___ACallAssignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8212, LOCATE_parser_prod___ACallAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -15964,7 +16038,7 @@ void parser_prod___ACallAssignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8144, LOCATE_parser_prod___ACallAssignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8231, LOCATE_parser_prod___ACallAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16013,7 +16087,7 @@ void parser_prod___ACallAssignExpr___visit_all_reverse(val_t  self, val_t  param
   return;
 }
 void parser_prod___ACallReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8168, LOCATE_parser_prod___ACallReassignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8255, LOCATE_parser_prod___ACallReassignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -16028,7 +16102,7 @@ void parser_prod___ACallReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallReassignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8175, LOCATE_parser_prod___ACallReassignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 8262, LOCATE_parser_prod___ACallReassignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -16043,7 +16117,7 @@ void parser_prod___ACallReassignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8182, LOCATE_parser_prod___ACallReassignExpr___n_assign_op__eq};
+  struct trace_t trace = {NULL, NULL, 8269, LOCATE_parser_prod___ACallReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -16058,7 +16132,7 @@ void parser_prod___ACallReassignExpr___n_assign_op__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___ACallReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8189, LOCATE_parser_prod___ACallReassignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 8276, LOCATE_parser_prod___ACallReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -16073,7 +16147,7 @@ void parser_prod___ACallReassignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8197, LOCATE_parser_prod___ACallReassignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8284, LOCATE_parser_prod___ACallReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i]) return;
@@ -16082,7 +16156,7 @@ void parser_prod___ACallReassignExpr___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8199, LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr};
+  struct trace_t trace = {NULL, NULL, 8286, LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16099,6 +16173,7 @@ void parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t  self, val_t
   variable3 =  param3;
   variable4 =  param4;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i]) return;
+  ((parser_prod___ACallReassignExpr___empty_init_t)CALL( self,COLOR_parser_prod___ACallReassignExpr___empty_init))( self, init_table /*YYY*/) /*ACallReassignExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
@@ -16109,7 +16184,7 @@ void parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t  self, val_t
   if (UNTAG_Bool(variable5)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*PNode::parent=*/;
   }
-  variable5 = NEW_list___List___init(); /*new List[E]*/
+  variable5 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/ = variable5;
   variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -16117,7 +16192,7 @@ void parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t  self, val_t
     if (!UNTAG_Bool(variable6)) break; /*for*/
     variable6 = ((array___ArrayIterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*ArrayIterator::item*/;
     variable7 = TAG_Bool(( variable6 /*n*/==NIT_NULL) || VAL_ISA( variable6 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr, LOCATE_parser_prod, 8217); nit_exit(1);}
+    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr, LOCATE_parser_prod, 8305); nit_exit(1);}
     variable7 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable6 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n*/,  self) /*PNode::parent=*/;
@@ -16140,7 +16215,7 @@ void parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t  self, val_t
   return;
 }
 void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 8231, LOCATE_parser_prod___ACallReassignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8319, LOCATE_parser_prod___ACallReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16151,7 +16226,7 @@ void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8233); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8321); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -16159,7 +16234,7 @@ void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8237); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8325); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -16173,7 +16248,7 @@ void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8247); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8335); nit_exit(1);}
       ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -16182,7 +16257,7 @@ void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0,
   }
   variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -16196,7 +16271,7 @@ void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0,
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8257); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8345); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -16217,7 +16292,7 @@ void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8269); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8357); nit_exit(1);}
       ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
@@ -16231,7 +16306,7 @@ void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8279); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8367); nit_exit(1);}
       ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
@@ -16243,7 +16318,7 @@ void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ACallReassignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8288, LOCATE_parser_prod___ACallReassignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8376, LOCATE_parser_prod___ACallReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -16289,7 +16364,7 @@ void parser_prod___ACallReassignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8307, LOCATE_parser_prod___ACallReassignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8395, LOCATE_parser_prod___ACallReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16338,7 +16413,7 @@ void parser_prod___ACallReassignExpr___visit_all_reverse(val_t  self, val_t  par
   return;
 }
 void parser_prod___ASuperExpr___n_qualified__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8331, LOCATE_parser_prod___ASuperExpr___n_qualified__eq};
+  struct trace_t trace = {NULL, NULL, 8419, LOCATE_parser_prod___ASuperExpr___n_qualified__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -16353,7 +16428,7 @@ void parser_prod___ASuperExpr___n_qualified__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperExpr___n_kwsuper__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8338, LOCATE_parser_prod___ASuperExpr___n_kwsuper__eq};
+  struct trace_t trace = {NULL, NULL, 8426, LOCATE_parser_prod___ASuperExpr___n_kwsuper__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -16368,7 +16443,7 @@ void parser_prod___ASuperExpr___n_kwsuper__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8346, LOCATE_parser_prod___ASuperExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8434, LOCATE_parser_prod___ASuperExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i]) return;
@@ -16377,7 +16452,7 @@ void parser_prod___ASuperExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ASuperExpr___init_asuperexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8348, LOCATE_parser_prod___ASuperExpr___init_asuperexpr};
+  struct trace_t trace = {NULL, NULL, 8436, LOCATE_parser_prod___ASuperExpr___init_asuperexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16390,6 +16465,7 @@ void parser_prod___ASuperExpr___init_asuperexpr(val_t  self, val_t  param0, val_
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i]) return;
+  ((parser_prod___ASuperExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASuperExpr___empty_init))( self, init_table /*YYY*/) /*ASuperExpr::empty_init*/;
   ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ =  variable0 /*n_qualified*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_qualified*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_qualified*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_qualified*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_qualified*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_qualified*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_qualified*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -16400,7 +16476,7 @@ void parser_prod___ASuperExpr___init_asuperexpr(val_t  self, val_t  param0, val_
   if (UNTAG_Bool(variable3)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwsuper*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwsuper*/,  self) /*PNode::parent=*/;
   }
-  variable3 = NEW_list___List___init(); /*new List[E]*/
+  variable3 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/ = variable3;
   variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -16408,7 +16484,7 @@ void parser_prod___ASuperExpr___init_asuperexpr(val_t  self, val_t  param0, val_
     if (!UNTAG_Bool(variable4)) break; /*for*/
     variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
     variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___init_asuperexpr, LOCATE_parser_prod, 8364); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___init_asuperexpr, LOCATE_parser_prod, 8453); nit_exit(1);}
     variable5 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable4 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/,  self) /*PNode::parent=*/;
@@ -16421,7 +16497,7 @@ void parser_prod___ASuperExpr___init_asuperexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 8370, LOCATE_parser_prod___ASuperExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8459, LOCATE_parser_prod___ASuperExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16432,7 +16508,7 @@ void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8372); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8461); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -16440,7 +16516,7 @@ void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8376); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8465); nit_exit(1);}
       ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ =  NIT_NULL /*null*/;
@@ -16454,7 +16530,7 @@ void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8386); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8475); nit_exit(1);}
       ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ =  NIT_NULL /*null*/;
@@ -16463,7 +16539,7 @@ void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t
   }
   variable2 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -16477,7 +16553,7 @@ void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8396); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8485); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -16496,7 +16572,7 @@ void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASuperExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8407, LOCATE_parser_prod___ASuperExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8496, LOCATE_parser_prod___ASuperExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -16530,7 +16606,7 @@ void parser_prod___ASuperExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8420, LOCATE_parser_prod___ASuperExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8509, LOCATE_parser_prod___ASuperExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16567,7 +16643,7 @@ void parser_prod___ASuperExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInitExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8438, LOCATE_parser_prod___AInitExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8527, LOCATE_parser_prod___AInitExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -16582,7 +16658,7 @@ void parser_prod___AInitExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInitExpr___n_kwinit__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8445, LOCATE_parser_prod___AInitExpr___n_kwinit__eq};
+  struct trace_t trace = {NULL, NULL, 8534, LOCATE_parser_prod___AInitExpr___n_kwinit__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -16597,7 +16673,7 @@ void parser_prod___AInitExpr___n_kwinit__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInitExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8453, LOCATE_parser_prod___AInitExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8542, LOCATE_parser_prod___AInitExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i]) return;
@@ -16607,7 +16683,7 @@ void parser_prod___AInitExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AInitExpr___init_ainitexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8455, LOCATE_parser_prod___AInitExpr___init_ainitexpr};
+  struct trace_t trace = {NULL, NULL, 8544, LOCATE_parser_prod___AInitExpr___init_ainitexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16620,7 +16696,7 @@ void parser_prod___AInitExpr___init_ainitexpr(val_t  self, val_t  param0, val_t
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i]) return;
-  ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
+  ((parser_prod___AInitExpr___empty_init_t)CALL( self,COLOR_parser_prod___AInitExpr___empty_init))( self, init_table /*YYY*/) /*AInitExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -16631,7 +16707,7 @@ void parser_prod___AInitExpr___init_ainitexpr(val_t  self, val_t  param0, val_t
   if (UNTAG_Bool(variable3)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwinit*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwinit*/,  self) /*PNode::parent=*/;
   }
-  variable3 = NEW_list___List___init(); /*new List[E]*/
+  variable3 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/ = variable3;
   variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -16639,7 +16715,7 @@ void parser_prod___AInitExpr___init_ainitexpr(val_t  self, val_t  param0, val_t
     if (!UNTAG_Bool(variable4)) break; /*for*/
     variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
     variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___init_ainitexpr, LOCATE_parser_prod, 8471); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___init_ainitexpr, LOCATE_parser_prod, 8561); nit_exit(1);}
     variable5 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable4 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/,  self) /*PNode::parent=*/;
@@ -16652,7 +16728,7 @@ void parser_prod___AInitExpr___init_ainitexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AInitExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 8477, LOCATE_parser_prod___AInitExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8567, LOCATE_parser_prod___AInitExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16663,7 +16739,7 @@ void parser_prod___AInitExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8479); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8569); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -16671,7 +16747,7 @@ void parser_prod___AInitExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8483); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8573); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -16685,7 +16761,7 @@ void parser_prod___AInitExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8493); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8583); nit_exit(1);}
       ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ =  NIT_NULL /*null*/;
@@ -16694,7 +16770,7 @@ void parser_prod___AInitExpr___replace_child(val_t  self, val_t  param0, val_t
   }
   variable2 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -16708,7 +16784,7 @@ void parser_prod___AInitExpr___replace_child(val_t  self, val_t  param0, val_t
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8503); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8593); nit_exit(1);}
         variable4 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -16727,7 +16803,7 @@ void parser_prod___AInitExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AInitExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8514, LOCATE_parser_prod___AInitExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8604, LOCATE_parser_prod___AInitExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -16761,7 +16837,7 @@ void parser_prod___AInitExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInitExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8527, LOCATE_parser_prod___AInitExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8617, LOCATE_parser_prod___AInitExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16798,7 +16874,7 @@ void parser_prod___AInitExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8545, LOCATE_parser_prod___ABraExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8635, LOCATE_parser_prod___ABraExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -16813,7 +16889,7 @@ void parser_prod___ABraExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8553, LOCATE_parser_prod___ABraExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8643, LOCATE_parser_prod___ABraExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i]) return;
@@ -16822,7 +16898,7 @@ void parser_prod___ABraExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ABraExpr___init_abraexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8555, LOCATE_parser_prod___ABraExpr___init_abraexpr};
+  struct trace_t trace = {NULL, NULL, 8645, LOCATE_parser_prod___ABraExpr___init_abraexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16833,12 +16909,13 @@ void parser_prod___ABraExpr___init_abraexpr(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i]) return;
+  ((parser_prod___ABraExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABraExpr___empty_init))( self, init_table /*YYY*/) /*ABraExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  variable2 = NEW_list___List___init(); /*new List[E]*/
+  variable2 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/ = variable2;
   variable2 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -16846,7 +16923,7 @@ void parser_prod___ABraExpr___init_abraexpr(val_t  self, val_t  param0, val_t  p
     if (!UNTAG_Bool(variable3)) break; /*for*/
     variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
     variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___init_abraexpr, LOCATE_parser_prod, 8566); nit_exit(1);}
+    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___init_abraexpr, LOCATE_parser_prod, 8657); nit_exit(1);}
     variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable3 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/,  self) /*PNode::parent=*/;
@@ -16859,7 +16936,7 @@ void parser_prod___ABraExpr___init_abraexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ABraExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 8572, LOCATE_parser_prod___ABraExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8663, LOCATE_parser_prod___ABraExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16870,7 +16947,7 @@ void parser_prod___ABraExpr___replace_child(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___replace_child, LOCATE_parser_prod, 8574); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___replace_child, LOCATE_parser_prod, 8665); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -16878,7 +16955,7 @@ void parser_prod___ABraExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___replace_child, LOCATE_parser_prod, 8578); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___replace_child, LOCATE_parser_prod, 8669); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -16887,7 +16964,7 @@ void parser_prod___ABraExpr___replace_child(val_t  self, val_t  param0, val_t  p
   }
   variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -16901,7 +16978,7 @@ void parser_prod___ABraExpr___replace_child(val_t  self, val_t  param0, val_t  p
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___replace_child, LOCATE_parser_prod, 8588); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___replace_child, LOCATE_parser_prod, 8679); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -16920,7 +16997,7 @@ void parser_prod___ABraExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ABraExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8599, LOCATE_parser_prod___ABraExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8690, LOCATE_parser_prod___ABraExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -16948,7 +17025,7 @@ void parser_prod___ABraExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8609, LOCATE_parser_prod___ABraExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8700, LOCATE_parser_prod___ABraExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16979,7 +17056,7 @@ void parser_prod___ABraExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8624, LOCATE_parser_prod___ABraAssignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8715, LOCATE_parser_prod___ABraAssignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -16994,7 +17071,7 @@ void parser_prod___ABraAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8631, LOCATE_parser_prod___ABraAssignExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 8722, LOCATE_parser_prod___ABraAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17009,7 +17086,7 @@ void parser_prod___ABraAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8638, LOCATE_parser_prod___ABraAssignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 8729, LOCATE_parser_prod___ABraAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17024,7 +17101,7 @@ void parser_prod___ABraAssignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8646, LOCATE_parser_prod___ABraAssignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8737, LOCATE_parser_prod___ABraAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i]) return;
@@ -17033,7 +17110,7 @@ void parser_prod___ABraAssignExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ABraAssignExpr___init_abraassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8648, LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr};
+  struct trace_t trace = {NULL, NULL, 8739, LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17048,12 +17125,13 @@ void parser_prod___ABraAssignExpr___init_abraassignexpr(val_t  self, val_t  para
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i]) return;
+  ((parser_prod___ABraAssignExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABraAssignExpr___empty_init))( self, init_table /*YYY*/) /*ABraAssignExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  variable4 = NEW_list___List___init(); /*new List[E]*/
+  variable4 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/ = variable4;
   variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -17061,7 +17139,7 @@ void parser_prod___ABraAssignExpr___init_abraassignexpr(val_t  self, val_t  para
     if (!UNTAG_Bool(variable5)) break; /*for*/
     variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
     variable6 = TAG_Bool(( variable5 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr, LOCATE_parser_prod, 8661); nit_exit(1);}
+    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr, LOCATE_parser_prod, 8753); nit_exit(1);}
     variable6 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable5 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/,  self) /*PNode::parent=*/;
@@ -17084,7 +17162,7 @@ void parser_prod___ABraAssignExpr___init_abraassignexpr(val_t  self, val_t  para
   return;
 }
 void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 8675, LOCATE_parser_prod___ABraAssignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8767, LOCATE_parser_prod___ABraAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17095,7 +17173,7 @@ void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, va
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8677); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8769); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -17103,7 +17181,7 @@ void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, va
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8681); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8773); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -17112,7 +17190,7 @@ void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, va
   }
   variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -17126,7 +17204,7 @@ void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, va
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8691); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8783); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -17147,7 +17225,7 @@ void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, va
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8703); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8795); nit_exit(1);}
       ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  NIT_NULL /*null*/;
@@ -17161,7 +17239,7 @@ void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, va
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8713); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8805); nit_exit(1);}
       ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
@@ -17173,7 +17251,7 @@ void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___ABraAssignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8722, LOCATE_parser_prod___ABraAssignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8814, LOCATE_parser_prod___ABraAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -17213,7 +17291,7 @@ void parser_prod___ABraAssignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8738, LOCATE_parser_prod___ABraAssignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8830, LOCATE_parser_prod___ABraAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17256,7 +17334,7 @@ void parser_prod___ABraAssignExpr___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___ABraReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8759, LOCATE_parser_prod___ABraReassignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8851, LOCATE_parser_prod___ABraReassignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17271,7 +17349,7 @@ void parser_prod___ABraReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8766, LOCATE_parser_prod___ABraReassignExpr___n_assign_op__eq};
+  struct trace_t trace = {NULL, NULL, 8858, LOCATE_parser_prod___ABraReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17286,7 +17364,7 @@ void parser_prod___ABraReassignExpr___n_assign_op__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___ABraReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8773, LOCATE_parser_prod___ABraReassignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 8865, LOCATE_parser_prod___ABraReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17301,7 +17379,7 @@ void parser_prod___ABraReassignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8781, LOCATE_parser_prod___ABraReassignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8873, LOCATE_parser_prod___ABraReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i]) return;
@@ -17310,7 +17388,7 @@ void parser_prod___ABraReassignExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8783, LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr};
+  struct trace_t trace = {NULL, NULL, 8875, LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17325,12 +17403,13 @@ void parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t  self, val_t
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i]) return;
+  ((parser_prod___ABraReassignExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABraReassignExpr___empty_init))( self, init_table /*YYY*/) /*ABraReassignExpr::empty_init*/;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
     ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  variable4 = NEW_list___List___init(); /*new List[E]*/
+  variable4 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/ = variable4;
   variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -17338,7 +17417,7 @@ void parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t  self, val_t
     if (!UNTAG_Bool(variable5)) break; /*for*/
     variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
     variable6 = TAG_Bool(( variable5 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr, LOCATE_parser_prod, 8796); nit_exit(1);}
+    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr, LOCATE_parser_prod, 8889); nit_exit(1);}
     variable6 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable5 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/,  self) /*PNode::parent=*/;
@@ -17361,7 +17440,7 @@ void parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t  self, val_t
   return;
 }
 void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 8810, LOCATE_parser_prod___ABraReassignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8903, LOCATE_parser_prod___ABraReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17372,7 +17451,7 @@ void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8812); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8905); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -17380,7 +17459,7 @@ void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8816); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8909); nit_exit(1);}
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -17389,7 +17468,7 @@ void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0,
   }
   variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -17403,7 +17482,7 @@ void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0,
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8826); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8919); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -17424,7 +17503,7 @@ void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8838); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8931); nit_exit(1);}
       ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
@@ -17438,7 +17517,7 @@ void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8848); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8941); nit_exit(1);}
       ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
@@ -17450,7 +17529,7 @@ void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ABraReassignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8857, LOCATE_parser_prod___ABraReassignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8950, LOCATE_parser_prod___ABraReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -17490,7 +17569,7 @@ void parser_prod___ABraReassignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8873, LOCATE_parser_prod___ABraReassignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8966, LOCATE_parser_prod___ABraReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17533,7 +17612,7 @@ void parser_prod___ABraReassignExpr___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___AVarExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8894, LOCATE_parser_prod___AVarExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 8987, LOCATE_parser_prod___AVarExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17548,7 +17627,7 @@ void parser_prod___AVarExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8902, LOCATE_parser_prod___AVarExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8995, LOCATE_parser_prod___AVarExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i]) return;
@@ -17557,13 +17636,14 @@ void parser_prod___AVarExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AVarExpr___init_avarexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8904, LOCATE_parser_prod___AVarExpr___init_avarexpr};
+  struct trace_t trace = {NULL, NULL, 8997, LOCATE_parser_prod___AVarExpr___init_avarexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i]) return;
+  ((parser_prod___AVarExpr___empty_init_t)CALL( self,COLOR_parser_prod___AVarExpr___empty_init))( self, init_table /*YYY*/) /*AVarExpr::empty_init*/;
   ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable0 /*n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -17574,7 +17654,7 @@ void parser_prod___AVarExpr___init_avarexpr(val_t  self, val_t  param0, int* ini
   return;
 }
 void parser_prod___AVarExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 8914, LOCATE_parser_prod___AVarExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9008, LOCATE_parser_prod___AVarExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17583,7 +17663,7 @@ void parser_prod___AVarExpr___replace_child(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarExpr___replace_child, LOCATE_parser_prod, 8916); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarExpr___replace_child, LOCATE_parser_prod, 9010); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -17591,7 +17671,7 @@ void parser_prod___AVarExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarExpr___replace_child, LOCATE_parser_prod, 8920); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarExpr___replace_child, LOCATE_parser_prod, 9014); nit_exit(1);}
       ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -17603,7 +17683,7 @@ void parser_prod___AVarExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AVarExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8929, LOCATE_parser_prod___AVarExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9023, LOCATE_parser_prod___AVarExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17619,7 +17699,7 @@ void parser_prod___AVarExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8936, LOCATE_parser_prod___AVarExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9030, LOCATE_parser_prod___AVarExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17635,7 +17715,7 @@ void parser_prod___AVarExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarAssignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8944, LOCATE_parser_prod___AVarAssignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 9038, LOCATE_parser_prod___AVarAssignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17650,7 +17730,7 @@ void parser_prod___AVarAssignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8951, LOCATE_parser_prod___AVarAssignExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 9045, LOCATE_parser_prod___AVarAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17665,7 +17745,7 @@ void parser_prod___AVarAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8958, LOCATE_parser_prod___AVarAssignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 9052, LOCATE_parser_prod___AVarAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17680,7 +17760,7 @@ void parser_prod___AVarAssignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8966, LOCATE_parser_prod___AVarAssignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9060, LOCATE_parser_prod___AVarAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i]) return;
@@ -17689,7 +17769,7 @@ void parser_prod___AVarAssignExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AVarAssignExpr___init_avarassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 8968, LOCATE_parser_prod___AVarAssignExpr___init_avarassignexpr};
+  struct trace_t trace = {NULL, NULL, 9062, LOCATE_parser_prod___AVarAssignExpr___init_avarassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17700,6 +17780,7 @@ void parser_prod___AVarAssignExpr___init_avarassignexpr(val_t  self, val_t  para
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i]) return;
+  ((parser_prod___AVarAssignExpr___empty_init_t)CALL( self,COLOR_parser_prod___AVarAssignExpr___empty_init))( self, init_table /*YYY*/) /*AVarAssignExpr::empty_init*/;
   ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable0 /*n_id*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -17720,7 +17801,7 @@ void parser_prod___AVarAssignExpr___init_avarassignexpr(val_t  self, val_t  para
   return;
 }
 void parser_prod___AVarAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 8988, LOCATE_parser_prod___AVarAssignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9083, LOCATE_parser_prod___AVarAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17729,7 +17810,7 @@ void parser_prod___AVarAssignExpr___replace_child(val_t  self, val_t  param0, va
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 8990); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 9085); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -17737,7 +17818,7 @@ void parser_prod___AVarAssignExpr___replace_child(val_t  self, val_t  param0, va
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 8994); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 9089); nit_exit(1);}
       ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -17751,7 +17832,7 @@ void parser_prod___AVarAssignExpr___replace_child(val_t  self, val_t  param0, va
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 9004); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 9099); nit_exit(1);}
       ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  NIT_NULL /*null*/;
@@ -17765,7 +17846,7 @@ void parser_prod___AVarAssignExpr___replace_child(val_t  self, val_t  param0, va
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 9014); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 9109); nit_exit(1);}
       ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
@@ -17777,7 +17858,7 @@ void parser_prod___AVarAssignExpr___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AVarAssignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9023, LOCATE_parser_prod___AVarAssignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9118, LOCATE_parser_prod___AVarAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17805,7 +17886,7 @@ void parser_prod___AVarAssignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9036, LOCATE_parser_prod___AVarAssignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9131, LOCATE_parser_prod___AVarAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17833,7 +17914,7 @@ void parser_prod___AVarAssignExpr___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AVarReassignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9050, LOCATE_parser_prod___AVarReassignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 9145, LOCATE_parser_prod___AVarReassignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17848,7 +17929,7 @@ void parser_prod___AVarReassignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9057, LOCATE_parser_prod___AVarReassignExpr___n_assign_op__eq};
+  struct trace_t trace = {NULL, NULL, 9152, LOCATE_parser_prod___AVarReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17863,7 +17944,7 @@ void parser_prod___AVarReassignExpr___n_assign_op__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AVarReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9064, LOCATE_parser_prod___AVarReassignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 9159, LOCATE_parser_prod___AVarReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -17878,7 +17959,7 @@ void parser_prod___AVarReassignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9072, LOCATE_parser_prod___AVarReassignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9167, LOCATE_parser_prod___AVarReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i]) return;
@@ -17887,7 +17968,7 @@ void parser_prod___AVarReassignExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9074, LOCATE_parser_prod___AVarReassignExpr___init_avarreassignexpr};
+  struct trace_t trace = {NULL, NULL, 9169, LOCATE_parser_prod___AVarReassignExpr___init_avarreassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17898,6 +17979,7 @@ void parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t  self, val_t
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i]) return;
+  ((parser_prod___AVarReassignExpr___empty_init_t)CALL( self,COLOR_parser_prod___AVarReassignExpr___empty_init))( self, init_table /*YYY*/) /*AVarReassignExpr::empty_init*/;
   ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable0 /*n_id*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -17918,7 +18000,7 @@ void parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t  self, val_t
   return;
 }
 void parser_prod___AVarReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9094, LOCATE_parser_prod___AVarReassignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9190, LOCATE_parser_prod___AVarReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17927,7 +18009,7 @@ void parser_prod___AVarReassignExpr___replace_child(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9096); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9192); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -17935,7 +18017,7 @@ void parser_prod___AVarReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9100); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9196); nit_exit(1);}
       ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  NIT_NULL /*null*/;
@@ -17949,7 +18031,7 @@ void parser_prod___AVarReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9110); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9206); nit_exit(1);}
       ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
@@ -17963,7 +18045,7 @@ void parser_prod___AVarReassignExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9120); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9216); nit_exit(1);}
       ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
@@ -17975,7 +18057,7 @@ void parser_prod___AVarReassignExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AVarReassignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9129, LOCATE_parser_prod___AVarReassignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9225, LOCATE_parser_prod___AVarReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18003,7 +18085,7 @@ void parser_prod___AVarReassignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9142, LOCATE_parser_prod___AVarReassignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9238, LOCATE_parser_prod___AVarReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18031,7 +18113,7 @@ void parser_prod___AVarReassignExpr___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___ARangeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9156, LOCATE_parser_prod___ARangeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 9252, LOCATE_parser_prod___ARangeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18046,7 +18128,7 @@ void parser_prod___ARangeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ARangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9163, LOCATE_parser_prod___ARangeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 9259, LOCATE_parser_prod___ARangeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18061,7 +18143,7 @@ void parser_prod___ARangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ARangeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9171, LOCATE_parser_prod___ARangeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9267, LOCATE_parser_prod___ARangeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i]) return;
@@ -18070,7 +18152,7 @@ void parser_prod___ARangeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ARangeExpr___init_arangeexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9173, LOCATE_parser_prod___ARangeExpr___init_arangeexpr};
+  struct trace_t trace = {NULL, NULL, 9269, LOCATE_parser_prod___ARangeExpr___init_arangeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18079,6 +18161,7 @@ void parser_prod___ARangeExpr___init_arangeexpr(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i]) return;
+  ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
   ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -18094,7 +18177,7 @@ void parser_prod___ARangeExpr___init_arangeexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ARangeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9188, LOCATE_parser_prod___ARangeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9285, LOCATE_parser_prod___ARangeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18103,7 +18186,7 @@ void parser_prod___ARangeExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ARangeExpr___replace_child, LOCATE_parser_prod, 9190); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ARangeExpr___replace_child, LOCATE_parser_prod, 9287); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -18111,7 +18194,7 @@ void parser_prod___ARangeExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ARangeExpr___replace_child, LOCATE_parser_prod, 9194); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ARangeExpr___replace_child, LOCATE_parser_prod, 9291); nit_exit(1);}
       ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -18125,7 +18208,7 @@ void parser_prod___ARangeExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ARangeExpr___replace_child, LOCATE_parser_prod, 9204); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ARangeExpr___replace_child, LOCATE_parser_prod, 9301); nit_exit(1);}
       ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -18137,7 +18220,7 @@ void parser_prod___ARangeExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ARangeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9213, LOCATE_parser_prod___ARangeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9310, LOCATE_parser_prod___ARangeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18159,7 +18242,7 @@ void parser_prod___ARangeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ARangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9223, LOCATE_parser_prod___ARangeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9320, LOCATE_parser_prod___ARangeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18181,7 +18264,7 @@ void parser_prod___ARangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACrangeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9234, LOCATE_parser_prod___ACrangeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 9331, LOCATE_parser_prod___ACrangeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18196,7 +18279,7 @@ void parser_prod___ACrangeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACrangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9241, LOCATE_parser_prod___ACrangeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 9338, LOCATE_parser_prod___ACrangeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18211,7 +18294,7 @@ void parser_prod___ACrangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACrangeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9249, LOCATE_parser_prod___ACrangeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9346, LOCATE_parser_prod___ACrangeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i]) return;
@@ -18221,7 +18304,7 @@ void parser_prod___ACrangeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ACrangeExpr___init_acrangeexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9251, LOCATE_parser_prod___ACrangeExpr___init_acrangeexpr};
+  struct trace_t trace = {NULL, NULL, 9348, LOCATE_parser_prod___ACrangeExpr___init_acrangeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18230,7 +18313,7 @@ void parser_prod___ACrangeExpr___init_acrangeexpr(val_t  self, val_t  param0, va
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i]) return;
-  ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
+  ((parser_prod___ACrangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ACrangeExpr___empty_init))( self, init_table /*YYY*/) /*ACrangeExpr::empty_init*/;
   ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -18246,7 +18329,7 @@ void parser_prod___ACrangeExpr___init_acrangeexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___ACrangeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9266, LOCATE_parser_prod___ACrangeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9364, LOCATE_parser_prod___ACrangeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18255,7 +18338,7 @@ void parser_prod___ACrangeExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACrangeExpr___replace_child, LOCATE_parser_prod, 9268); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACrangeExpr___replace_child, LOCATE_parser_prod, 9366); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -18263,7 +18346,7 @@ void parser_prod___ACrangeExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACrangeExpr___replace_child, LOCATE_parser_prod, 9272); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACrangeExpr___replace_child, LOCATE_parser_prod, 9370); nit_exit(1);}
       ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -18277,7 +18360,7 @@ void parser_prod___ACrangeExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACrangeExpr___replace_child, LOCATE_parser_prod, 9282); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACrangeExpr___replace_child, LOCATE_parser_prod, 9380); nit_exit(1);}
       ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -18289,7 +18372,7 @@ void parser_prod___ACrangeExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ACrangeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9291, LOCATE_parser_prod___ACrangeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9389, LOCATE_parser_prod___ACrangeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18311,7 +18394,7 @@ void parser_prod___ACrangeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACrangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9301, LOCATE_parser_prod___ACrangeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9399, LOCATE_parser_prod___ACrangeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18333,7 +18416,7 @@ void parser_prod___ACrangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrangeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9312, LOCATE_parser_prod___AOrangeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 9410, LOCATE_parser_prod___AOrangeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18348,7 +18431,7 @@ void parser_prod___AOrangeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9319, LOCATE_parser_prod___AOrangeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 9417, LOCATE_parser_prod___AOrangeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18363,7 +18446,7 @@ void parser_prod___AOrangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrangeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9327, LOCATE_parser_prod___AOrangeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9425, LOCATE_parser_prod___AOrangeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i]) return;
@@ -18373,7 +18456,7 @@ void parser_prod___AOrangeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AOrangeExpr___init_aorangeexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9329, LOCATE_parser_prod___AOrangeExpr___init_aorangeexpr};
+  struct trace_t trace = {NULL, NULL, 9427, LOCATE_parser_prod___AOrangeExpr___init_aorangeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18382,7 +18465,7 @@ void parser_prod___AOrangeExpr___init_aorangeexpr(val_t  self, val_t  param0, va
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i]) return;
-  ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
+  ((parser_prod___AOrangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___AOrangeExpr___empty_init))( self, init_table /*YYY*/) /*AOrangeExpr::empty_init*/;
   ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -18398,7 +18481,7 @@ void parser_prod___AOrangeExpr___init_aorangeexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AOrangeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9344, LOCATE_parser_prod___AOrangeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9443, LOCATE_parser_prod___AOrangeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18407,7 +18490,7 @@ void parser_prod___AOrangeExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrangeExpr___replace_child, LOCATE_parser_prod, 9346); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrangeExpr___replace_child, LOCATE_parser_prod, 9445); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -18415,7 +18498,7 @@ void parser_prod___AOrangeExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrangeExpr___replace_child, LOCATE_parser_prod, 9350); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrangeExpr___replace_child, LOCATE_parser_prod, 9449); nit_exit(1);}
       ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -18429,7 +18512,7 @@ void parser_prod___AOrangeExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrangeExpr___replace_child, LOCATE_parser_prod, 9360); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrangeExpr___replace_child, LOCATE_parser_prod, 9459); nit_exit(1);}
       ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  NIT_NULL /*null*/;
@@ -18441,7 +18524,7 @@ void parser_prod___AOrangeExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AOrangeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9369, LOCATE_parser_prod___AOrangeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9468, LOCATE_parser_prod___AOrangeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18463,7 +18546,7 @@ void parser_prod___AOrangeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9379, LOCATE_parser_prod___AOrangeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9478, LOCATE_parser_prod___AOrangeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18485,7 +18568,7 @@ void parser_prod___AOrangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AArrayExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9391, LOCATE_parser_prod___AArrayExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9490, LOCATE_parser_prod___AArrayExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i]) return;
@@ -18494,7 +18577,7 @@ void parser_prod___AArrayExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AArrayExpr___init_aarrayexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9393, LOCATE_parser_prod___AArrayExpr___init_aarrayexpr};
+  struct trace_t trace = {NULL, NULL, 9492, LOCATE_parser_prod___AArrayExpr___init_aarrayexpr};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -18503,7 +18586,8 @@ void parser_prod___AArrayExpr___init_aarrayexpr(val_t  self, val_t  param0, int*
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[E]*/
+  ((parser_prod___AArrayExpr___empty_init_t)CALL( self,COLOR_parser_prod___AArrayExpr___empty_init))( self, init_table /*YYY*/) /*AArrayExpr::empty_init*/;
+  variable1 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/ = variable1;
   variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_exprs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_exprs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -18511,7 +18595,7 @@ void parser_prod___AArrayExpr___init_aarrayexpr(val_t  self, val_t  param0, int*
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AArrayExpr___init_aarrayexpr, LOCATE_parser_prod, 9399); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AArrayExpr___init_aarrayexpr, LOCATE_parser_prod, 9499); nit_exit(1);}
     variable3 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable2 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*PNode::parent=*/;
@@ -18524,7 +18608,7 @@ void parser_prod___AArrayExpr___init_aarrayexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___AArrayExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9405, LOCATE_parser_prod___AArrayExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9505, LOCATE_parser_prod___AArrayExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18535,10 +18619,10 @@ void parser_prod___AArrayExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AArrayExpr___replace_child, LOCATE_parser_prod, 9407); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AArrayExpr___replace_child, LOCATE_parser_prod, 9507); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -18552,7 +18636,7 @@ void parser_prod___AArrayExpr___replace_child(val_t  self, val_t  param0, val_t
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AArrayExpr___replace_child, LOCATE_parser_prod, 9411); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AArrayExpr___replace_child, LOCATE_parser_prod, 9511); nit_exit(1);}
         variable4 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -18571,7 +18655,7 @@ void parser_prod___AArrayExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AArrayExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9422, LOCATE_parser_prod___AArrayExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9522, LOCATE_parser_prod___AArrayExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -18593,7 +18677,7 @@ void parser_prod___AArrayExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AArrayExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9429, LOCATE_parser_prod___AArrayExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9529, LOCATE_parser_prod___AArrayExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18618,7 +18702,7 @@ void parser_prod___AArrayExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASelfExpr___n_kwself__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9441, LOCATE_parser_prod___ASelfExpr___n_kwself__eq};
+  struct trace_t trace = {NULL, NULL, 9541, LOCATE_parser_prod___ASelfExpr___n_kwself__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18633,7 +18717,7 @@ void parser_prod___ASelfExpr___n_kwself__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASelfExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9449, LOCATE_parser_prod___ASelfExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9549, LOCATE_parser_prod___ASelfExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i]) return;
@@ -18642,13 +18726,14 @@ void parser_prod___ASelfExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ASelfExpr___init_aselfexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9451, LOCATE_parser_prod___ASelfExpr___init_aselfexpr};
+  struct trace_t trace = {NULL, NULL, 9551, LOCATE_parser_prod___ASelfExpr___init_aselfexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i]) return;
+  ((parser_prod___ASelfExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASelfExpr___empty_init))( self, init_table /*YYY*/) /*ASelfExpr::empty_init*/;
   ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ =  variable0 /*n_kwself*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwself*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwself*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwself*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwself*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwself*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwself*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -18659,7 +18744,7 @@ void parser_prod___ASelfExpr___init_aselfexpr(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ASelfExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9461, LOCATE_parser_prod___ASelfExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9562, LOCATE_parser_prod___ASelfExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18668,7 +18753,7 @@ void parser_prod___ASelfExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASelfExpr___replace_child, LOCATE_parser_prod, 9463); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASelfExpr___replace_child, LOCATE_parser_prod, 9564); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -18676,7 +18761,7 @@ void parser_prod___ASelfExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASelfExpr___replace_child, LOCATE_parser_prod, 9467); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASelfExpr___replace_child, LOCATE_parser_prod, 9568); nit_exit(1);}
       ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ =  NIT_NULL /*null*/;
@@ -18688,7 +18773,7 @@ void parser_prod___ASelfExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASelfExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9476, LOCATE_parser_prod___ASelfExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9577, LOCATE_parser_prod___ASelfExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18704,7 +18789,7 @@ void parser_prod___ASelfExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASelfExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9483, LOCATE_parser_prod___ASelfExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9584, LOCATE_parser_prod___ASelfExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18720,7 +18805,7 @@ void parser_prod___ASelfExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AImplicitSelfExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9492, LOCATE_parser_prod___AImplicitSelfExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9593, LOCATE_parser_prod___AImplicitSelfExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i]) return;
@@ -18730,17 +18815,17 @@ void parser_prod___AImplicitSelfExpr___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9494, LOCATE_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr};
+  struct trace_t trace = {NULL, NULL, 9595, LOCATE_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i]) return;
-  ((parser_prod___ASelfExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASelfExpr___empty_init))( self, init_table /*YYY*/) /*ASelfExpr::empty_init*/;
+  ((parser_prod___AImplicitSelfExpr___empty_init_t)CALL( self,COLOR_parser_prod___AImplicitSelfExpr___empty_init))( self, init_table /*YYY*/) /*AImplicitSelfExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AImplicitSelfExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9498, LOCATE_parser_prod___AImplicitSelfExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9600, LOCATE_parser_prod___AImplicitSelfExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18749,12 +18834,12 @@ void parser_prod___AImplicitSelfExpr___replace_child(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImplicitSelfExpr___replace_child, LOCATE_parser_prod, 9500); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImplicitSelfExpr___replace_child, LOCATE_parser_prod, 9602); nit_exit(1);}
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AImplicitSelfExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9503, LOCATE_parser_prod___AImplicitSelfExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9605, LOCATE_parser_prod___AImplicitSelfExpr___visit_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
@@ -18763,7 +18848,7 @@ void parser_prod___AImplicitSelfExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AImplicitSelfExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9507, LOCATE_parser_prod___AImplicitSelfExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9609, LOCATE_parser_prod___AImplicitSelfExpr___visit_all_reverse};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
@@ -18772,7 +18857,7 @@ void parser_prod___AImplicitSelfExpr___visit_all_reverse(val_t  self, val_t  par
   return;
 }
 void parser_prod___ATrueExpr___n_kwtrue__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9512, LOCATE_parser_prod___ATrueExpr___n_kwtrue__eq};
+  struct trace_t trace = {NULL, NULL, 9614, LOCATE_parser_prod___ATrueExpr___n_kwtrue__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18787,7 +18872,7 @@ void parser_prod___ATrueExpr___n_kwtrue__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATrueExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9520, LOCATE_parser_prod___ATrueExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9622, LOCATE_parser_prod___ATrueExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i]) return;
@@ -18796,13 +18881,14 @@ void parser_prod___ATrueExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ATrueExpr___init_atrueexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9522, LOCATE_parser_prod___ATrueExpr___init_atrueexpr};
+  struct trace_t trace = {NULL, NULL, 9624, LOCATE_parser_prod___ATrueExpr___init_atrueexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i]) return;
+  ((parser_prod___ATrueExpr___empty_init_t)CALL( self,COLOR_parser_prod___ATrueExpr___empty_init))( self, init_table /*YYY*/) /*ATrueExpr::empty_init*/;
   ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ =  variable0 /*n_kwtrue*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwtrue*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwtrue*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwtrue*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwtrue*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwtrue*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwtrue*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -18813,7 +18899,7 @@ void parser_prod___ATrueExpr___init_atrueexpr(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ATrueExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9532, LOCATE_parser_prod___ATrueExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9635, LOCATE_parser_prod___ATrueExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18822,7 +18908,7 @@ void parser_prod___ATrueExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATrueExpr___replace_child, LOCATE_parser_prod, 9534); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATrueExpr___replace_child, LOCATE_parser_prod, 9637); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -18830,7 +18916,7 @@ void parser_prod___ATrueExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATrueExpr___replace_child, LOCATE_parser_prod, 9538); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATrueExpr___replace_child, LOCATE_parser_prod, 9641); nit_exit(1);}
       ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ =  NIT_NULL /*null*/;
@@ -18842,7 +18928,7 @@ void parser_prod___ATrueExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ATrueExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9547, LOCATE_parser_prod___ATrueExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9650, LOCATE_parser_prod___ATrueExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18858,7 +18944,7 @@ void parser_prod___ATrueExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATrueExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9554, LOCATE_parser_prod___ATrueExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9657, LOCATE_parser_prod___ATrueExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18874,7 +18960,7 @@ void parser_prod___ATrueExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFalseExpr___n_kwfalse__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9562, LOCATE_parser_prod___AFalseExpr___n_kwfalse__eq};
+  struct trace_t trace = {NULL, NULL, 9665, LOCATE_parser_prod___AFalseExpr___n_kwfalse__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18889,7 +18975,7 @@ void parser_prod___AFalseExpr___n_kwfalse__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFalseExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9570, LOCATE_parser_prod___AFalseExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9673, LOCATE_parser_prod___AFalseExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i]) return;
@@ -18898,13 +18984,14 @@ void parser_prod___AFalseExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AFalseExpr___init_afalseexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9572, LOCATE_parser_prod___AFalseExpr___init_afalseexpr};
+  struct trace_t trace = {NULL, NULL, 9675, LOCATE_parser_prod___AFalseExpr___init_afalseexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i]) return;
+  ((parser_prod___AFalseExpr___empty_init_t)CALL( self,COLOR_parser_prod___AFalseExpr___empty_init))( self, init_table /*YYY*/) /*AFalseExpr::empty_init*/;
   ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ =  variable0 /*n_kwfalse*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwfalse*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwfalse*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwfalse*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwfalse*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwfalse*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwfalse*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -18915,7 +19002,7 @@ void parser_prod___AFalseExpr___init_afalseexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___AFalseExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9582, LOCATE_parser_prod___AFalseExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9686, LOCATE_parser_prod___AFalseExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18924,7 +19011,7 @@ void parser_prod___AFalseExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFalseExpr___replace_child, LOCATE_parser_prod, 9584); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFalseExpr___replace_child, LOCATE_parser_prod, 9688); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -18932,7 +19019,7 @@ void parser_prod___AFalseExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFalseExpr___replace_child, LOCATE_parser_prod, 9588); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFalseExpr___replace_child, LOCATE_parser_prod, 9692); nit_exit(1);}
       ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ =  NIT_NULL /*null*/;
@@ -18944,7 +19031,7 @@ void parser_prod___AFalseExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AFalseExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9597, LOCATE_parser_prod___AFalseExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9701, LOCATE_parser_prod___AFalseExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18960,7 +19047,7 @@ void parser_prod___AFalseExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFalseExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9604, LOCATE_parser_prod___AFalseExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9708, LOCATE_parser_prod___AFalseExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18976,7 +19063,7 @@ void parser_prod___AFalseExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANullExpr___n_kwnull__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9612, LOCATE_parser_prod___ANullExpr___n_kwnull__eq};
+  struct trace_t trace = {NULL, NULL, 9716, LOCATE_parser_prod___ANullExpr___n_kwnull__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -18991,7 +19078,7 @@ void parser_prod___ANullExpr___n_kwnull__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANullExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9620, LOCATE_parser_prod___ANullExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9724, LOCATE_parser_prod___ANullExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i]) return;
@@ -19000,13 +19087,14 @@ void parser_prod___ANullExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ANullExpr___init_anullexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9622, LOCATE_parser_prod___ANullExpr___init_anullexpr};
+  struct trace_t trace = {NULL, NULL, 9726, LOCATE_parser_prod___ANullExpr___init_anullexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i]) return;
+  ((parser_prod___ANullExpr___empty_init_t)CALL( self,COLOR_parser_prod___ANullExpr___empty_init))( self, init_table /*YYY*/) /*ANullExpr::empty_init*/;
   ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ =  variable0 /*n_kwnull*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwnull*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_kwnull*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnull*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwnull*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnull*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwnull*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -19017,7 +19105,7 @@ void parser_prod___ANullExpr___init_anullexpr(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ANullExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9632, LOCATE_parser_prod___ANullExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9737, LOCATE_parser_prod___ANullExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19026,7 +19114,7 @@ void parser_prod___ANullExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANullExpr___replace_child, LOCATE_parser_prod, 9634); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANullExpr___replace_child, LOCATE_parser_prod, 9739); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -19034,7 +19122,7 @@ void parser_prod___ANullExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANullExpr___replace_child, LOCATE_parser_prod, 9638); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANullExpr___replace_child, LOCATE_parser_prod, 9743); nit_exit(1);}
       ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ =  NIT_NULL /*null*/;
@@ -19046,7 +19134,7 @@ void parser_prod___ANullExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ANullExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9647, LOCATE_parser_prod___ANullExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9752, LOCATE_parser_prod___ANullExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19062,7 +19150,7 @@ void parser_prod___ANullExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANullExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9654, LOCATE_parser_prod___ANullExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9759, LOCATE_parser_prod___ANullExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19078,7 +19166,7 @@ void parser_prod___ANullExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIntExpr___n_number__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9662, LOCATE_parser_prod___AIntExpr___n_number__eq};
+  struct trace_t trace = {NULL, NULL, 9767, LOCATE_parser_prod___AIntExpr___n_number__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19093,7 +19181,7 @@ void parser_prod___AIntExpr___n_number__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIntExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9670, LOCATE_parser_prod___AIntExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9775, LOCATE_parser_prod___AIntExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i]) return;
@@ -19102,13 +19190,14 @@ void parser_prod___AIntExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AIntExpr___init_aintexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9672, LOCATE_parser_prod___AIntExpr___init_aintexpr};
+  struct trace_t trace = {NULL, NULL, 9777, LOCATE_parser_prod___AIntExpr___init_aintexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i]) return;
+  ((parser_prod___AIntExpr___empty_init_t)CALL( self,COLOR_parser_prod___AIntExpr___empty_init))( self, init_table /*YYY*/) /*AIntExpr::empty_init*/;
   ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ =  variable0 /*n_number*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_number*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_number*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_number*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_number*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_number*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_number*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -19119,7 +19208,7 @@ void parser_prod___AIntExpr___init_aintexpr(val_t  self, val_t  param0, int* ini
   return;
 }
 void parser_prod___AIntExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9682, LOCATE_parser_prod___AIntExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9788, LOCATE_parser_prod___AIntExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19128,7 +19217,7 @@ void parser_prod___AIntExpr___replace_child(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntExpr___replace_child, LOCATE_parser_prod, 9684); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntExpr___replace_child, LOCATE_parser_prod, 9790); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -19136,7 +19225,7 @@ void parser_prod___AIntExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntExpr___replace_child, LOCATE_parser_prod, 9688); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntExpr___replace_child, LOCATE_parser_prod, 9794); nit_exit(1);}
       ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ =  NIT_NULL /*null*/;
@@ -19148,7 +19237,7 @@ void parser_prod___AIntExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AIntExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9697, LOCATE_parser_prod___AIntExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9803, LOCATE_parser_prod___AIntExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19164,7 +19253,7 @@ void parser_prod___AIntExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIntExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9704, LOCATE_parser_prod___AIntExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9810, LOCATE_parser_prod___AIntExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19180,7 +19269,7 @@ void parser_prod___AIntExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFloatExpr___n_float__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9712, LOCATE_parser_prod___AFloatExpr___n_float__eq};
+  struct trace_t trace = {NULL, NULL, 9818, LOCATE_parser_prod___AFloatExpr___n_float__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19195,7 +19284,7 @@ void parser_prod___AFloatExpr___n_float__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFloatExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9720, LOCATE_parser_prod___AFloatExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9826, LOCATE_parser_prod___AFloatExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i]) return;
@@ -19204,13 +19293,14 @@ void parser_prod___AFloatExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AFloatExpr___init_afloatexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9722, LOCATE_parser_prod___AFloatExpr___init_afloatexpr};
+  struct trace_t trace = {NULL, NULL, 9828, LOCATE_parser_prod___AFloatExpr___init_afloatexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i]) return;
+  ((parser_prod___AFloatExpr___empty_init_t)CALL( self,COLOR_parser_prod___AFloatExpr___empty_init))( self, init_table /*YYY*/) /*AFloatExpr::empty_init*/;
   ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ =  variable0 /*n_float*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_float*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_float*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_float*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_float*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_float*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_float*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -19221,7 +19311,7 @@ void parser_prod___AFloatExpr___init_afloatexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___AFloatExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9732, LOCATE_parser_prod___AFloatExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9839, LOCATE_parser_prod___AFloatExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19230,7 +19320,7 @@ void parser_prod___AFloatExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFloatExpr___replace_child, LOCATE_parser_prod, 9734); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFloatExpr___replace_child, LOCATE_parser_prod, 9841); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -19238,7 +19328,7 @@ void parser_prod___AFloatExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFloatExpr___replace_child, LOCATE_parser_prod, 9738); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFloatExpr___replace_child, LOCATE_parser_prod, 9845); nit_exit(1);}
       ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ =  NIT_NULL /*null*/;
@@ -19250,7 +19340,7 @@ void parser_prod___AFloatExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AFloatExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9747, LOCATE_parser_prod___AFloatExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9854, LOCATE_parser_prod___AFloatExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19266,7 +19356,7 @@ void parser_prod___AFloatExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFloatExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9754, LOCATE_parser_prod___AFloatExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9861, LOCATE_parser_prod___AFloatExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19282,7 +19372,7 @@ void parser_prod___AFloatExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACharExpr___n_char__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9762, LOCATE_parser_prod___ACharExpr___n_char__eq};
+  struct trace_t trace = {NULL, NULL, 9869, LOCATE_parser_prod___ACharExpr___n_char__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19297,7 +19387,7 @@ void parser_prod___ACharExpr___n_char__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACharExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9770, LOCATE_parser_prod___ACharExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9877, LOCATE_parser_prod___ACharExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i]) return;
@@ -19306,13 +19396,14 @@ void parser_prod___ACharExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ACharExpr___init_acharexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9772, LOCATE_parser_prod___ACharExpr___init_acharexpr};
+  struct trace_t trace = {NULL, NULL, 9879, LOCATE_parser_prod___ACharExpr___init_acharexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i]) return;
+  ((parser_prod___ACharExpr___empty_init_t)CALL( self,COLOR_parser_prod___ACharExpr___empty_init))( self, init_table /*YYY*/) /*ACharExpr::empty_init*/;
   ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ =  variable0 /*n_char*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_char*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_char*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_char*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_char*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_char*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_char*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -19323,7 +19414,7 @@ void parser_prod___ACharExpr___init_acharexpr(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ACharExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9782, LOCATE_parser_prod___ACharExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9890, LOCATE_parser_prod___ACharExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19332,7 +19423,7 @@ void parser_prod___ACharExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACharExpr___replace_child, LOCATE_parser_prod, 9784); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACharExpr___replace_child, LOCATE_parser_prod, 9892); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -19340,7 +19431,7 @@ void parser_prod___ACharExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACharExpr___replace_child, LOCATE_parser_prod, 9788); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACharExpr___replace_child, LOCATE_parser_prod, 9896); nit_exit(1);}
       ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ =  NIT_NULL /*null*/;
@@ -19352,7 +19443,7 @@ void parser_prod___ACharExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ACharExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9797, LOCATE_parser_prod___ACharExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9905, LOCATE_parser_prod___ACharExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19368,7 +19459,7 @@ void parser_prod___ACharExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACharExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9804, LOCATE_parser_prod___ACharExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9912, LOCATE_parser_prod___ACharExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19384,7 +19475,7 @@ void parser_prod___ACharExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9812, LOCATE_parser_prod___AStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 9920, LOCATE_parser_prod___AStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19399,7 +19490,7 @@ void parser_prod___AStringExpr___n_string__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9820, LOCATE_parser_prod___AStringExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9928, LOCATE_parser_prod___AStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i]) return;
@@ -19408,13 +19499,14 @@ void parser_prod___AStringExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AStringExpr___init_astringexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9822, LOCATE_parser_prod___AStringExpr___init_astringexpr};
+  struct trace_t trace = {NULL, NULL, 9930, LOCATE_parser_prod___AStringExpr___init_astringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i]) return;
+  ((parser_prod___AStringExpr___empty_init_t)CALL( self,COLOR_parser_prod___AStringExpr___empty_init))( self, init_table /*YYY*/) /*AStringExpr::empty_init*/;
   ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ =  variable0 /*n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_string*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_string*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_string*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_string*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -19425,7 +19517,7 @@ void parser_prod___AStringExpr___init_astringexpr(val_t  self, val_t  param0, in
   return;
 }
 void parser_prod___AStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9832, LOCATE_parser_prod___AStringExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9941, LOCATE_parser_prod___AStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19434,7 +19526,7 @@ void parser_prod___AStringExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStringExpr___replace_child, LOCATE_parser_prod, 9834); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStringExpr___replace_child, LOCATE_parser_prod, 9943); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -19442,7 +19534,7 @@ void parser_prod___AStringExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TString, ID_TString)) /*cast TString*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStringExpr___replace_child, LOCATE_parser_prod, 9838); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStringExpr___replace_child, LOCATE_parser_prod, 9947); nit_exit(1);}
       ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ =  NIT_NULL /*null*/;
@@ -19454,7 +19546,7 @@ void parser_prod___AStringExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AStringExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9847, LOCATE_parser_prod___AStringExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9956, LOCATE_parser_prod___AStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19470,7 +19562,7 @@ void parser_prod___AStringExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStringExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9854, LOCATE_parser_prod___AStringExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9963, LOCATE_parser_prod___AStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19486,7 +19578,7 @@ void parser_prod___AStringExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStartStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9862, LOCATE_parser_prod___AStartStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 9971, LOCATE_parser_prod___AStartStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19501,7 +19593,7 @@ void parser_prod___AStartStringExpr___n_string__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStartStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9870, LOCATE_parser_prod___AStartStringExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9979, LOCATE_parser_prod___AStartStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i]) return;
@@ -19510,13 +19602,14 @@ void parser_prod___AStartStringExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AStartStringExpr___init_astartstringexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9872, LOCATE_parser_prod___AStartStringExpr___init_astartstringexpr};
+  struct trace_t trace = {NULL, NULL, 9981, LOCATE_parser_prod___AStartStringExpr___init_astartstringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i]) return;
+  ((parser_prod___AStartStringExpr___empty_init_t)CALL( self,COLOR_parser_prod___AStartStringExpr___empty_init))( self, init_table /*YYY*/) /*AStartStringExpr::empty_init*/;
   ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ =  variable0 /*n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_string*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_string*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_string*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_string*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -19527,7 +19620,7 @@ void parser_prod___AStartStringExpr___init_astartstringexpr(val_t  self, val_t
   return;
 }
 void parser_prod___AStartStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9882, LOCATE_parser_prod___AStartStringExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9992, LOCATE_parser_prod___AStartStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19536,7 +19629,7 @@ void parser_prod___AStartStringExpr___replace_child(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStartStringExpr___replace_child, LOCATE_parser_prod, 9884); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStartStringExpr___replace_child, LOCATE_parser_prod, 9994); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -19544,7 +19637,7 @@ void parser_prod___AStartStringExpr___replace_child(val_t  self, val_t  param0,
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TStartString, ID_TStartString)) /*cast TStartString*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStartStringExpr___replace_child, LOCATE_parser_prod, 9888); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStartStringExpr___replace_child, LOCATE_parser_prod, 9998); nit_exit(1);}
       ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ =  NIT_NULL /*null*/;
@@ -19556,7 +19649,7 @@ void parser_prod___AStartStringExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AStartStringExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9897, LOCATE_parser_prod___AStartStringExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 10007, LOCATE_parser_prod___AStartStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19572,7 +19665,7 @@ void parser_prod___AStartStringExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStartStringExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9904, LOCATE_parser_prod___AStartStringExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10014, LOCATE_parser_prod___AStartStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19588,7 +19681,7 @@ void parser_prod___AStartStringExpr___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___AMidStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9912, LOCATE_parser_prod___AMidStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 10022, LOCATE_parser_prod___AMidStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19603,7 +19696,7 @@ void parser_prod___AMidStringExpr___n_string__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMidStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9920, LOCATE_parser_prod___AMidStringExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 10030, LOCATE_parser_prod___AMidStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i]) return;
@@ -19612,13 +19705,14 @@ void parser_prod___AMidStringExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AMidStringExpr___init_amidstringexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9922, LOCATE_parser_prod___AMidStringExpr___init_amidstringexpr};
+  struct trace_t trace = {NULL, NULL, 10032, LOCATE_parser_prod___AMidStringExpr___init_amidstringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i]) return;
+  ((parser_prod___AMidStringExpr___empty_init_t)CALL( self,COLOR_parser_prod___AMidStringExpr___empty_init))( self, init_table /*YYY*/) /*AMidStringExpr::empty_init*/;
   ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ =  variable0 /*n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_string*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_string*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_string*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_string*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -19629,7 +19723,7 @@ void parser_prod___AMidStringExpr___init_amidstringexpr(val_t  self, val_t  para
   return;
 }
 void parser_prod___AMidStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9932, LOCATE_parser_prod___AMidStringExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 10043, LOCATE_parser_prod___AMidStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19638,7 +19732,7 @@ void parser_prod___AMidStringExpr___replace_child(val_t  self, val_t  param0, va
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMidStringExpr___replace_child, LOCATE_parser_prod, 9934); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMidStringExpr___replace_child, LOCATE_parser_prod, 10045); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -19646,7 +19740,7 @@ void parser_prod___AMidStringExpr___replace_child(val_t  self, val_t  param0, va
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMidString, ID_TMidString)) /*cast TMidString*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMidStringExpr___replace_child, LOCATE_parser_prod, 9938); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMidStringExpr___replace_child, LOCATE_parser_prod, 10049); nit_exit(1);}
       ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ =  NIT_NULL /*null*/;
@@ -19658,7 +19752,7 @@ void parser_prod___AMidStringExpr___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AMidStringExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9947, LOCATE_parser_prod___AMidStringExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 10058, LOCATE_parser_prod___AMidStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19674,7 +19768,7 @@ void parser_prod___AMidStringExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMidStringExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9954, LOCATE_parser_prod___AMidStringExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10065, LOCATE_parser_prod___AMidStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19690,7 +19784,7 @@ void parser_prod___AMidStringExpr___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AEndStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9962, LOCATE_parser_prod___AEndStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 10073, LOCATE_parser_prod___AEndStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19705,7 +19799,7 @@ void parser_prod___AEndStringExpr___n_string__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEndStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9970, LOCATE_parser_prod___AEndStringExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 10081, LOCATE_parser_prod___AEndStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i]) return;
@@ -19714,13 +19808,14 @@ void parser_prod___AEndStringExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AEndStringExpr___init_aendstringexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 9972, LOCATE_parser_prod___AEndStringExpr___init_aendstringexpr};
+  struct trace_t trace = {NULL, NULL, 10083, LOCATE_parser_prod___AEndStringExpr___init_aendstringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i]) return;
+  ((parser_prod___AEndStringExpr___empty_init_t)CALL( self,COLOR_parser_prod___AEndStringExpr___empty_init))( self, init_table /*YYY*/) /*AEndStringExpr::empty_init*/;
   ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ =  variable0 /*n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_string*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_string*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_string*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_string*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -19731,7 +19826,7 @@ void parser_prod___AEndStringExpr___init_aendstringexpr(val_t  self, val_t  para
   return;
 }
 void parser_prod___AEndStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 9982, LOCATE_parser_prod___AEndStringExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 10094, LOCATE_parser_prod___AEndStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19740,7 +19835,7 @@ void parser_prod___AEndStringExpr___replace_child(val_t  self, val_t  param0, va
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEndStringExpr___replace_child, LOCATE_parser_prod, 9984); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEndStringExpr___replace_child, LOCATE_parser_prod, 10096); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -19748,7 +19843,7 @@ void parser_prod___AEndStringExpr___replace_child(val_t  self, val_t  param0, va
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TEndString, ID_TEndString)) /*cast TEndString*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEndStringExpr___replace_child, LOCATE_parser_prod, 9988); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEndStringExpr___replace_child, LOCATE_parser_prod, 10100); nit_exit(1);}
       ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ =  NIT_NULL /*null*/;
@@ -19760,7 +19855,7 @@ void parser_prod___AEndStringExpr___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AEndStringExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 9997, LOCATE_parser_prod___AEndStringExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 10109, LOCATE_parser_prod___AEndStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19776,7 +19871,7 @@ void parser_prod___AEndStringExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEndStringExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10004, LOCATE_parser_prod___AEndStringExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10116, LOCATE_parser_prod___AEndStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19792,7 +19887,7 @@ void parser_prod___AEndStringExpr___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___ASuperstringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10013, LOCATE_parser_prod___ASuperstringExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 10125, LOCATE_parser_prod___ASuperstringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i]) return;
@@ -19801,7 +19896,7 @@ void parser_prod___ASuperstringExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10015, LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr};
+  struct trace_t trace = {NULL, NULL, 10127, LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -19810,7 +19905,8 @@ void parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t  self, val_t
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[E]*/
+  ((parser_prod___ASuperstringExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASuperstringExpr___empty_init))( self, init_table /*YYY*/) /*ASuperstringExpr::empty_init*/;
+  variable1 = NEW_List_list___List___init(); /*new List[PExpr]*/
   ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/ = variable1;
   variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_exprs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_exprs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -19818,7 +19914,7 @@ void parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t  self, val_t
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr, LOCATE_parser_prod, 10021); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr, LOCATE_parser_prod, 10134); nit_exit(1);}
     variable3 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable2 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*PNode::parent=*/;
@@ -19831,7 +19927,7 @@ void parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t  self, val_t
   return;
 }
 void parser_prod___ASuperstringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 10027, LOCATE_parser_prod___ASuperstringExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 10140, LOCATE_parser_prod___ASuperstringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19842,10 +19938,10 @@ void parser_prod___ASuperstringExpr___replace_child(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperstringExpr___replace_child, LOCATE_parser_prod, 10029); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperstringExpr___replace_child, LOCATE_parser_prod, 10142); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -19859,7 +19955,7 @@ void parser_prod___ASuperstringExpr___replace_child(val_t  self, val_t  param0,
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperstringExpr___replace_child, LOCATE_parser_prod, 10033); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperstringExpr___replace_child, LOCATE_parser_prod, 10146); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -19878,7 +19974,7 @@ void parser_prod___ASuperstringExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ASuperstringExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10044, LOCATE_parser_prod___ASuperstringExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 10157, LOCATE_parser_prod___ASuperstringExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -19900,7 +19996,7 @@ void parser_prod___ASuperstringExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperstringExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10051, LOCATE_parser_prod___ASuperstringExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10164, LOCATE_parser_prod___ASuperstringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19925,7 +20021,7 @@ void parser_prod___ASuperstringExpr___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___AParExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10063, LOCATE_parser_prod___AParExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 10176, LOCATE_parser_prod___AParExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19940,7 +20036,7 @@ void parser_prod___AParExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10071, LOCATE_parser_prod___AParExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 10184, LOCATE_parser_prod___AParExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i]) return;
@@ -19949,13 +20045,14 @@ void parser_prod___AParExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AParExpr___init_aparexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10073, LOCATE_parser_prod___AParExpr___init_aparexpr};
+  struct trace_t trace = {NULL, NULL, 10186, LOCATE_parser_prod___AParExpr___init_aparexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i]) return;
+  ((parser_prod___AParExpr___empty_init_t)CALL( self,COLOR_parser_prod___AParExpr___empty_init))( self, init_table /*YYY*/) /*AParExpr::empty_init*/;
   ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -19966,7 +20063,7 @@ void parser_prod___AParExpr___init_aparexpr(val_t  self, val_t  param0, int* ini
   return;
 }
 void parser_prod___AParExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 10083, LOCATE_parser_prod___AParExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 10197, LOCATE_parser_prod___AParExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19975,7 +20072,7 @@ void parser_prod___AParExpr___replace_child(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParExpr___replace_child, LOCATE_parser_prod, 10085); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParExpr___replace_child, LOCATE_parser_prod, 10199); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -19983,7 +20080,7 @@ void parser_prod___AParExpr___replace_child(val_t  self, val_t  param0, val_t  p
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParExpr___replace_child, LOCATE_parser_prod, 10089); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParExpr___replace_child, LOCATE_parser_prod, 10203); nit_exit(1);}
       ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -19995,7 +20092,7 @@ void parser_prod___AParExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AParExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10098, LOCATE_parser_prod___AParExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 10212, LOCATE_parser_prod___AParExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20011,7 +20108,7 @@ void parser_prod___AParExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10105, LOCATE_parser_prod___AParExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10219, LOCATE_parser_prod___AParExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20027,7 +20124,7 @@ void parser_prod___AParExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAsCastExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10113, LOCATE_parser_prod___AAsCastExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 10227, LOCATE_parser_prod___AAsCastExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20042,7 +20139,7 @@ void parser_prod___AAsCastExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAsCastExpr___n_kwas__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10120, LOCATE_parser_prod___AAsCastExpr___n_kwas__eq};
+  struct trace_t trace = {NULL, NULL, 10234, LOCATE_parser_prod___AAsCastExpr___n_kwas__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20057,7 +20154,7 @@ void parser_prod___AAsCastExpr___n_kwas__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAsCastExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10127, LOCATE_parser_prod___AAsCastExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 10241, LOCATE_parser_prod___AAsCastExpr___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20072,7 +20169,7 @@ void parser_prod___AAsCastExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAsCastExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10135, LOCATE_parser_prod___AAsCastExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 10249, LOCATE_parser_prod___AAsCastExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i]) return;
@@ -20081,7 +20178,7 @@ void parser_prod___AAsCastExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AAsCastExpr___init_aascastexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10137, LOCATE_parser_prod___AAsCastExpr___init_aascastexpr};
+  struct trace_t trace = {NULL, NULL, 10251, LOCATE_parser_prod___AAsCastExpr___init_aascastexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20092,6 +20189,7 @@ void parser_prod___AAsCastExpr___init_aascastexpr(val_t  self, val_t  param0, va
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i]) return;
+  ((parser_prod___AAsCastExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAsCastExpr___empty_init))( self, init_table /*YYY*/) /*AAsCastExpr::empty_init*/;
   ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ =  variable0 /*n_expr*/;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -20112,7 +20210,7 @@ void parser_prod___AAsCastExpr___init_aascastexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AAsCastExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 10157, LOCATE_parser_prod___AAsCastExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 10272, LOCATE_parser_prod___AAsCastExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20121,7 +20219,7 @@ void parser_prod___AAsCastExpr___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10159); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10274); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -20129,7 +20227,7 @@ void parser_prod___AAsCastExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10163); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10278); nit_exit(1);}
       ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ =  NIT_NULL /*null*/;
@@ -20143,7 +20241,7 @@ void parser_prod___AAsCastExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10173); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10288); nit_exit(1);}
       ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ =  NIT_NULL /*null*/;
@@ -20157,7 +20255,7 @@ void parser_prod___AAsCastExpr___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10183); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10298); nit_exit(1);}
       ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ =  NIT_NULL /*null*/;
@@ -20169,7 +20267,7 @@ void parser_prod___AAsCastExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AAsCastExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10192, LOCATE_parser_prod___AAsCastExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 10307, LOCATE_parser_prod___AAsCastExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20197,7 +20295,7 @@ void parser_prod___AAsCastExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAsCastExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10205, LOCATE_parser_prod___AAsCastExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10320, LOCATE_parser_prod___AAsCastExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20225,7 +20323,7 @@ void parser_prod___AAsCastExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusAssignOp___n_pluseq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10219, LOCATE_parser_prod___APlusAssignOp___n_pluseq__eq};
+  struct trace_t trace = {NULL, NULL, 10334, LOCATE_parser_prod___APlusAssignOp___n_pluseq__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20240,7 +20338,7 @@ void parser_prod___APlusAssignOp___n_pluseq__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusAssignOp___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10227, LOCATE_parser_prod___APlusAssignOp___empty_init};
+  struct trace_t trace = {NULL, NULL, 10342, LOCATE_parser_prod___APlusAssignOp___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i]) return;
@@ -20249,13 +20347,14 @@ void parser_prod___APlusAssignOp___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___APlusAssignOp___init_aplusassignop(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10229, LOCATE_parser_prod___APlusAssignOp___init_aplusassignop};
+  struct trace_t trace = {NULL, NULL, 10344, LOCATE_parser_prod___APlusAssignOp___init_aplusassignop};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i]) return;
+  ((parser_prod___APlusAssignOp___empty_init_t)CALL( self,COLOR_parser_prod___APlusAssignOp___empty_init))( self, init_table /*YYY*/) /*APlusAssignOp::empty_init*/;
   ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ =  variable0 /*n_pluseq*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_pluseq*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_pluseq*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_pluseq*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_pluseq*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_pluseq*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_pluseq*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -20266,7 +20365,7 @@ void parser_prod___APlusAssignOp___init_aplusassignop(val_t  self, val_t  param0
   return;
 }
 void parser_prod___APlusAssignOp___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 10239, LOCATE_parser_prod___APlusAssignOp___replace_child};
+  struct trace_t trace = {NULL, NULL, 10355, LOCATE_parser_prod___APlusAssignOp___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20275,7 +20374,7 @@ void parser_prod___APlusAssignOp___replace_child(val_t  self, val_t  param0, val
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusAssignOp___replace_child, LOCATE_parser_prod, 10241); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusAssignOp___replace_child, LOCATE_parser_prod, 10357); nit_exit(1);}
   variable2 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -20283,7 +20382,7 @@ void parser_prod___APlusAssignOp___replace_child(val_t  self, val_t  param0, val
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TPluseq, ID_TPluseq)) /*cast TPluseq*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusAssignOp___replace_child, LOCATE_parser_prod, 10245); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusAssignOp___replace_child, LOCATE_parser_prod, 10361); nit_exit(1);}
       ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ =  NIT_NULL /*null*/;
@@ -20295,7 +20394,7 @@ void parser_prod___APlusAssignOp___replace_child(val_t  self, val_t  param0, val
   return;
 }
 void parser_prod___APlusAssignOp___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10254, LOCATE_parser_prod___APlusAssignOp___visit_all};
+  struct trace_t trace = {NULL, NULL, 10370, LOCATE_parser_prod___APlusAssignOp___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20311,7 +20410,7 @@ void parser_prod___APlusAssignOp___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusAssignOp___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10261, LOCATE_parser_prod___APlusAssignOp___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10377, LOCATE_parser_prod___APlusAssignOp___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20327,7 +20426,7 @@ void parser_prod___APlusAssignOp___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AMinusAssignOp___n_minuseq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10269, LOCATE_parser_prod___AMinusAssignOp___n_minuseq__eq};
+  struct trace_t trace = {NULL, NULL, 10385, LOCATE_parser_prod___AMinusAssignOp___n_minuseq__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20342,7 +20441,7 @@ void parser_prod___AMinusAssignOp___n_minuseq__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusAssignOp___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10277, LOCATE_parser_prod___AMinusAssignOp___empty_init};
+  struct trace_t trace = {NULL, NULL, 10393, LOCATE_parser_prod___AMinusAssignOp___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i]) return;
@@ -20351,13 +20450,14 @@ void parser_prod___AMinusAssignOp___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AMinusAssignOp___init_aminusassignop(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10279, LOCATE_parser_prod___AMinusAssignOp___init_aminusassignop};
+  struct trace_t trace = {NULL, NULL, 10395, LOCATE_parser_prod___AMinusAssignOp___init_aminusassignop};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i]) return;
+  ((parser_prod___AMinusAssignOp___empty_init_t)CALL( self,COLOR_parser_prod___AMinusAssignOp___empty_init))( self, init_table /*YYY*/) /*AMinusAssignOp::empty_init*/;
   ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ =  variable0 /*n_minuseq*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_minuseq*/ ==  NIT_NULL /*null*/) || (( variable0 /*n_minuseq*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_minuseq*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_minuseq*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_minuseq*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_minuseq*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -20368,7 +20468,7 @@ void parser_prod___AMinusAssignOp___init_aminusassignop(val_t  self, val_t  para
   return;
 }
 void parser_prod___AMinusAssignOp___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 10289, LOCATE_parser_prod___AMinusAssignOp___replace_child};
+  struct trace_t trace = {NULL, NULL, 10406, LOCATE_parser_prod___AMinusAssignOp___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20377,7 +20477,7 @@ void parser_prod___AMinusAssignOp___replace_child(val_t  self, val_t  param0, va
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusAssignOp___replace_child, LOCATE_parser_prod, 10291); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusAssignOp___replace_child, LOCATE_parser_prod, 10408); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -20385,7 +20485,7 @@ void parser_prod___AMinusAssignOp___replace_child(val_t  self, val_t  param0, va
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMinuseq, ID_TMinuseq)) /*cast TMinuseq*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusAssignOp___replace_child, LOCATE_parser_prod, 10295); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusAssignOp___replace_child, LOCATE_parser_prod, 10412); nit_exit(1);}
       ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ =  NIT_NULL /*null*/;
@@ -20397,7 +20497,7 @@ void parser_prod___AMinusAssignOp___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AMinusAssignOp___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10304, LOCATE_parser_prod___AMinusAssignOp___visit_all};
+  struct trace_t trace = {NULL, NULL, 10421, LOCATE_parser_prod___AMinusAssignOp___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20413,7 +20513,7 @@ void parser_prod___AMinusAssignOp___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusAssignOp___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10311, LOCATE_parser_prod___AMinusAssignOp___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10428, LOCATE_parser_prod___AMinusAssignOp___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20429,7 +20529,7 @@ void parser_prod___AMinusAssignOp___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AQualified___n_classid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10319, LOCATE_parser_prod___AQualified___n_classid__eq};
+  struct trace_t trace = {NULL, NULL, 10436, LOCATE_parser_prod___AQualified___n_classid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20444,7 +20544,7 @@ void parser_prod___AQualified___n_classid__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AQualified___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10327, LOCATE_parser_prod___AQualified___empty_init};
+  struct trace_t trace = {NULL, NULL, 10444, LOCATE_parser_prod___AQualified___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i]) return;
@@ -20453,7 +20553,7 @@ void parser_prod___AQualified___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AQualified___init_aqualified(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10329, LOCATE_parser_prod___AQualified___init_aqualified};
+  struct trace_t trace = {NULL, NULL, 10446, LOCATE_parser_prod___AQualified___init_aqualified};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20464,7 +20564,8 @@ void parser_prod___AQualified___init_aqualified(val_t  self, val_t  param0, val_
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i]) return;
-  variable2 = NEW_list___List___init(); /*new List[E]*/
+  ((parser_prod___AQualified___empty_init_t)CALL( self,COLOR_parser_prod___AQualified___empty_init))( self, init_table /*YYY*/) /*AQualified::empty_init*/;
+  variable2 = NEW_List_list___List___init(); /*new List[TId]*/
   ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/ = variable2;
   variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_id*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_id*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -20472,7 +20573,7 @@ void parser_prod___AQualified___init_aqualified(val_t  self, val_t  param0, val_
     if (!UNTAG_Bool(variable3)) break; /*for*/
     variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
     variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_TId, ID_TId)) /*cast TId*/;
-    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___init_aqualified, LOCATE_parser_prod, 10336); nit_exit(1);}
+    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___init_aqualified, LOCATE_parser_prod, 10454); nit_exit(1);}
     variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable3 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/,  self) /*PNode::parent=*/;
@@ -20490,7 +20591,7 @@ void parser_prod___AQualified___init_aqualified(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AQualified___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 10346, LOCATE_parser_prod___AQualified___replace_child};
+  struct trace_t trace = {NULL, NULL, 10464, LOCATE_parser_prod___AQualified___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20501,10 +20602,10 @@ void parser_prod___AQualified___replace_child(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___replace_child, LOCATE_parser_prod, 10348); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___replace_child, LOCATE_parser_prod, 10466); nit_exit(1);}
   variable2 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -20518,7 +20619,7 @@ void parser_prod___AQualified___replace_child(val_t  self, val_t  param0, val_t
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___replace_child, LOCATE_parser_prod, 10352); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___replace_child, LOCATE_parser_prod, 10470); nit_exit(1);}
         variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -20539,7 +20640,7 @@ void parser_prod___AQualified___replace_child(val_t  self, val_t  param0, val_t
     if (UNTAG_Bool(variable2)) { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___replace_child, LOCATE_parser_prod, 10364); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___replace_child, LOCATE_parser_prod, 10482); nit_exit(1);}
       ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ =  variable1 /*new_child*/;
     } else { /*if*/
       ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ =  NIT_NULL /*null*/;
@@ -20551,7 +20652,7 @@ void parser_prod___AQualified___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AQualified___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10373, LOCATE_parser_prod___AQualified___visit_all};
+  struct trace_t trace = {NULL, NULL, 10491, LOCATE_parser_prod___AQualified___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -20579,7 +20680,7 @@ void parser_prod___AQualified___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AQualified___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10383, LOCATE_parser_prod___AQualified___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10501, LOCATE_parser_prod___AQualified___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20610,7 +20711,7 @@ void parser_prod___AQualified___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ADoc___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10399, LOCATE_parser_prod___ADoc___empty_init};
+  struct trace_t trace = {NULL, NULL, 10517, LOCATE_parser_prod___ADoc___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i]) return;
@@ -20619,7 +20720,7 @@ void parser_prod___ADoc___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ADoc___init_adoc(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10401, LOCATE_parser_prod___ADoc___init_adoc};
+  struct trace_t trace = {NULL, NULL, 10519, LOCATE_parser_prod___ADoc___init_adoc};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -20628,7 +20729,8 @@ void parser_prod___ADoc___init_adoc(val_t  self, val_t  param0, int* init_table)
   trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[E]*/
+  ((parser_prod___ADoc___empty_init_t)CALL( self,COLOR_parser_prod___ADoc___empty_init))( self, init_table /*YYY*/) /*ADoc::empty_init*/;
+  variable1 = NEW_List_list___List___init(); /*new List[TComment]*/
   ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/ = variable1;
   variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_comment*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_comment*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -20636,7 +20738,7 @@ void parser_prod___ADoc___init_adoc(val_t  self, val_t  param0, int* init_table)
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoc___init_adoc, LOCATE_parser_prod, 10407); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoc___init_adoc, LOCATE_parser_prod, 10526); nit_exit(1);}
     variable3 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
     ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable2 /*n*/) /*IndexedCollection::add*/;
     ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*PNode::parent=*/;
@@ -20649,7 +20751,7 @@ void parser_prod___ADoc___init_adoc(val_t  self, val_t  param0, int* init_table)
   return;
 }
 void parser_prod___ADoc___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 10413, LOCATE_parser_prod___ADoc___replace_child};
+  struct trace_t trace = {NULL, NULL, 10532, LOCATE_parser_prod___ADoc___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20660,10 +20762,10 @@ void parser_prod___ADoc___replace_child(val_t  self, val_t  param0, val_t  param
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoc___replace_child, LOCATE_parser_prod, 10415); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoc___replace_child, LOCATE_parser_prod, 10534); nit_exit(1);}
   variable2 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
+  variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -20677,7 +20779,7 @@ void parser_prod___ADoc___replace_child(val_t  self, val_t  param0, val_t  param
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ ==  NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable4)) { /*if*/
         variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
-        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoc___replace_child, LOCATE_parser_prod, 10419); nit_exit(1);}
+        if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoc___replace_child, LOCATE_parser_prod, 10538); nit_exit(1);}
         variable4 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
         ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable3 /*i*/,  variable1 /*new_child*/) /*List::[]=*/;
         ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
@@ -20696,7 +20798,7 @@ void parser_prod___ADoc___replace_child(val_t  self, val_t  param0, val_t  param
   return;
 }
 void parser_prod___ADoc___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10430, LOCATE_parser_prod___ADoc___visit_all};
+  struct trace_t trace = {NULL, NULL, 10549, LOCATE_parser_prod___ADoc___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -20718,7 +20820,7 @@ void parser_prod___ADoc___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ADoc___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10437, LOCATE_parser_prod___ADoc___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10556, LOCATE_parser_prod___ADoc___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20743,7 +20845,7 @@ void parser_prod___ADoc___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___Start___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 10450, LOCATE_parser_prod___Start___init};
+  struct trace_t trace = {NULL, NULL, 10569, LOCATE_parser_prod___Start___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20758,7 +20860,7 @@ void parser_prod___Start___init(val_t  self, val_t  param0, val_t  param1, int*
   return;
 }
 void parser_prod___Start___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 10458, LOCATE_parser_prod___Start___replace_child};
+  struct trace_t trace = {NULL, NULL, 10577, LOCATE_parser_prod___Start___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20767,7 +20869,7 @@ void parser_prod___Start___replace_child(val_t  self, val_t  param0, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___Start___replace_child, LOCATE_parser_prod, 10460); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___Start___replace_child, LOCATE_parser_prod, 10579); nit_exit(1);}
   variable2 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
   variable2 = TAG_Bool((variable2 ==  variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*old_child*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -20776,7 +20878,7 @@ void parser_prod___Start___replace_child(val_t  self, val_t  param0, val_t  para
     } else { /*if*/
       ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PModule, ID_PModule)) /*cast PModule*/;
-      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___Start___replace_child, LOCATE_parser_prod, 10465); nit_exit(1);}
+      if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___Start___replace_child, LOCATE_parser_prod, 10584); nit_exit(1);}
       ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/ =  variable1 /*new_child*/;
     }
     ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*old_child*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*PNode::parent=*/;
@@ -20787,7 +20889,7 @@ void parser_prod___Start___replace_child(val_t  self, val_t  param0, val_t  para
   return;
 }
 void parser_prod___Start___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10473, LOCATE_parser_prod___Start___visit_all};
+  struct trace_t trace = {NULL, NULL, 10592, LOCATE_parser_prod___Start___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -20803,7 +20905,7 @@ void parser_prod___Start___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___Start___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 10480, LOCATE_parser_prod___Start___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10599, LOCATE_parser_prod___Start___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
index d7859f9..8566c5f 100644 (file)
@@ -29,245 +29,246 @@ extern const int SFT_parser_prod[];
 #define COLOR_Visitor SFT_parser_prod[19]
 #define INIT_TABLE_POS_Visitor SFT_parser_prod[20]
 #define COLOR_parser_prod___Visitor___visit SFT_parser_prod[21]
-#define COLOR_parser_prod___AModule___empty_init SFT_parser_prod[22]
-#define COLOR_parser_prod___AModule___init_amodule SFT_parser_prod[23]
-#define COLOR_parser_prod___APackagedecl___empty_init SFT_parser_prod[24]
-#define COLOR_parser_prod___APackagedecl___init_apackagedecl SFT_parser_prod[25]
-#define COLOR_parser_prod___AImport___empty_init SFT_parser_prod[26]
-#define COLOR_parser_prod___AImport___init_aimport SFT_parser_prod[27]
-#define COLOR_parser_prod___ANoImport___empty_init SFT_parser_prod[28]
-#define COLOR_parser_prod___ANoImport___init_anoimport SFT_parser_prod[29]
-#define COLOR_parser_prod___APublicVisibility___empty_init SFT_parser_prod[30]
-#define COLOR_parser_prod___APublicVisibility___init_apublicvisibility SFT_parser_prod[31]
-#define COLOR_parser_prod___APrivateVisibility___empty_init SFT_parser_prod[32]
-#define COLOR_parser_prod___APrivateVisibility___init_aprivatevisibility SFT_parser_prod[33]
-#define COLOR_parser_prod___AProtectedVisibility___empty_init SFT_parser_prod[34]
-#define COLOR_parser_prod___AProtectedVisibility___init_aprotectedvisibility SFT_parser_prod[35]
-#define COLOR_parser_prod___AIntrudeVisibility___empty_init SFT_parser_prod[36]
-#define COLOR_parser_prod___AIntrudeVisibility___init_aintrudevisibility SFT_parser_prod[37]
-#define COLOR_parser_prod___AClassdef___empty_init SFT_parser_prod[38]
-#define COLOR_parser_prod___AClassdef___init_aclassdef SFT_parser_prod[39]
-#define COLOR_parser_prod___ATopClassdef___empty_init SFT_parser_prod[40]
-#define COLOR_parser_prod___ATopClassdef___init_atopclassdef SFT_parser_prod[41]
-#define COLOR_parser_prod___AMainClassdef___empty_init SFT_parser_prod[42]
-#define COLOR_parser_prod___AMainClassdef___init_amainclassdef SFT_parser_prod[43]
-#define COLOR_parser_prod___AConcreteClasskind___empty_init SFT_parser_prod[44]
-#define COLOR_parser_prod___AConcreteClasskind___init_aconcreteclasskind SFT_parser_prod[45]
-#define COLOR_parser_prod___AAbstractClasskind___empty_init SFT_parser_prod[46]
-#define COLOR_parser_prod___AAbstractClasskind___init_aabstractclasskind SFT_parser_prod[47]
-#define COLOR_parser_prod___AInterfaceClasskind___empty_init SFT_parser_prod[48]
-#define COLOR_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind SFT_parser_prod[49]
-#define COLOR_parser_prod___AUniversalClasskind___empty_init SFT_parser_prod[50]
-#define COLOR_parser_prod___AUniversalClasskind___init_auniversalclasskind SFT_parser_prod[51]
-#define COLOR_parser_prod___AFormaldef___empty_init SFT_parser_prod[52]
-#define COLOR_parser_prod___AFormaldef___init_aformaldef SFT_parser_prod[53]
-#define COLOR_parser_prod___ASuperclass___empty_init SFT_parser_prod[54]
-#define COLOR_parser_prod___ASuperclass___init_asuperclass SFT_parser_prod[55]
-#define COLOR_parser_prod___AAttrPropdef___empty_init SFT_parser_prod[56]
-#define COLOR_parser_prod___AAttrPropdef___init_aattrpropdef SFT_parser_prod[57]
-#define COLOR_parser_prod___AMethPropdef___empty_init SFT_parser_prod[58]
-#define COLOR_parser_prod___AMethPropdef___init_amethpropdef SFT_parser_prod[59]
-#define COLOR_parser_prod___ADeferredMethPropdef___empty_init SFT_parser_prod[60]
-#define COLOR_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef SFT_parser_prod[61]
-#define COLOR_parser_prod___AInternMethPropdef___empty_init SFT_parser_prod[62]
-#define COLOR_parser_prod___AInternMethPropdef___init_ainternmethpropdef SFT_parser_prod[63]
-#define COLOR_parser_prod___AExternMethPropdef___empty_init SFT_parser_prod[64]
-#define COLOR_parser_prod___AExternMethPropdef___init_aexternmethpropdef SFT_parser_prod[65]
-#define COLOR_parser_prod___AConcreteMethPropdef___empty_init SFT_parser_prod[66]
-#define COLOR_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef SFT_parser_prod[67]
-#define COLOR_parser_prod___AConcreteInitPropdef___empty_init SFT_parser_prod[68]
-#define COLOR_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef SFT_parser_prod[69]
-#define COLOR_parser_prod___AMainMethPropdef___empty_init SFT_parser_prod[70]
-#define COLOR_parser_prod___AMainMethPropdef___init_amainmethpropdef SFT_parser_prod[71]
-#define COLOR_parser_prod___ATypePropdef___empty_init SFT_parser_prod[72]
-#define COLOR_parser_prod___ATypePropdef___init_atypepropdef SFT_parser_prod[73]
-#define COLOR_parser_prod___AReadAble___empty_init SFT_parser_prod[74]
-#define COLOR_parser_prod___AReadAble___init_areadable SFT_parser_prod[75]
-#define COLOR_parser_prod___AWriteAble___empty_init SFT_parser_prod[76]
-#define COLOR_parser_prod___AWriteAble___init_awriteable SFT_parser_prod[77]
-#define COLOR_parser_prod___AIdMethid___empty_init SFT_parser_prod[78]
-#define COLOR_parser_prod___AIdMethid___init_aidmethid SFT_parser_prod[79]
-#define COLOR_parser_prod___APlusMethid___empty_init SFT_parser_prod[80]
-#define COLOR_parser_prod___APlusMethid___init_aplusmethid SFT_parser_prod[81]
-#define COLOR_parser_prod___AMinusMethid___empty_init SFT_parser_prod[82]
-#define COLOR_parser_prod___AMinusMethid___init_aminusmethid SFT_parser_prod[83]
-#define COLOR_parser_prod___AStarMethid___empty_init SFT_parser_prod[84]
-#define COLOR_parser_prod___AStarMethid___init_astarmethid SFT_parser_prod[85]
-#define COLOR_parser_prod___ASlashMethid___empty_init SFT_parser_prod[86]
-#define COLOR_parser_prod___ASlashMethid___init_aslashmethid SFT_parser_prod[87]
-#define COLOR_parser_prod___APercentMethid___empty_init SFT_parser_prod[88]
-#define COLOR_parser_prod___APercentMethid___init_apercentmethid SFT_parser_prod[89]
-#define COLOR_parser_prod___AEqMethid___empty_init SFT_parser_prod[90]
-#define COLOR_parser_prod___AEqMethid___init_aeqmethid SFT_parser_prod[91]
-#define COLOR_parser_prod___ANeMethid___empty_init SFT_parser_prod[92]
-#define COLOR_parser_prod___ANeMethid___init_anemethid SFT_parser_prod[93]
-#define COLOR_parser_prod___ALeMethid___empty_init SFT_parser_prod[94]
-#define COLOR_parser_prod___ALeMethid___init_alemethid SFT_parser_prod[95]
-#define COLOR_parser_prod___AGeMethid___empty_init SFT_parser_prod[96]
-#define COLOR_parser_prod___AGeMethid___init_agemethid SFT_parser_prod[97]
-#define COLOR_parser_prod___ALtMethid___empty_init SFT_parser_prod[98]
-#define COLOR_parser_prod___ALtMethid___init_altmethid SFT_parser_prod[99]
-#define COLOR_parser_prod___AGtMethid___empty_init SFT_parser_prod[100]
-#define COLOR_parser_prod___AGtMethid___init_agtmethid SFT_parser_prod[101]
-#define COLOR_parser_prod___ABraMethid___empty_init SFT_parser_prod[102]
-#define COLOR_parser_prod___ABraMethid___init_abramethid SFT_parser_prod[103]
-#define COLOR_parser_prod___AStarshipMethid___empty_init SFT_parser_prod[104]
-#define COLOR_parser_prod___AStarshipMethid___init_astarshipmethid SFT_parser_prod[105]
-#define COLOR_parser_prod___AAssignMethid___empty_init SFT_parser_prod[106]
-#define COLOR_parser_prod___AAssignMethid___init_aassignmethid SFT_parser_prod[107]
-#define COLOR_parser_prod___ABraassignMethid___empty_init SFT_parser_prod[108]
-#define COLOR_parser_prod___ABraassignMethid___init_abraassignmethid SFT_parser_prod[109]
-#define COLOR_parser_prod___ASignature___empty_init SFT_parser_prod[110]
-#define COLOR_parser_prod___ASignature___init_asignature SFT_parser_prod[111]
-#define COLOR_parser_prod___AParam___empty_init SFT_parser_prod[112]
-#define COLOR_parser_prod___AParam___init_aparam SFT_parser_prod[113]
-#define COLOR_parser_prod___AType___empty_init SFT_parser_prod[114]
-#define COLOR_parser_prod___AType___init_atype SFT_parser_prod[115]
-#define COLOR_parser_prod___ABlockExpr___empty_init SFT_parser_prod[116]
-#define COLOR_parser_prod___ABlockExpr___init_ablockexpr SFT_parser_prod[117]
-#define COLOR_parser_prod___AVardeclExpr___empty_init SFT_parser_prod[118]
-#define COLOR_parser_prod___AVardeclExpr___init_avardeclexpr SFT_parser_prod[119]
-#define COLOR_parser_prod___AReturnExpr___empty_init SFT_parser_prod[120]
-#define COLOR_parser_prod___AReturnExpr___init_areturnexpr SFT_parser_prod[121]
-#define COLOR_parser_prod___ABreakExpr___empty_init SFT_parser_prod[122]
-#define COLOR_parser_prod___ABreakExpr___init_abreakexpr SFT_parser_prod[123]
-#define COLOR_parser_prod___AAbortExpr___empty_init SFT_parser_prod[124]
-#define COLOR_parser_prod___AAbortExpr___init_aabortexpr SFT_parser_prod[125]
-#define COLOR_parser_prod___AContinueExpr___empty_init SFT_parser_prod[126]
-#define COLOR_parser_prod___AContinueExpr___init_acontinueexpr SFT_parser_prod[127]
-#define COLOR_parser_prod___ADoExpr___empty_init SFT_parser_prod[128]
-#define COLOR_parser_prod___ADoExpr___init_adoexpr SFT_parser_prod[129]
-#define COLOR_parser_prod___AIfExpr___empty_init SFT_parser_prod[130]
-#define COLOR_parser_prod___AIfExpr___init_aifexpr SFT_parser_prod[131]
-#define COLOR_parser_prod___AIfexprExpr___empty_init SFT_parser_prod[132]
-#define COLOR_parser_prod___AIfexprExpr___init_aifexprexpr SFT_parser_prod[133]
-#define COLOR_parser_prod___AWhileExpr___empty_init SFT_parser_prod[134]
-#define COLOR_parser_prod___AWhileExpr___init_awhileexpr SFT_parser_prod[135]
-#define COLOR_parser_prod___AForExpr___empty_init SFT_parser_prod[136]
-#define COLOR_parser_prod___AForExpr___init_aforexpr SFT_parser_prod[137]
-#define COLOR_parser_prod___AForVardeclExpr___empty_init SFT_parser_prod[138]
-#define COLOR_parser_prod___AForVardeclExpr___init_aforvardeclexpr SFT_parser_prod[139]
-#define COLOR_parser_prod___AAssertExpr___empty_init SFT_parser_prod[140]
-#define COLOR_parser_prod___AAssertExpr___init_aassertexpr SFT_parser_prod[141]
-#define COLOR_parser_prod___AOnceExpr___empty_init SFT_parser_prod[142]
-#define COLOR_parser_prod___AOnceExpr___init_aonceexpr SFT_parser_prod[143]
-#define COLOR_parser_prod___ASendExpr___empty_init SFT_parser_prod[144]
-#define COLOR_parser_prod___ASendExpr___init_asendexpr SFT_parser_prod[145]
-#define COLOR_parser_prod___ABinopExpr___empty_init SFT_parser_prod[146]
-#define COLOR_parser_prod___ABinopExpr___init_abinopexpr SFT_parser_prod[147]
-#define COLOR_parser_prod___AOrExpr___empty_init SFT_parser_prod[148]
-#define COLOR_parser_prod___AOrExpr___init_aorexpr SFT_parser_prod[149]
-#define COLOR_parser_prod___AAndExpr___empty_init SFT_parser_prod[150]
-#define COLOR_parser_prod___AAndExpr___init_aandexpr SFT_parser_prod[151]
-#define COLOR_parser_prod___ANotExpr___empty_init SFT_parser_prod[152]
-#define COLOR_parser_prod___ANotExpr___init_anotexpr SFT_parser_prod[153]
-#define COLOR_parser_prod___AEqExpr___empty_init SFT_parser_prod[154]
-#define COLOR_parser_prod___AEqExpr___init_aeqexpr SFT_parser_prod[155]
-#define COLOR_parser_prod___AEeExpr___empty_init SFT_parser_prod[156]
-#define COLOR_parser_prod___AEeExpr___init_aeeexpr SFT_parser_prod[157]
-#define COLOR_parser_prod___ANeExpr___empty_init SFT_parser_prod[158]
-#define COLOR_parser_prod___ANeExpr___init_aneexpr SFT_parser_prod[159]
-#define COLOR_parser_prod___ALtExpr___empty_init SFT_parser_prod[160]
-#define COLOR_parser_prod___ALtExpr___init_altexpr SFT_parser_prod[161]
-#define COLOR_parser_prod___ALeExpr___empty_init SFT_parser_prod[162]
-#define COLOR_parser_prod___ALeExpr___init_aleexpr SFT_parser_prod[163]
-#define COLOR_parser_prod___AGtExpr___empty_init SFT_parser_prod[164]
-#define COLOR_parser_prod___AGtExpr___init_agtexpr SFT_parser_prod[165]
-#define COLOR_parser_prod___AGeExpr___empty_init SFT_parser_prod[166]
-#define COLOR_parser_prod___AGeExpr___init_ageexpr SFT_parser_prod[167]
-#define COLOR_parser_prod___AIsaExpr___empty_init SFT_parser_prod[168]
-#define COLOR_parser_prod___AIsaExpr___init_aisaexpr SFT_parser_prod[169]
-#define COLOR_parser_prod___APlusExpr___empty_init SFT_parser_prod[170]
-#define COLOR_parser_prod___APlusExpr___init_aplusexpr SFT_parser_prod[171]
-#define COLOR_parser_prod___AMinusExpr___empty_init SFT_parser_prod[172]
-#define COLOR_parser_prod___AMinusExpr___init_aminusexpr SFT_parser_prod[173]
-#define COLOR_parser_prod___AStarshipExpr___empty_init SFT_parser_prod[174]
-#define COLOR_parser_prod___AStarshipExpr___init_astarshipexpr SFT_parser_prod[175]
-#define COLOR_parser_prod___AStarExpr___empty_init SFT_parser_prod[176]
-#define COLOR_parser_prod___AStarExpr___init_astarexpr SFT_parser_prod[177]
-#define COLOR_parser_prod___ASlashExpr___empty_init SFT_parser_prod[178]
-#define COLOR_parser_prod___ASlashExpr___init_aslashexpr SFT_parser_prod[179]
-#define COLOR_parser_prod___APercentExpr___empty_init SFT_parser_prod[180]
-#define COLOR_parser_prod___APercentExpr___init_apercentexpr SFT_parser_prod[181]
-#define COLOR_parser_prod___AUminusExpr___empty_init SFT_parser_prod[182]
-#define COLOR_parser_prod___AUminusExpr___init_auminusexpr SFT_parser_prod[183]
-#define COLOR_parser_prod___ANewExpr___empty_init SFT_parser_prod[184]
-#define COLOR_parser_prod___ANewExpr___init_anewexpr SFT_parser_prod[185]
-#define COLOR_parser_prod___AAttrExpr___empty_init SFT_parser_prod[186]
-#define COLOR_parser_prod___AAttrExpr___init_aattrexpr SFT_parser_prod[187]
-#define COLOR_parser_prod___AAttrAssignExpr___empty_init SFT_parser_prod[188]
-#define COLOR_parser_prod___AAttrAssignExpr___init_aattrassignexpr SFT_parser_prod[189]
-#define COLOR_parser_prod___AAttrReassignExpr___empty_init SFT_parser_prod[190]
-#define COLOR_parser_prod___AAttrReassignExpr___init_aattrreassignexpr SFT_parser_prod[191]
-#define COLOR_parser_prod___ACallExpr___empty_init SFT_parser_prod[192]
-#define COLOR_parser_prod___ACallExpr___init_acallexpr SFT_parser_prod[193]
-#define COLOR_parser_prod___ACallAssignExpr___empty_init SFT_parser_prod[194]
-#define COLOR_parser_prod___ACallAssignExpr___init_acallassignexpr SFT_parser_prod[195]
-#define COLOR_parser_prod___ACallReassignExpr___empty_init SFT_parser_prod[196]
-#define COLOR_parser_prod___ACallReassignExpr___init_acallreassignexpr SFT_parser_prod[197]
-#define COLOR_parser_prod___ASuperExpr___empty_init SFT_parser_prod[198]
-#define COLOR_parser_prod___ASuperExpr___init_asuperexpr SFT_parser_prod[199]
-#define COLOR_parser_prod___AInitExpr___empty_init SFT_parser_prod[200]
-#define COLOR_parser_prod___AInitExpr___init_ainitexpr SFT_parser_prod[201]
-#define COLOR_parser_prod___ABraExpr___empty_init SFT_parser_prod[202]
-#define COLOR_parser_prod___ABraExpr___init_abraexpr SFT_parser_prod[203]
-#define COLOR_parser_prod___ABraAssignExpr___empty_init SFT_parser_prod[204]
-#define COLOR_parser_prod___ABraAssignExpr___init_abraassignexpr SFT_parser_prod[205]
-#define COLOR_parser_prod___ABraReassignExpr___empty_init SFT_parser_prod[206]
-#define COLOR_parser_prod___ABraReassignExpr___init_abrareassignexpr SFT_parser_prod[207]
-#define COLOR_parser_prod___AVarExpr___empty_init SFT_parser_prod[208]
-#define COLOR_parser_prod___AVarExpr___init_avarexpr SFT_parser_prod[209]
-#define COLOR_parser_prod___AVarAssignExpr___empty_init SFT_parser_prod[210]
-#define COLOR_parser_prod___AVarAssignExpr___init_avarassignexpr SFT_parser_prod[211]
-#define COLOR_parser_prod___AVarReassignExpr___empty_init SFT_parser_prod[212]
-#define COLOR_parser_prod___AVarReassignExpr___init_avarreassignexpr SFT_parser_prod[213]
-#define COLOR_parser_prod___ARangeExpr___empty_init SFT_parser_prod[214]
-#define COLOR_parser_prod___ARangeExpr___init_arangeexpr SFT_parser_prod[215]
-#define COLOR_parser_prod___ACrangeExpr___empty_init SFT_parser_prod[216]
-#define COLOR_parser_prod___ACrangeExpr___init_acrangeexpr SFT_parser_prod[217]
-#define COLOR_parser_prod___AOrangeExpr___empty_init SFT_parser_prod[218]
-#define COLOR_parser_prod___AOrangeExpr___init_aorangeexpr SFT_parser_prod[219]
-#define COLOR_parser_prod___AArrayExpr___empty_init SFT_parser_prod[220]
-#define COLOR_parser_prod___AArrayExpr___init_aarrayexpr SFT_parser_prod[221]
-#define COLOR_parser_prod___ASelfExpr___empty_init SFT_parser_prod[222]
-#define COLOR_parser_prod___ASelfExpr___init_aselfexpr SFT_parser_prod[223]
-#define COLOR_parser_prod___AImplicitSelfExpr___empty_init SFT_parser_prod[224]
-#define COLOR_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr SFT_parser_prod[225]
-#define COLOR_parser_prod___ATrueExpr___empty_init SFT_parser_prod[226]
-#define COLOR_parser_prod___ATrueExpr___init_atrueexpr SFT_parser_prod[227]
-#define COLOR_parser_prod___AFalseExpr___empty_init SFT_parser_prod[228]
-#define COLOR_parser_prod___AFalseExpr___init_afalseexpr SFT_parser_prod[229]
-#define COLOR_parser_prod___ANullExpr___empty_init SFT_parser_prod[230]
-#define COLOR_parser_prod___ANullExpr___init_anullexpr SFT_parser_prod[231]
-#define COLOR_parser_prod___AIntExpr___empty_init SFT_parser_prod[232]
-#define COLOR_parser_prod___AIntExpr___init_aintexpr SFT_parser_prod[233]
-#define COLOR_parser_prod___AFloatExpr___empty_init SFT_parser_prod[234]
-#define COLOR_parser_prod___AFloatExpr___init_afloatexpr SFT_parser_prod[235]
-#define COLOR_parser_prod___ACharExpr___empty_init SFT_parser_prod[236]
-#define COLOR_parser_prod___ACharExpr___init_acharexpr SFT_parser_prod[237]
-#define COLOR_parser_prod___AStringExpr___empty_init SFT_parser_prod[238]
-#define COLOR_parser_prod___AStringExpr___init_astringexpr SFT_parser_prod[239]
-#define COLOR_parser_prod___AStartStringExpr___empty_init SFT_parser_prod[240]
-#define COLOR_parser_prod___AStartStringExpr___init_astartstringexpr SFT_parser_prod[241]
-#define COLOR_parser_prod___AMidStringExpr___empty_init SFT_parser_prod[242]
-#define COLOR_parser_prod___AMidStringExpr___init_amidstringexpr SFT_parser_prod[243]
-#define COLOR_parser_prod___AEndStringExpr___empty_init SFT_parser_prod[244]
-#define COLOR_parser_prod___AEndStringExpr___init_aendstringexpr SFT_parser_prod[245]
-#define COLOR_parser_prod___ASuperstringExpr___empty_init SFT_parser_prod[246]
-#define COLOR_parser_prod___ASuperstringExpr___init_asuperstringexpr SFT_parser_prod[247]
-#define COLOR_parser_prod___AParExpr___empty_init SFT_parser_prod[248]
-#define COLOR_parser_prod___AParExpr___init_aparexpr SFT_parser_prod[249]
-#define COLOR_parser_prod___AAsCastExpr___empty_init SFT_parser_prod[250]
-#define COLOR_parser_prod___AAsCastExpr___init_aascastexpr SFT_parser_prod[251]
-#define COLOR_parser_prod___APlusAssignOp___empty_init SFT_parser_prod[252]
-#define COLOR_parser_prod___APlusAssignOp___init_aplusassignop SFT_parser_prod[253]
-#define COLOR_parser_prod___AMinusAssignOp___empty_init SFT_parser_prod[254]
-#define COLOR_parser_prod___AMinusAssignOp___init_aminusassignop SFT_parser_prod[255]
-#define COLOR_parser_prod___AQualified___empty_init SFT_parser_prod[256]
-#define COLOR_parser_prod___AQualified___init_aqualified SFT_parser_prod[257]
-#define COLOR_parser_prod___ADoc___empty_init SFT_parser_prod[258]
-#define COLOR_parser_prod___ADoc___init_adoc SFT_parser_prod[259]
-#define COLOR_parser_prod___Start___init SFT_parser_prod[260]
+#define COLOR_parser_prod___Visitor___init SFT_parser_prod[22]
+#define COLOR_parser_prod___AModule___empty_init SFT_parser_prod[23]
+#define COLOR_parser_prod___AModule___init_amodule SFT_parser_prod[24]
+#define COLOR_parser_prod___APackagedecl___empty_init SFT_parser_prod[25]
+#define COLOR_parser_prod___APackagedecl___init_apackagedecl SFT_parser_prod[26]
+#define COLOR_parser_prod___AImport___empty_init SFT_parser_prod[27]
+#define COLOR_parser_prod___AImport___init_aimport SFT_parser_prod[28]
+#define COLOR_parser_prod___ANoImport___empty_init SFT_parser_prod[29]
+#define COLOR_parser_prod___ANoImport___init_anoimport SFT_parser_prod[30]
+#define COLOR_parser_prod___APublicVisibility___empty_init SFT_parser_prod[31]
+#define COLOR_parser_prod___APublicVisibility___init_apublicvisibility SFT_parser_prod[32]
+#define COLOR_parser_prod___APrivateVisibility___empty_init SFT_parser_prod[33]
+#define COLOR_parser_prod___APrivateVisibility___init_aprivatevisibility SFT_parser_prod[34]
+#define COLOR_parser_prod___AProtectedVisibility___empty_init SFT_parser_prod[35]
+#define COLOR_parser_prod___AProtectedVisibility___init_aprotectedvisibility SFT_parser_prod[36]
+#define COLOR_parser_prod___AIntrudeVisibility___empty_init SFT_parser_prod[37]
+#define COLOR_parser_prod___AIntrudeVisibility___init_aintrudevisibility SFT_parser_prod[38]
+#define COLOR_parser_prod___AClassdef___empty_init SFT_parser_prod[39]
+#define COLOR_parser_prod___AClassdef___init_aclassdef SFT_parser_prod[40]
+#define COLOR_parser_prod___ATopClassdef___empty_init SFT_parser_prod[41]
+#define COLOR_parser_prod___ATopClassdef___init_atopclassdef SFT_parser_prod[42]
+#define COLOR_parser_prod___AMainClassdef___empty_init SFT_parser_prod[43]
+#define COLOR_parser_prod___AMainClassdef___init_amainclassdef SFT_parser_prod[44]
+#define COLOR_parser_prod___AConcreteClasskind___empty_init SFT_parser_prod[45]
+#define COLOR_parser_prod___AConcreteClasskind___init_aconcreteclasskind SFT_parser_prod[46]
+#define COLOR_parser_prod___AAbstractClasskind___empty_init SFT_parser_prod[47]
+#define COLOR_parser_prod___AAbstractClasskind___init_aabstractclasskind SFT_parser_prod[48]
+#define COLOR_parser_prod___AInterfaceClasskind___empty_init SFT_parser_prod[49]
+#define COLOR_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind SFT_parser_prod[50]
+#define COLOR_parser_prod___AUniversalClasskind___empty_init SFT_parser_prod[51]
+#define COLOR_parser_prod___AUniversalClasskind___init_auniversalclasskind SFT_parser_prod[52]
+#define COLOR_parser_prod___AFormaldef___empty_init SFT_parser_prod[53]
+#define COLOR_parser_prod___AFormaldef___init_aformaldef SFT_parser_prod[54]
+#define COLOR_parser_prod___ASuperclass___empty_init SFT_parser_prod[55]
+#define COLOR_parser_prod___ASuperclass___init_asuperclass SFT_parser_prod[56]
+#define COLOR_parser_prod___AAttrPropdef___empty_init SFT_parser_prod[57]
+#define COLOR_parser_prod___AAttrPropdef___init_aattrpropdef SFT_parser_prod[58]
+#define COLOR_parser_prod___AMethPropdef___empty_init SFT_parser_prod[59]
+#define COLOR_parser_prod___AMethPropdef___init_amethpropdef SFT_parser_prod[60]
+#define COLOR_parser_prod___ADeferredMethPropdef___empty_init SFT_parser_prod[61]
+#define COLOR_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef SFT_parser_prod[62]
+#define COLOR_parser_prod___AInternMethPropdef___empty_init SFT_parser_prod[63]
+#define COLOR_parser_prod___AInternMethPropdef___init_ainternmethpropdef SFT_parser_prod[64]
+#define COLOR_parser_prod___AExternMethPropdef___empty_init SFT_parser_prod[65]
+#define COLOR_parser_prod___AExternMethPropdef___init_aexternmethpropdef SFT_parser_prod[66]
+#define COLOR_parser_prod___AConcreteMethPropdef___empty_init SFT_parser_prod[67]
+#define COLOR_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef SFT_parser_prod[68]
+#define COLOR_parser_prod___AConcreteInitPropdef___empty_init SFT_parser_prod[69]
+#define COLOR_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef SFT_parser_prod[70]
+#define COLOR_parser_prod___AMainMethPropdef___empty_init SFT_parser_prod[71]
+#define COLOR_parser_prod___AMainMethPropdef___init_amainmethpropdef SFT_parser_prod[72]
+#define COLOR_parser_prod___ATypePropdef___empty_init SFT_parser_prod[73]
+#define COLOR_parser_prod___ATypePropdef___init_atypepropdef SFT_parser_prod[74]
+#define COLOR_parser_prod___AReadAble___empty_init SFT_parser_prod[75]
+#define COLOR_parser_prod___AReadAble___init_areadable SFT_parser_prod[76]
+#define COLOR_parser_prod___AWriteAble___empty_init SFT_parser_prod[77]
+#define COLOR_parser_prod___AWriteAble___init_awriteable SFT_parser_prod[78]
+#define COLOR_parser_prod___AIdMethid___empty_init SFT_parser_prod[79]
+#define COLOR_parser_prod___AIdMethid___init_aidmethid SFT_parser_prod[80]
+#define COLOR_parser_prod___APlusMethid___empty_init SFT_parser_prod[81]
+#define COLOR_parser_prod___APlusMethid___init_aplusmethid SFT_parser_prod[82]
+#define COLOR_parser_prod___AMinusMethid___empty_init SFT_parser_prod[83]
+#define COLOR_parser_prod___AMinusMethid___init_aminusmethid SFT_parser_prod[84]
+#define COLOR_parser_prod___AStarMethid___empty_init SFT_parser_prod[85]
+#define COLOR_parser_prod___AStarMethid___init_astarmethid SFT_parser_prod[86]
+#define COLOR_parser_prod___ASlashMethid___empty_init SFT_parser_prod[87]
+#define COLOR_parser_prod___ASlashMethid___init_aslashmethid SFT_parser_prod[88]
+#define COLOR_parser_prod___APercentMethid___empty_init SFT_parser_prod[89]
+#define COLOR_parser_prod___APercentMethid___init_apercentmethid SFT_parser_prod[90]
+#define COLOR_parser_prod___AEqMethid___empty_init SFT_parser_prod[91]
+#define COLOR_parser_prod___AEqMethid___init_aeqmethid SFT_parser_prod[92]
+#define COLOR_parser_prod___ANeMethid___empty_init SFT_parser_prod[93]
+#define COLOR_parser_prod___ANeMethid___init_anemethid SFT_parser_prod[94]
+#define COLOR_parser_prod___ALeMethid___empty_init SFT_parser_prod[95]
+#define COLOR_parser_prod___ALeMethid___init_alemethid SFT_parser_prod[96]
+#define COLOR_parser_prod___AGeMethid___empty_init SFT_parser_prod[97]
+#define COLOR_parser_prod___AGeMethid___init_agemethid SFT_parser_prod[98]
+#define COLOR_parser_prod___ALtMethid___empty_init SFT_parser_prod[99]
+#define COLOR_parser_prod___ALtMethid___init_altmethid SFT_parser_prod[100]
+#define COLOR_parser_prod___AGtMethid___empty_init SFT_parser_prod[101]
+#define COLOR_parser_prod___AGtMethid___init_agtmethid SFT_parser_prod[102]
+#define COLOR_parser_prod___ABraMethid___empty_init SFT_parser_prod[103]
+#define COLOR_parser_prod___ABraMethid___init_abramethid SFT_parser_prod[104]
+#define COLOR_parser_prod___AStarshipMethid___empty_init SFT_parser_prod[105]
+#define COLOR_parser_prod___AStarshipMethid___init_astarshipmethid SFT_parser_prod[106]
+#define COLOR_parser_prod___AAssignMethid___empty_init SFT_parser_prod[107]
+#define COLOR_parser_prod___AAssignMethid___init_aassignmethid SFT_parser_prod[108]
+#define COLOR_parser_prod___ABraassignMethid___empty_init SFT_parser_prod[109]
+#define COLOR_parser_prod___ABraassignMethid___init_abraassignmethid SFT_parser_prod[110]
+#define COLOR_parser_prod___ASignature___empty_init SFT_parser_prod[111]
+#define COLOR_parser_prod___ASignature___init_asignature SFT_parser_prod[112]
+#define COLOR_parser_prod___AParam___empty_init SFT_parser_prod[113]
+#define COLOR_parser_prod___AParam___init_aparam SFT_parser_prod[114]
+#define COLOR_parser_prod___AType___empty_init SFT_parser_prod[115]
+#define COLOR_parser_prod___AType___init_atype SFT_parser_prod[116]
+#define COLOR_parser_prod___ABlockExpr___empty_init SFT_parser_prod[117]
+#define COLOR_parser_prod___ABlockExpr___init_ablockexpr SFT_parser_prod[118]
+#define COLOR_parser_prod___AVardeclExpr___empty_init SFT_parser_prod[119]
+#define COLOR_parser_prod___AVardeclExpr___init_avardeclexpr SFT_parser_prod[120]
+#define COLOR_parser_prod___AReturnExpr___empty_init SFT_parser_prod[121]
+#define COLOR_parser_prod___AReturnExpr___init_areturnexpr SFT_parser_prod[122]
+#define COLOR_parser_prod___ABreakExpr___empty_init SFT_parser_prod[123]
+#define COLOR_parser_prod___ABreakExpr___init_abreakexpr SFT_parser_prod[124]
+#define COLOR_parser_prod___AAbortExpr___empty_init SFT_parser_prod[125]
+#define COLOR_parser_prod___AAbortExpr___init_aabortexpr SFT_parser_prod[126]
+#define COLOR_parser_prod___AContinueExpr___empty_init SFT_parser_prod[127]
+#define COLOR_parser_prod___AContinueExpr___init_acontinueexpr SFT_parser_prod[128]
+#define COLOR_parser_prod___ADoExpr___empty_init SFT_parser_prod[129]
+#define COLOR_parser_prod___ADoExpr___init_adoexpr SFT_parser_prod[130]
+#define COLOR_parser_prod___AIfExpr___empty_init SFT_parser_prod[131]
+#define COLOR_parser_prod___AIfExpr___init_aifexpr SFT_parser_prod[132]
+#define COLOR_parser_prod___AIfexprExpr___empty_init SFT_parser_prod[133]
+#define COLOR_parser_prod___AIfexprExpr___init_aifexprexpr SFT_parser_prod[134]
+#define COLOR_parser_prod___AWhileExpr___empty_init SFT_parser_prod[135]
+#define COLOR_parser_prod___AWhileExpr___init_awhileexpr SFT_parser_prod[136]
+#define COLOR_parser_prod___AForExpr___empty_init SFT_parser_prod[137]
+#define COLOR_parser_prod___AForExpr___init_aforexpr SFT_parser_prod[138]
+#define COLOR_parser_prod___AForVardeclExpr___empty_init SFT_parser_prod[139]
+#define COLOR_parser_prod___AForVardeclExpr___init_aforvardeclexpr SFT_parser_prod[140]
+#define COLOR_parser_prod___AAssertExpr___empty_init SFT_parser_prod[141]
+#define COLOR_parser_prod___AAssertExpr___init_aassertexpr SFT_parser_prod[142]
+#define COLOR_parser_prod___AOnceExpr___empty_init SFT_parser_prod[143]
+#define COLOR_parser_prod___AOnceExpr___init_aonceexpr SFT_parser_prod[144]
+#define COLOR_parser_prod___ASendExpr___empty_init SFT_parser_prod[145]
+#define COLOR_parser_prod___ASendExpr___init_asendexpr SFT_parser_prod[146]
+#define COLOR_parser_prod___ABinopExpr___empty_init SFT_parser_prod[147]
+#define COLOR_parser_prod___ABinopExpr___init_abinopexpr SFT_parser_prod[148]
+#define COLOR_parser_prod___AOrExpr___empty_init SFT_parser_prod[149]
+#define COLOR_parser_prod___AOrExpr___init_aorexpr SFT_parser_prod[150]
+#define COLOR_parser_prod___AAndExpr___empty_init SFT_parser_prod[151]
+#define COLOR_parser_prod___AAndExpr___init_aandexpr SFT_parser_prod[152]
+#define COLOR_parser_prod___ANotExpr___empty_init SFT_parser_prod[153]
+#define COLOR_parser_prod___ANotExpr___init_anotexpr SFT_parser_prod[154]
+#define COLOR_parser_prod___AEqExpr___empty_init SFT_parser_prod[155]
+#define COLOR_parser_prod___AEqExpr___init_aeqexpr SFT_parser_prod[156]
+#define COLOR_parser_prod___AEeExpr___empty_init SFT_parser_prod[157]
+#define COLOR_parser_prod___AEeExpr___init_aeeexpr SFT_parser_prod[158]
+#define COLOR_parser_prod___ANeExpr___empty_init SFT_parser_prod[159]
+#define COLOR_parser_prod___ANeExpr___init_aneexpr SFT_parser_prod[160]
+#define COLOR_parser_prod___ALtExpr___empty_init SFT_parser_prod[161]
+#define COLOR_parser_prod___ALtExpr___init_altexpr SFT_parser_prod[162]
+#define COLOR_parser_prod___ALeExpr___empty_init SFT_parser_prod[163]
+#define COLOR_parser_prod___ALeExpr___init_aleexpr SFT_parser_prod[164]
+#define COLOR_parser_prod___AGtExpr___empty_init SFT_parser_prod[165]
+#define COLOR_parser_prod___AGtExpr___init_agtexpr SFT_parser_prod[166]
+#define COLOR_parser_prod___AGeExpr___empty_init SFT_parser_prod[167]
+#define COLOR_parser_prod___AGeExpr___init_ageexpr SFT_parser_prod[168]
+#define COLOR_parser_prod___AIsaExpr___empty_init SFT_parser_prod[169]
+#define COLOR_parser_prod___AIsaExpr___init_aisaexpr SFT_parser_prod[170]
+#define COLOR_parser_prod___APlusExpr___empty_init SFT_parser_prod[171]
+#define COLOR_parser_prod___APlusExpr___init_aplusexpr SFT_parser_prod[172]
+#define COLOR_parser_prod___AMinusExpr___empty_init SFT_parser_prod[173]
+#define COLOR_parser_prod___AMinusExpr___init_aminusexpr SFT_parser_prod[174]
+#define COLOR_parser_prod___AStarshipExpr___empty_init SFT_parser_prod[175]
+#define COLOR_parser_prod___AStarshipExpr___init_astarshipexpr SFT_parser_prod[176]
+#define COLOR_parser_prod___AStarExpr___empty_init SFT_parser_prod[177]
+#define COLOR_parser_prod___AStarExpr___init_astarexpr SFT_parser_prod[178]
+#define COLOR_parser_prod___ASlashExpr___empty_init SFT_parser_prod[179]
+#define COLOR_parser_prod___ASlashExpr___init_aslashexpr SFT_parser_prod[180]
+#define COLOR_parser_prod___APercentExpr___empty_init SFT_parser_prod[181]
+#define COLOR_parser_prod___APercentExpr___init_apercentexpr SFT_parser_prod[182]
+#define COLOR_parser_prod___AUminusExpr___empty_init SFT_parser_prod[183]
+#define COLOR_parser_prod___AUminusExpr___init_auminusexpr SFT_parser_prod[184]
+#define COLOR_parser_prod___ANewExpr___empty_init SFT_parser_prod[185]
+#define COLOR_parser_prod___ANewExpr___init_anewexpr SFT_parser_prod[186]
+#define COLOR_parser_prod___AAttrExpr___empty_init SFT_parser_prod[187]
+#define COLOR_parser_prod___AAttrExpr___init_aattrexpr SFT_parser_prod[188]
+#define COLOR_parser_prod___AAttrAssignExpr___empty_init SFT_parser_prod[189]
+#define COLOR_parser_prod___AAttrAssignExpr___init_aattrassignexpr SFT_parser_prod[190]
+#define COLOR_parser_prod___AAttrReassignExpr___empty_init SFT_parser_prod[191]
+#define COLOR_parser_prod___AAttrReassignExpr___init_aattrreassignexpr SFT_parser_prod[192]
+#define COLOR_parser_prod___ACallExpr___empty_init SFT_parser_prod[193]
+#define COLOR_parser_prod___ACallExpr___init_acallexpr SFT_parser_prod[194]
+#define COLOR_parser_prod___ACallAssignExpr___empty_init SFT_parser_prod[195]
+#define COLOR_parser_prod___ACallAssignExpr___init_acallassignexpr SFT_parser_prod[196]
+#define COLOR_parser_prod___ACallReassignExpr___empty_init SFT_parser_prod[197]
+#define COLOR_parser_prod___ACallReassignExpr___init_acallreassignexpr SFT_parser_prod[198]
+#define COLOR_parser_prod___ASuperExpr___empty_init SFT_parser_prod[199]
+#define COLOR_parser_prod___ASuperExpr___init_asuperexpr SFT_parser_prod[200]
+#define COLOR_parser_prod___AInitExpr___empty_init SFT_parser_prod[201]
+#define COLOR_parser_prod___AInitExpr___init_ainitexpr SFT_parser_prod[202]
+#define COLOR_parser_prod___ABraExpr___empty_init SFT_parser_prod[203]
+#define COLOR_parser_prod___ABraExpr___init_abraexpr SFT_parser_prod[204]
+#define COLOR_parser_prod___ABraAssignExpr___empty_init SFT_parser_prod[205]
+#define COLOR_parser_prod___ABraAssignExpr___init_abraassignexpr SFT_parser_prod[206]
+#define COLOR_parser_prod___ABraReassignExpr___empty_init SFT_parser_prod[207]
+#define COLOR_parser_prod___ABraReassignExpr___init_abrareassignexpr SFT_parser_prod[208]
+#define COLOR_parser_prod___AVarExpr___empty_init SFT_parser_prod[209]
+#define COLOR_parser_prod___AVarExpr___init_avarexpr SFT_parser_prod[210]
+#define COLOR_parser_prod___AVarAssignExpr___empty_init SFT_parser_prod[211]
+#define COLOR_parser_prod___AVarAssignExpr___init_avarassignexpr SFT_parser_prod[212]
+#define COLOR_parser_prod___AVarReassignExpr___empty_init SFT_parser_prod[213]
+#define COLOR_parser_prod___AVarReassignExpr___init_avarreassignexpr SFT_parser_prod[214]
+#define COLOR_parser_prod___ARangeExpr___empty_init SFT_parser_prod[215]
+#define COLOR_parser_prod___ARangeExpr___init_arangeexpr SFT_parser_prod[216]
+#define COLOR_parser_prod___ACrangeExpr___empty_init SFT_parser_prod[217]
+#define COLOR_parser_prod___ACrangeExpr___init_acrangeexpr SFT_parser_prod[218]
+#define COLOR_parser_prod___AOrangeExpr___empty_init SFT_parser_prod[219]
+#define COLOR_parser_prod___AOrangeExpr___init_aorangeexpr SFT_parser_prod[220]
+#define COLOR_parser_prod___AArrayExpr___empty_init SFT_parser_prod[221]
+#define COLOR_parser_prod___AArrayExpr___init_aarrayexpr SFT_parser_prod[222]
+#define COLOR_parser_prod___ASelfExpr___empty_init SFT_parser_prod[223]
+#define COLOR_parser_prod___ASelfExpr___init_aselfexpr SFT_parser_prod[224]
+#define COLOR_parser_prod___AImplicitSelfExpr___empty_init SFT_parser_prod[225]
+#define COLOR_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr SFT_parser_prod[226]
+#define COLOR_parser_prod___ATrueExpr___empty_init SFT_parser_prod[227]
+#define COLOR_parser_prod___ATrueExpr___init_atrueexpr SFT_parser_prod[228]
+#define COLOR_parser_prod___AFalseExpr___empty_init SFT_parser_prod[229]
+#define COLOR_parser_prod___AFalseExpr___init_afalseexpr SFT_parser_prod[230]
+#define COLOR_parser_prod___ANullExpr___empty_init SFT_parser_prod[231]
+#define COLOR_parser_prod___ANullExpr___init_anullexpr SFT_parser_prod[232]
+#define COLOR_parser_prod___AIntExpr___empty_init SFT_parser_prod[233]
+#define COLOR_parser_prod___AIntExpr___init_aintexpr SFT_parser_prod[234]
+#define COLOR_parser_prod___AFloatExpr___empty_init SFT_parser_prod[235]
+#define COLOR_parser_prod___AFloatExpr___init_afloatexpr SFT_parser_prod[236]
+#define COLOR_parser_prod___ACharExpr___empty_init SFT_parser_prod[237]
+#define COLOR_parser_prod___ACharExpr___init_acharexpr SFT_parser_prod[238]
+#define COLOR_parser_prod___AStringExpr___empty_init SFT_parser_prod[239]
+#define COLOR_parser_prod___AStringExpr___init_astringexpr SFT_parser_prod[240]
+#define COLOR_parser_prod___AStartStringExpr___empty_init SFT_parser_prod[241]
+#define COLOR_parser_prod___AStartStringExpr___init_astartstringexpr SFT_parser_prod[242]
+#define COLOR_parser_prod___AMidStringExpr___empty_init SFT_parser_prod[243]
+#define COLOR_parser_prod___AMidStringExpr___init_amidstringexpr SFT_parser_prod[244]
+#define COLOR_parser_prod___AEndStringExpr___empty_init SFT_parser_prod[245]
+#define COLOR_parser_prod___AEndStringExpr___init_aendstringexpr SFT_parser_prod[246]
+#define COLOR_parser_prod___ASuperstringExpr___empty_init SFT_parser_prod[247]
+#define COLOR_parser_prod___ASuperstringExpr___init_asuperstringexpr SFT_parser_prod[248]
+#define COLOR_parser_prod___AParExpr___empty_init SFT_parser_prod[249]
+#define COLOR_parser_prod___AParExpr___init_aparexpr SFT_parser_prod[250]
+#define COLOR_parser_prod___AAsCastExpr___empty_init SFT_parser_prod[251]
+#define COLOR_parser_prod___AAsCastExpr___init_aascastexpr SFT_parser_prod[252]
+#define COLOR_parser_prod___APlusAssignOp___empty_init SFT_parser_prod[253]
+#define COLOR_parser_prod___APlusAssignOp___init_aplusassignop SFT_parser_prod[254]
+#define COLOR_parser_prod___AMinusAssignOp___empty_init SFT_parser_prod[255]
+#define COLOR_parser_prod___AMinusAssignOp___init_aminusassignop SFT_parser_prod[256]
+#define COLOR_parser_prod___AQualified___empty_init SFT_parser_prod[257]
+#define COLOR_parser_prod___AQualified___init_aqualified SFT_parser_prod[258]
+#define COLOR_parser_prod___ADoc___empty_init SFT_parser_prod[259]
+#define COLOR_parser_prod___ADoc___init_adoc SFT_parser_prod[260]
+#define COLOR_parser_prod___Start___init SFT_parser_prod[261]
 #define ATTR_parser_prod___PNode____parent(recv) ATTR(recv, COLOR_parser_prod___PNode____parent)
 typedef val_t (* parser_prod___PNode___parent_t)(val_t  self);
 val_t parser_prod___PNode___parent(val_t  self);
@@ -340,6 +341,10 @@ val_t parser_prod___Prod___line_number(val_t  self);
 typedef void (* parser_prod___Visitor___visit_t)(val_t  self, val_t  param0);
 void parser_prod___Visitor___visit(val_t  self, val_t  param0);
 #define LOCATE_parser_prod___Visitor___visit "parser_prod::Visitor::visit"
+typedef void (* parser_prod___Visitor___init_t)(val_t  self, int* init_table);
+void parser_prod___Visitor___init(val_t  self, int* init_table);
+val_t NEW_parser_prod___Visitor___init();
+#define LOCATE_parser_prod___Visitor___init "parser_prod::Visitor::init"
 typedef void (* parser_prod___AModule___n_packagedecl__eq_t)(val_t  self, val_t  param0);
 void parser_prod___AModule___n_packagedecl__eq(val_t  self, val_t  param0);
 #define LOCATE_parser_prod___AModule___n_packagedecl__eq "parser_prod::AModule::(parser_nodes::AModule::n_packagedecl=)"
index 18a617d..d8f1177 100644 (file)
@@ -1173,7 +1173,7 @@ void parser_tables___ParserTable___build_action_table(val_t  self) {
   trace.file = LOCATE_parser_tables;
   if (once_bool_variable0_1) variable0 = once_value_variable0_1;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(1165)); /*new Array[E]*/
+    variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(1165)); /*new Array[Array[Int]]*/
     variable1 = ((parser_tables___ParserTable___action_table_row1_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1))( self) /*ParserTable::action_table_row1*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
     variable2 = ((parser_tables___ParserTable___action_table_row2_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row2))( self) /*ParserTable::action_table_row2*/;
@@ -3517,7 +3517,7 @@ val_t parser_tables___ParserTable___action_table_row1(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3542,7 +3542,7 @@ val_t parser_tables___ParserTable___action_table_row2(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3558,7 +3558,7 @@ val_t parser_tables___ParserTable___action_table_row3(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3575,7 +3575,7 @@ val_t parser_tables___ParserTable___action_table_row4(val_t  self) {
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -3595,7 +3595,7 @@ val_t parser_tables___ParserTable___action_table_row5(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3620,7 +3620,7 @@ val_t parser_tables___ParserTable___action_table_row6(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3636,7 +3636,7 @@ val_t parser_tables___ParserTable___action_table_row7(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3652,7 +3652,7 @@ val_t parser_tables___ParserTable___action_table_row8(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3668,7 +3668,7 @@ val_t parser_tables___ParserTable___action_table_row9(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3684,7 +3684,7 @@ val_t parser_tables___ParserTable___action_table_row10(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -3706,7 +3706,7 @@ val_t parser_tables___ParserTable___action_table_row11(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3725,7 +3725,7 @@ val_t parser_tables___ParserTable___action_table_row12(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(99)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(99)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3837,7 +3837,7 @@ val_t parser_tables___ParserTable___action_table_row13(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3856,7 +3856,7 @@ val_t parser_tables___ParserTable___action_table_row14(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3881,7 +3881,7 @@ val_t parser_tables___ParserTable___action_table_row15(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3906,7 +3906,7 @@ val_t parser_tables___ParserTable___action_table_row16(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3928,7 +3928,7 @@ val_t parser_tables___ParserTable___action_table_row17(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3947,7 +3947,7 @@ val_t parser_tables___ParserTable___action_table_row18(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -3963,7 +3963,7 @@ val_t parser_tables___ParserTable___action_table_row19(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -3985,7 +3985,7 @@ val_t parser_tables___ParserTable___action_table_row20(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(96)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4094,7 +4094,7 @@ val_t parser_tables___ParserTable___action_table_row21(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4119,7 +4119,7 @@ val_t parser_tables___ParserTable___action_table_row22(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4144,7 +4144,7 @@ val_t parser_tables___ParserTable___action_table_row23(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4160,7 +4160,7 @@ val_t parser_tables___ParserTable___action_table_row24(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4176,7 +4176,7 @@ val_t parser_tables___ParserTable___action_table_row25(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4201,7 +4201,7 @@ val_t parser_tables___ParserTable___action_table_row26(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4223,7 +4223,7 @@ val_t parser_tables___ParserTable___action_table_row27(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(69)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4305,7 +4305,7 @@ val_t parser_tables___ParserTable___action_table_row28(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4330,7 +4330,7 @@ val_t parser_tables___ParserTable___action_table_row29(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -4436,7 +4436,7 @@ val_t parser_tables___ParserTable___action_table_row30(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -4455,7 +4455,7 @@ val_t parser_tables___ParserTable___action_table_row31(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4477,7 +4477,7 @@ val_t parser_tables___ParserTable___action_table_row32(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4499,7 +4499,7 @@ val_t parser_tables___ParserTable___action_table_row33(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4521,7 +4521,7 @@ val_t parser_tables___ParserTable___action_table_row34(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4543,7 +4543,7 @@ val_t parser_tables___ParserTable___action_table_row35(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4565,7 +4565,7 @@ val_t parser_tables___ParserTable___action_table_row36(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4587,7 +4587,7 @@ val_t parser_tables___ParserTable___action_table_row37(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4666,7 +4666,7 @@ val_t parser_tables___ParserTable___action_table_row38(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4682,7 +4682,7 @@ val_t parser_tables___ParserTable___action_table_row39(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4698,7 +4698,7 @@ val_t parser_tables___ParserTable___action_table_row40(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4714,7 +4714,7 @@ val_t parser_tables___ParserTable___action_table_row41(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -4793,7 +4793,7 @@ val_t parser_tables___ParserTable___action_table_row42(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4815,7 +4815,7 @@ val_t parser_tables___ParserTable___action_table_row43(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(69)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4897,7 +4897,7 @@ val_t parser_tables___ParserTable___action_table_row44(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4913,7 +4913,7 @@ val_t parser_tables___ParserTable___action_table_row45(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4929,7 +4929,7 @@ val_t parser_tables___ParserTable___action_table_row46(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4945,7 +4945,7 @@ val_t parser_tables___ParserTable___action_table_row47(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -4961,7 +4961,7 @@ val_t parser_tables___ParserTable___action_table_row48(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -5040,7 +5040,7 @@ val_t parser_tables___ParserTable___action_table_row49(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5062,7 +5062,7 @@ val_t parser_tables___ParserTable___action_table_row50(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -5081,7 +5081,7 @@ val_t parser_tables___ParserTable___action_table_row51(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(78)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(78)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5172,7 +5172,7 @@ val_t parser_tables___ParserTable___action_table_row52(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5197,7 +5197,7 @@ val_t parser_tables___ParserTable___action_table_row53(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5213,7 +5213,7 @@ val_t parser_tables___ParserTable___action_table_row54(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5229,7 +5229,7 @@ val_t parser_tables___ParserTable___action_table_row55(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5245,7 +5245,7 @@ val_t parser_tables___ParserTable___action_table_row56(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5261,7 +5261,7 @@ val_t parser_tables___ParserTable___action_table_row57(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5277,7 +5277,7 @@ val_t parser_tables___ParserTable___action_table_row58(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(21)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(21)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -5311,7 +5311,7 @@ val_t parser_tables___ParserTable___action_table_row59(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5333,7 +5333,7 @@ val_t parser_tables___ParserTable___action_table_row60(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5349,7 +5349,7 @@ val_t parser_tables___ParserTable___action_table_row61(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5365,7 +5365,7 @@ val_t parser_tables___ParserTable___action_table_row62(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5381,7 +5381,7 @@ val_t parser_tables___ParserTable___action_table_row63(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5397,7 +5397,7 @@ val_t parser_tables___ParserTable___action_table_row64(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5413,7 +5413,7 @@ val_t parser_tables___ParserTable___action_table_row65(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5429,7 +5429,7 @@ val_t parser_tables___ParserTable___action_table_row66(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5451,7 +5451,7 @@ val_t parser_tables___ParserTable___action_table_row67(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5467,7 +5467,7 @@ val_t parser_tables___ParserTable___action_table_row68(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -5489,7 +5489,7 @@ val_t parser_tables___ParserTable___action_table_row69(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5505,7 +5505,7 @@ val_t parser_tables___ParserTable___action_table_row70(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -5527,7 +5527,7 @@ val_t parser_tables___ParserTable___action_table_row71(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5549,7 +5549,7 @@ val_t parser_tables___ParserTable___action_table_row72(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5565,7 +5565,7 @@ val_t parser_tables___ParserTable___action_table_row73(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -5584,7 +5584,7 @@ val_t parser_tables___ParserTable___action_table_row74(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5600,7 +5600,7 @@ val_t parser_tables___ParserTable___action_table_row75(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5616,7 +5616,7 @@ val_t parser_tables___ParserTable___action_table_row76(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5638,7 +5638,7 @@ val_t parser_tables___ParserTable___action_table_row77(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5660,7 +5660,7 @@ val_t parser_tables___ParserTable___action_table_row78(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5676,7 +5676,7 @@ val_t parser_tables___ParserTable___action_table_row79(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5692,7 +5692,7 @@ val_t parser_tables___ParserTable___action_table_row80(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -5714,7 +5714,7 @@ val_t parser_tables___ParserTable___action_table_row81(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5739,7 +5739,7 @@ val_t parser_tables___ParserTable___action_table_row82(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5755,7 +5755,7 @@ val_t parser_tables___ParserTable___action_table_row83(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5771,7 +5771,7 @@ val_t parser_tables___ParserTable___action_table_row84(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -5793,7 +5793,7 @@ val_t parser_tables___ParserTable___action_table_row85(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(96)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5902,7 +5902,7 @@ val_t parser_tables___ParserTable___action_table_row86(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5918,7 +5918,7 @@ val_t parser_tables___ParserTable___action_table_row87(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5937,7 +5937,7 @@ val_t parser_tables___ParserTable___action_table_row88(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5953,7 +5953,7 @@ val_t parser_tables___ParserTable___action_table_row89(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5978,7 +5978,7 @@ val_t parser_tables___ParserTable___action_table_row90(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -5994,7 +5994,7 @@ val_t parser_tables___ParserTable___action_table_row91(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -6016,7 +6016,7 @@ val_t parser_tables___ParserTable___action_table_row92(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6041,7 +6041,7 @@ val_t parser_tables___ParserTable___action_table_row93(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6057,7 +6057,7 @@ val_t parser_tables___ParserTable___action_table_row94(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -6079,7 +6079,7 @@ val_t parser_tables___ParserTable___action_table_row95(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6095,7 +6095,7 @@ val_t parser_tables___ParserTable___action_table_row96(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6111,7 +6111,7 @@ val_t parser_tables___ParserTable___action_table_row97(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -6133,7 +6133,7 @@ val_t parser_tables___ParserTable___action_table_row98(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(96)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6242,7 +6242,7 @@ val_t parser_tables___ParserTable___action_table_row99(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6267,7 +6267,7 @@ val_t parser_tables___ParserTable___action_table_row100(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6283,7 +6283,7 @@ val_t parser_tables___ParserTable___action_table_row101(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -6302,7 +6302,7 @@ val_t parser_tables___ParserTable___action_table_row102(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6321,7 +6321,7 @@ val_t parser_tables___ParserTable___action_table_row103(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6343,7 +6343,7 @@ val_t parser_tables___ParserTable___action_table_row104(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6365,7 +6365,7 @@ val_t parser_tables___ParserTable___action_table_row105(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6387,7 +6387,7 @@ val_t parser_tables___ParserTable___action_table_row106(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6409,7 +6409,7 @@ val_t parser_tables___ParserTable___action_table_row107(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6428,7 +6428,7 @@ val_t parser_tables___ParserTable___action_table_row108(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6444,7 +6444,7 @@ val_t parser_tables___ParserTable___action_table_row109(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6460,7 +6460,7 @@ val_t parser_tables___ParserTable___action_table_row110(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6476,7 +6476,7 @@ val_t parser_tables___ParserTable___action_table_row111(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6492,7 +6492,7 @@ val_t parser_tables___ParserTable___action_table_row112(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6514,7 +6514,7 @@ val_t parser_tables___ParserTable___action_table_row113(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6536,7 +6536,7 @@ val_t parser_tables___ParserTable___action_table_row114(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6558,7 +6558,7 @@ val_t parser_tables___ParserTable___action_table_row115(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6574,7 +6574,7 @@ val_t parser_tables___ParserTable___action_table_row116(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6590,7 +6590,7 @@ val_t parser_tables___ParserTable___action_table_row117(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6606,7 +6606,7 @@ val_t parser_tables___ParserTable___action_table_row118(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6622,7 +6622,7 @@ val_t parser_tables___ParserTable___action_table_row119(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6638,7 +6638,7 @@ val_t parser_tables___ParserTable___action_table_row120(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6654,7 +6654,7 @@ val_t parser_tables___ParserTable___action_table_row121(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6670,7 +6670,7 @@ val_t parser_tables___ParserTable___action_table_row122(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6686,7 +6686,7 @@ val_t parser_tables___ParserTable___action_table_row123(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -6705,7 +6705,7 @@ val_t parser_tables___ParserTable___action_table_row124(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6721,7 +6721,7 @@ val_t parser_tables___ParserTable___action_table_row125(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6743,7 +6743,7 @@ val_t parser_tables___ParserTable___action_table_row126(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6759,7 +6759,7 @@ val_t parser_tables___ParserTable___action_table_row127(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6775,7 +6775,7 @@ val_t parser_tables___ParserTable___action_table_row128(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(36)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(36)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6824,7 +6824,7 @@ val_t parser_tables___ParserTable___action_table_row129(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6849,7 +6849,7 @@ val_t parser_tables___ParserTable___action_table_row130(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6865,7 +6865,7 @@ val_t parser_tables___ParserTable___action_table_row131(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6881,7 +6881,7 @@ val_t parser_tables___ParserTable___action_table_row132(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6900,7 +6900,7 @@ val_t parser_tables___ParserTable___action_table_row133(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -6931,7 +6931,7 @@ val_t parser_tables___ParserTable___action_table_row134(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6947,7 +6947,7 @@ val_t parser_tables___ParserTable___action_table_row135(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6963,7 +6963,7 @@ val_t parser_tables___ParserTable___action_table_row136(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -6979,7 +6979,7 @@ val_t parser_tables___ParserTable___action_table_row137(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(87)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -7079,7 +7079,7 @@ val_t parser_tables___ParserTable___action_table_row138(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7101,7 +7101,7 @@ val_t parser_tables___ParserTable___action_table_row139(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7117,7 +7117,7 @@ val_t parser_tables___ParserTable___action_table_row140(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7133,7 +7133,7 @@ val_t parser_tables___ParserTable___action_table_row141(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7149,7 +7149,7 @@ val_t parser_tables___ParserTable___action_table_row142(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -7228,7 +7228,7 @@ val_t parser_tables___ParserTable___action_table_row143(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -7307,7 +7307,7 @@ val_t parser_tables___ParserTable___action_table_row144(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -7326,7 +7326,7 @@ val_t parser_tables___ParserTable___action_table_row145(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7345,7 +7345,7 @@ val_t parser_tables___ParserTable___action_table_row146(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7367,7 +7367,7 @@ val_t parser_tables___ParserTable___action_table_row147(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7389,7 +7389,7 @@ val_t parser_tables___ParserTable___action_table_row148(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7411,7 +7411,7 @@ val_t parser_tables___ParserTable___action_table_row149(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7433,7 +7433,7 @@ val_t parser_tables___ParserTable___action_table_row150(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7452,7 +7452,7 @@ val_t parser_tables___ParserTable___action_table_row151(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7474,7 +7474,7 @@ val_t parser_tables___ParserTable___action_table_row152(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7496,7 +7496,7 @@ val_t parser_tables___ParserTable___action_table_row153(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7512,7 +7512,7 @@ val_t parser_tables___ParserTable___action_table_row154(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7528,7 +7528,7 @@ val_t parser_tables___ParserTable___action_table_row155(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7550,7 +7550,7 @@ val_t parser_tables___ParserTable___action_table_row156(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7566,7 +7566,7 @@ val_t parser_tables___ParserTable___action_table_row157(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7582,7 +7582,7 @@ val_t parser_tables___ParserTable___action_table_row158(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(36)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(36)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7631,7 +7631,7 @@ val_t parser_tables___ParserTable___action_table_row159(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7656,7 +7656,7 @@ val_t parser_tables___ParserTable___action_table_row160(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7672,7 +7672,7 @@ val_t parser_tables___ParserTable___action_table_row161(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7688,7 +7688,7 @@ val_t parser_tables___ParserTable___action_table_row162(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7710,7 +7710,7 @@ val_t parser_tables___ParserTable___action_table_row163(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -7729,7 +7729,7 @@ val_t parser_tables___ParserTable___action_table_row164(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7754,7 +7754,7 @@ val_t parser_tables___ParserTable___action_table_row165(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -7833,7 +7833,7 @@ val_t parser_tables___ParserTable___action_table_row166(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7849,7 +7849,7 @@ val_t parser_tables___ParserTable___action_table_row167(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -7868,7 +7868,7 @@ val_t parser_tables___ParserTable___action_table_row168(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7884,7 +7884,7 @@ val_t parser_tables___ParserTable___action_table_row169(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -7900,7 +7900,7 @@ val_t parser_tables___ParserTable___action_table_row170(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -7919,7 +7919,7 @@ val_t parser_tables___ParserTable___action_table_row171(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -7998,7 +7998,7 @@ val_t parser_tables___ParserTable___action_table_row172(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8020,7 +8020,7 @@ val_t parser_tables___ParserTable___action_table_row173(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8042,7 +8042,7 @@ val_t parser_tables___ParserTable___action_table_row174(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8067,7 +8067,7 @@ val_t parser_tables___ParserTable___action_table_row175(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8083,7 +8083,7 @@ val_t parser_tables___ParserTable___action_table_row176(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -8162,7 +8162,7 @@ val_t parser_tables___ParserTable___action_table_row177(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8178,7 +8178,7 @@ val_t parser_tables___ParserTable___action_table_row178(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8194,7 +8194,7 @@ val_t parser_tables___ParserTable___action_table_row179(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -8273,7 +8273,7 @@ val_t parser_tables___ParserTable___action_table_row180(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8295,7 +8295,7 @@ val_t parser_tables___ParserTable___action_table_row181(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8311,7 +8311,7 @@ val_t parser_tables___ParserTable___action_table_row182(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -8330,7 +8330,7 @@ val_t parser_tables___ParserTable___action_table_row183(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8346,7 +8346,7 @@ val_t parser_tables___ParserTable___action_table_row184(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8362,7 +8362,7 @@ val_t parser_tables___ParserTable___action_table_row185(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(45)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -8420,7 +8420,7 @@ val_t parser_tables___ParserTable___action_table_row186(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8442,7 +8442,7 @@ val_t parser_tables___ParserTable___action_table_row187(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8458,7 +8458,7 @@ val_t parser_tables___ParserTable___action_table_row188(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(84)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(84)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8555,7 +8555,7 @@ val_t parser_tables___ParserTable___action_table_row189(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8571,7 +8571,7 @@ val_t parser_tables___ParserTable___action_table_row190(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8593,7 +8593,7 @@ val_t parser_tables___ParserTable___action_table_row191(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -8612,7 +8612,7 @@ val_t parser_tables___ParserTable___action_table_row192(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8634,7 +8634,7 @@ val_t parser_tables___ParserTable___action_table_row193(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8656,7 +8656,7 @@ val_t parser_tables___ParserTable___action_table_row194(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8681,7 +8681,7 @@ val_t parser_tables___ParserTable___action_table_row195(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8697,7 +8697,7 @@ val_t parser_tables___ParserTable___action_table_row196(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8713,7 +8713,7 @@ val_t parser_tables___ParserTable___action_table_row197(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8729,7 +8729,7 @@ val_t parser_tables___ParserTable___action_table_row198(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8751,7 +8751,7 @@ val_t parser_tables___ParserTable___action_table_row199(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8767,7 +8767,7 @@ val_t parser_tables___ParserTable___action_table_row200(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -8789,7 +8789,7 @@ val_t parser_tables___ParserTable___action_table_row201(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -8868,7 +8868,7 @@ val_t parser_tables___ParserTable___action_table_row202(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(69)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8950,7 +8950,7 @@ val_t parser_tables___ParserTable___action_table_row203(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -8969,7 +8969,7 @@ val_t parser_tables___ParserTable___action_table_row204(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -8985,7 +8985,7 @@ val_t parser_tables___ParserTable___action_table_row205(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9001,7 +9001,7 @@ val_t parser_tables___ParserTable___action_table_row206(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9020,7 +9020,7 @@ val_t parser_tables___ParserTable___action_table_row207(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9045,7 +9045,7 @@ val_t parser_tables___ParserTable___action_table_row208(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9061,7 +9061,7 @@ val_t parser_tables___ParserTable___action_table_row209(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -9083,7 +9083,7 @@ val_t parser_tables___ParserTable___action_table_row210(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9108,7 +9108,7 @@ val_t parser_tables___ParserTable___action_table_row211(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -9139,7 +9139,7 @@ val_t parser_tables___ParserTable___action_table_row212(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9155,7 +9155,7 @@ val_t parser_tables___ParserTable___action_table_row213(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9180,7 +9180,7 @@ val_t parser_tables___ParserTable___action_table_row214(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9205,7 +9205,7 @@ val_t parser_tables___ParserTable___action_table_row215(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9221,7 +9221,7 @@ val_t parser_tables___ParserTable___action_table_row216(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -9243,7 +9243,7 @@ val_t parser_tables___ParserTable___action_table_row217(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9268,7 +9268,7 @@ val_t parser_tables___ParserTable___action_table_row218(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9284,7 +9284,7 @@ val_t parser_tables___ParserTable___action_table_row219(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9309,7 +9309,7 @@ val_t parser_tables___ParserTable___action_table_row220(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -9328,7 +9328,7 @@ val_t parser_tables___ParserTable___action_table_row221(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9344,7 +9344,7 @@ val_t parser_tables___ParserTable___action_table_row222(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9360,7 +9360,7 @@ val_t parser_tables___ParserTable___action_table_row223(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -9382,7 +9382,7 @@ val_t parser_tables___ParserTable___action_table_row224(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9404,7 +9404,7 @@ val_t parser_tables___ParserTable___action_table_row225(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9420,7 +9420,7 @@ val_t parser_tables___ParserTable___action_table_row226(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -9499,7 +9499,7 @@ val_t parser_tables___ParserTable___action_table_row227(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -9569,7 +9569,7 @@ val_t parser_tables___ParserTable___action_table_row228(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -9588,7 +9588,7 @@ val_t parser_tables___ParserTable___action_table_row229(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -9655,7 +9655,7 @@ val_t parser_tables___ParserTable___action_table_row230(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9671,7 +9671,7 @@ val_t parser_tables___ParserTable___action_table_row231(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(69)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -9753,7 +9753,7 @@ val_t parser_tables___ParserTable___action_table_row232(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -9820,7 +9820,7 @@ val_t parser_tables___ParserTable___action_table_row233(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9836,7 +9836,7 @@ val_t parser_tables___ParserTable___action_table_row234(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9855,7 +9855,7 @@ val_t parser_tables___ParserTable___action_table_row235(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9877,7 +9877,7 @@ val_t parser_tables___ParserTable___action_table_row236(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9899,7 +9899,7 @@ val_t parser_tables___ParserTable___action_table_row237(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9921,7 +9921,7 @@ val_t parser_tables___ParserTable___action_table_row238(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9943,7 +9943,7 @@ val_t parser_tables___ParserTable___action_table_row239(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9965,7 +9965,7 @@ val_t parser_tables___ParserTable___action_table_row240(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -9987,7 +9987,7 @@ val_t parser_tables___ParserTable___action_table_row241(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10009,7 +10009,7 @@ val_t parser_tables___ParserTable___action_table_row242(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10031,7 +10031,7 @@ val_t parser_tables___ParserTable___action_table_row243(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10053,7 +10053,7 @@ val_t parser_tables___ParserTable___action_table_row244(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10075,7 +10075,7 @@ val_t parser_tables___ParserTable___action_table_row245(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10097,7 +10097,7 @@ val_t parser_tables___ParserTable___action_table_row246(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10119,7 +10119,7 @@ val_t parser_tables___ParserTable___action_table_row247(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10141,7 +10141,7 @@ val_t parser_tables___ParserTable___action_table_row248(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10163,7 +10163,7 @@ val_t parser_tables___ParserTable___action_table_row249(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10185,7 +10185,7 @@ val_t parser_tables___ParserTable___action_table_row250(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10207,7 +10207,7 @@ val_t parser_tables___ParserTable___action_table_row251(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10229,7 +10229,7 @@ val_t parser_tables___ParserTable___action_table_row252(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(45)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -10287,7 +10287,7 @@ val_t parser_tables___ParserTable___action_table_row253(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10309,7 +10309,7 @@ val_t parser_tables___ParserTable___action_table_row254(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10325,7 +10325,7 @@ val_t parser_tables___ParserTable___action_table_row255(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -10347,7 +10347,7 @@ val_t parser_tables___ParserTable___action_table_row256(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10369,7 +10369,7 @@ val_t parser_tables___ParserTable___action_table_row257(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10391,7 +10391,7 @@ val_t parser_tables___ParserTable___action_table_row258(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10410,7 +10410,7 @@ val_t parser_tables___ParserTable___action_table_row259(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10432,7 +10432,7 @@ val_t parser_tables___ParserTable___action_table_row260(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10454,7 +10454,7 @@ val_t parser_tables___ParserTable___action_table_row261(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10476,7 +10476,7 @@ val_t parser_tables___ParserTable___action_table_row262(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -10555,7 +10555,7 @@ val_t parser_tables___ParserTable___action_table_row263(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(63)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -10631,7 +10631,7 @@ val_t parser_tables___ParserTable___action_table_row264(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -10650,7 +10650,7 @@ val_t parser_tables___ParserTable___action_table_row265(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -10723,7 +10723,7 @@ val_t parser_tables___ParserTable___action_table_row266(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -10796,7 +10796,7 @@ val_t parser_tables___ParserTable___action_table_row267(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10812,7 +10812,7 @@ val_t parser_tables___ParserTable___action_table_row268(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10834,7 +10834,7 @@ val_t parser_tables___ParserTable___action_table_row269(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10856,7 +10856,7 @@ val_t parser_tables___ParserTable___action_table_row270(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10878,7 +10878,7 @@ val_t parser_tables___ParserTable___action_table_row271(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10900,7 +10900,7 @@ val_t parser_tables___ParserTable___action_table_row272(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10922,7 +10922,7 @@ val_t parser_tables___ParserTable___action_table_row273(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10944,7 +10944,7 @@ val_t parser_tables___ParserTable___action_table_row274(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10966,7 +10966,7 @@ val_t parser_tables___ParserTable___action_table_row275(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -10988,7 +10988,7 @@ val_t parser_tables___ParserTable___action_table_row276(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11010,7 +11010,7 @@ val_t parser_tables___ParserTable___action_table_row277(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11032,7 +11032,7 @@ val_t parser_tables___ParserTable___action_table_row278(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11054,7 +11054,7 @@ val_t parser_tables___ParserTable___action_table_row279(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11076,7 +11076,7 @@ val_t parser_tables___ParserTable___action_table_row280(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11098,7 +11098,7 @@ val_t parser_tables___ParserTable___action_table_row281(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11120,7 +11120,7 @@ val_t parser_tables___ParserTable___action_table_row282(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11142,7 +11142,7 @@ val_t parser_tables___ParserTable___action_table_row283(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11164,7 +11164,7 @@ val_t parser_tables___ParserTable___action_table_row284(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11186,7 +11186,7 @@ val_t parser_tables___ParserTable___action_table_row285(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11202,7 +11202,7 @@ val_t parser_tables___ParserTable___action_table_row286(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11221,7 +11221,7 @@ val_t parser_tables___ParserTable___action_table_row287(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11237,7 +11237,7 @@ val_t parser_tables___ParserTable___action_table_row288(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11253,7 +11253,7 @@ val_t parser_tables___ParserTable___action_table_row289(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11272,7 +11272,7 @@ val_t parser_tables___ParserTable___action_table_row290(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -11291,7 +11291,7 @@ val_t parser_tables___ParserTable___action_table_row291(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11307,7 +11307,7 @@ val_t parser_tables___ParserTable___action_table_row292(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11329,7 +11329,7 @@ val_t parser_tables___ParserTable___action_table_row293(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11345,7 +11345,7 @@ val_t parser_tables___ParserTable___action_table_row294(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11361,7 +11361,7 @@ val_t parser_tables___ParserTable___action_table_row295(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -11440,7 +11440,7 @@ val_t parser_tables___ParserTable___action_table_row296(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -11519,7 +11519,7 @@ val_t parser_tables___ParserTable___action_table_row297(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11535,7 +11535,7 @@ val_t parser_tables___ParserTable___action_table_row298(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11551,7 +11551,7 @@ val_t parser_tables___ParserTable___action_table_row299(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -11573,7 +11573,7 @@ val_t parser_tables___ParserTable___action_table_row300(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11589,7 +11589,7 @@ val_t parser_tables___ParserTable___action_table_row301(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -11608,7 +11608,7 @@ val_t parser_tables___ParserTable___action_table_row302(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11624,7 +11624,7 @@ val_t parser_tables___ParserTable___action_table_row303(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11640,7 +11640,7 @@ val_t parser_tables___ParserTable___action_table_row304(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11656,7 +11656,7 @@ val_t parser_tables___ParserTable___action_table_row305(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11672,7 +11672,7 @@ val_t parser_tables___ParserTable___action_table_row306(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11688,7 +11688,7 @@ val_t parser_tables___ParserTable___action_table_row307(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11704,7 +11704,7 @@ val_t parser_tables___ParserTable___action_table_row308(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11720,7 +11720,7 @@ val_t parser_tables___ParserTable___action_table_row309(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11736,7 +11736,7 @@ val_t parser_tables___ParserTable___action_table_row310(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11752,7 +11752,7 @@ val_t parser_tables___ParserTable___action_table_row311(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11768,7 +11768,7 @@ val_t parser_tables___ParserTable___action_table_row312(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11784,7 +11784,7 @@ val_t parser_tables___ParserTable___action_table_row313(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11800,7 +11800,7 @@ val_t parser_tables___ParserTable___action_table_row314(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11819,7 +11819,7 @@ val_t parser_tables___ParserTable___action_table_row315(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11841,7 +11841,7 @@ val_t parser_tables___ParserTable___action_table_row316(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -11860,7 +11860,7 @@ val_t parser_tables___ParserTable___action_table_row317(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11876,7 +11876,7 @@ val_t parser_tables___ParserTable___action_table_row318(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11892,7 +11892,7 @@ val_t parser_tables___ParserTable___action_table_row319(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -11908,7 +11908,7 @@ val_t parser_tables___ParserTable___action_table_row320(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -12014,7 +12014,7 @@ val_t parser_tables___ParserTable___action_table_row321(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -12093,7 +12093,7 @@ val_t parser_tables___ParserTable___action_table_row322(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -12121,7 +12121,7 @@ val_t parser_tables___ParserTable___action_table_row323(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -12200,7 +12200,7 @@ val_t parser_tables___ParserTable___action_table_row324(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -12279,7 +12279,7 @@ val_t parser_tables___ParserTable___action_table_row325(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -12358,7 +12358,7 @@ val_t parser_tables___ParserTable___action_table_row326(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12374,7 +12374,7 @@ val_t parser_tables___ParserTable___action_table_row327(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12390,7 +12390,7 @@ val_t parser_tables___ParserTable___action_table_row328(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12412,7 +12412,7 @@ val_t parser_tables___ParserTable___action_table_row329(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12428,7 +12428,7 @@ val_t parser_tables___ParserTable___action_table_row330(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12444,7 +12444,7 @@ val_t parser_tables___ParserTable___action_table_row331(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12460,7 +12460,7 @@ val_t parser_tables___ParserTable___action_table_row332(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12485,7 +12485,7 @@ val_t parser_tables___ParserTable___action_table_row333(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12510,7 +12510,7 @@ val_t parser_tables___ParserTable___action_table_row334(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12526,7 +12526,7 @@ val_t parser_tables___ParserTable___action_table_row335(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12551,7 +12551,7 @@ val_t parser_tables___ParserTable___action_table_row336(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12567,7 +12567,7 @@ val_t parser_tables___ParserTable___action_table_row337(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12583,7 +12583,7 @@ val_t parser_tables___ParserTable___action_table_row338(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12608,7 +12608,7 @@ val_t parser_tables___ParserTable___action_table_row339(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12633,7 +12633,7 @@ val_t parser_tables___ParserTable___action_table_row340(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12649,7 +12649,7 @@ val_t parser_tables___ParserTable___action_table_row341(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12674,7 +12674,7 @@ val_t parser_tables___ParserTable___action_table_row342(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -12693,7 +12693,7 @@ val_t parser_tables___ParserTable___action_table_row343(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12709,7 +12709,7 @@ val_t parser_tables___ParserTable___action_table_row344(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(69)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -12791,7 +12791,7 @@ val_t parser_tables___ParserTable___action_table_row345(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12813,7 +12813,7 @@ val_t parser_tables___ParserTable___action_table_row346(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12829,7 +12829,7 @@ val_t parser_tables___ParserTable___action_table_row347(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12848,7 +12848,7 @@ val_t parser_tables___ParserTable___action_table_row348(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12870,7 +12870,7 @@ val_t parser_tables___ParserTable___action_table_row349(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12886,7 +12886,7 @@ val_t parser_tables___ParserTable___action_table_row350(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12917,7 +12917,7 @@ val_t parser_tables___ParserTable___action_table_row351(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12939,7 +12939,7 @@ val_t parser_tables___ParserTable___action_table_row352(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12955,7 +12955,7 @@ val_t parser_tables___ParserTable___action_table_row353(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -12971,7 +12971,7 @@ val_t parser_tables___ParserTable___action_table_row354(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13041,7 +13041,7 @@ val_t parser_tables___ParserTable___action_table_row355(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13111,7 +13111,7 @@ val_t parser_tables___ParserTable___action_table_row356(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13178,7 +13178,7 @@ val_t parser_tables___ParserTable___action_table_row357(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13197,7 +13197,7 @@ val_t parser_tables___ParserTable___action_table_row358(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13264,7 +13264,7 @@ val_t parser_tables___ParserTable___action_table_row359(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13331,7 +13331,7 @@ val_t parser_tables___ParserTable___action_table_row360(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13398,7 +13398,7 @@ val_t parser_tables___ParserTable___action_table_row361(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13465,7 +13465,7 @@ val_t parser_tables___ParserTable___action_table_row362(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13532,7 +13532,7 @@ val_t parser_tables___ParserTable___action_table_row363(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13599,7 +13599,7 @@ val_t parser_tables___ParserTable___action_table_row364(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13666,7 +13666,7 @@ val_t parser_tables___ParserTable___action_table_row365(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13733,7 +13733,7 @@ val_t parser_tables___ParserTable___action_table_row366(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13800,7 +13800,7 @@ val_t parser_tables___ParserTable___action_table_row367(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13867,7 +13867,7 @@ val_t parser_tables___ParserTable___action_table_row368(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -13934,7 +13934,7 @@ val_t parser_tables___ParserTable___action_table_row369(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(54)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14001,7 +14001,7 @@ val_t parser_tables___ParserTable___action_table_row370(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14029,7 +14029,7 @@ val_t parser_tables___ParserTable___action_table_row371(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -14051,7 +14051,7 @@ val_t parser_tables___ParserTable___action_table_row372(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14070,7 +14070,7 @@ val_t parser_tables___ParserTable___action_table_row373(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(87)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14170,7 +14170,7 @@ val_t parser_tables___ParserTable___action_table_row374(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14192,7 +14192,7 @@ val_t parser_tables___ParserTable___action_table_row375(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14211,7 +14211,7 @@ val_t parser_tables___ParserTable___action_table_row376(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14290,7 +14290,7 @@ val_t parser_tables___ParserTable___action_table_row377(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -14312,7 +14312,7 @@ val_t parser_tables___ParserTable___action_table_row378(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14331,7 +14331,7 @@ val_t parser_tables___ParserTable___action_table_row379(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14350,7 +14350,7 @@ val_t parser_tables___ParserTable___action_table_row380(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14369,7 +14369,7 @@ val_t parser_tables___ParserTable___action_table_row381(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -14391,7 +14391,7 @@ val_t parser_tables___ParserTable___action_table_row382(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -14407,7 +14407,7 @@ val_t parser_tables___ParserTable___action_table_row383(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -14429,7 +14429,7 @@ val_t parser_tables___ParserTable___action_table_row384(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -14445,7 +14445,7 @@ val_t parser_tables___ParserTable___action_table_row385(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -14461,7 +14461,7 @@ val_t parser_tables___ParserTable___action_table_row386(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(63)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14537,7 +14537,7 @@ val_t parser_tables___ParserTable___action_table_row387(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(63)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14613,7 +14613,7 @@ val_t parser_tables___ParserTable___action_table_row388(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14686,7 +14686,7 @@ val_t parser_tables___ParserTable___action_table_row389(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14705,7 +14705,7 @@ val_t parser_tables___ParserTable___action_table_row390(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14778,7 +14778,7 @@ val_t parser_tables___ParserTable___action_table_row391(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14851,7 +14851,7 @@ val_t parser_tables___ParserTable___action_table_row392(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14924,7 +14924,7 @@ val_t parser_tables___ParserTable___action_table_row393(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -14997,7 +14997,7 @@ val_t parser_tables___ParserTable___action_table_row394(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15070,7 +15070,7 @@ val_t parser_tables___ParserTable___action_table_row395(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15143,7 +15143,7 @@ val_t parser_tables___ParserTable___action_table_row396(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15216,7 +15216,7 @@ val_t parser_tables___ParserTable___action_table_row397(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15289,7 +15289,7 @@ val_t parser_tables___ParserTable___action_table_row398(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15362,7 +15362,7 @@ val_t parser_tables___ParserTable___action_table_row399(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15435,7 +15435,7 @@ val_t parser_tables___ParserTable___action_table_row400(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15508,7 +15508,7 @@ val_t parser_tables___ParserTable___action_table_row401(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15581,7 +15581,7 @@ val_t parser_tables___ParserTable___action_table_row402(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15609,7 +15609,7 @@ val_t parser_tables___ParserTable___action_table_row403(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15631,7 +15631,7 @@ val_t parser_tables___ParserTable___action_table_row404(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15653,7 +15653,7 @@ val_t parser_tables___ParserTable___action_table_row405(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15678,7 +15678,7 @@ val_t parser_tables___ParserTable___action_table_row406(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15694,7 +15694,7 @@ val_t parser_tables___ParserTable___action_table_row407(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15710,7 +15710,7 @@ val_t parser_tables___ParserTable___action_table_row408(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15732,7 +15732,7 @@ val_t parser_tables___ParserTable___action_table_row409(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -15754,7 +15754,7 @@ val_t parser_tables___ParserTable___action_table_row410(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15773,7 +15773,7 @@ val_t parser_tables___ParserTable___action_table_row411(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15789,7 +15789,7 @@ val_t parser_tables___ParserTable___action_table_row412(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15811,7 +15811,7 @@ val_t parser_tables___ParserTable___action_table_row413(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15836,7 +15836,7 @@ val_t parser_tables___ParserTable___action_table_row414(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15855,7 +15855,7 @@ val_t parser_tables___ParserTable___action_table_row415(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15871,7 +15871,7 @@ val_t parser_tables___ParserTable___action_table_row416(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15896,7 +15896,7 @@ val_t parser_tables___ParserTable___action_table_row417(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15912,7 +15912,7 @@ val_t parser_tables___ParserTable___action_table_row418(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -15934,7 +15934,7 @@ val_t parser_tables___ParserTable___action_table_row419(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(69)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16016,7 +16016,7 @@ val_t parser_tables___ParserTable___action_table_row420(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16038,7 +16038,7 @@ val_t parser_tables___ParserTable___action_table_row421(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(75)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(75)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16126,7 +16126,7 @@ val_t parser_tables___ParserTable___action_table_row422(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16151,7 +16151,7 @@ val_t parser_tables___ParserTable___action_table_row423(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16167,7 +16167,7 @@ val_t parser_tables___ParserTable___action_table_row424(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16183,7 +16183,7 @@ val_t parser_tables___ParserTable___action_table_row425(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16205,7 +16205,7 @@ val_t parser_tables___ParserTable___action_table_row426(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16221,7 +16221,7 @@ val_t parser_tables___ParserTable___action_table_row427(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16237,7 +16237,7 @@ val_t parser_tables___ParserTable___action_table_row428(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16253,7 +16253,7 @@ val_t parser_tables___ParserTable___action_table_row429(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16278,7 +16278,7 @@ val_t parser_tables___ParserTable___action_table_row430(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16294,7 +16294,7 @@ val_t parser_tables___ParserTable___action_table_row431(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16310,7 +16310,7 @@ val_t parser_tables___ParserTable___action_table_row432(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16326,7 +16326,7 @@ val_t parser_tables___ParserTable___action_table_row433(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16351,7 +16351,7 @@ val_t parser_tables___ParserTable___action_table_row434(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16367,7 +16367,7 @@ val_t parser_tables___ParserTable___action_table_row435(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16383,7 +16383,7 @@ val_t parser_tables___ParserTable___action_table_row436(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16405,7 +16405,7 @@ val_t parser_tables___ParserTable___action_table_row437(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -16424,7 +16424,7 @@ val_t parser_tables___ParserTable___action_table_row438(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16446,7 +16446,7 @@ val_t parser_tables___ParserTable___action_table_row439(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16468,7 +16468,7 @@ val_t parser_tables___ParserTable___action_table_row440(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16484,7 +16484,7 @@ val_t parser_tables___ParserTable___action_table_row441(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -16506,7 +16506,7 @@ val_t parser_tables___ParserTable___action_table_row442(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16522,7 +16522,7 @@ val_t parser_tables___ParserTable___action_table_row443(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16538,7 +16538,7 @@ val_t parser_tables___ParserTable___action_table_row444(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16560,7 +16560,7 @@ val_t parser_tables___ParserTable___action_table_row445(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16576,7 +16576,7 @@ val_t parser_tables___ParserTable___action_table_row446(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16601,7 +16601,7 @@ val_t parser_tables___ParserTable___action_table_row447(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16626,7 +16626,7 @@ val_t parser_tables___ParserTable___action_table_row448(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16648,7 +16648,7 @@ val_t parser_tables___ParserTable___action_table_row449(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16670,7 +16670,7 @@ val_t parser_tables___ParserTable___action_table_row450(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16692,7 +16692,7 @@ val_t parser_tables___ParserTable___action_table_row451(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16714,7 +16714,7 @@ val_t parser_tables___ParserTable___action_table_row452(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16736,7 +16736,7 @@ val_t parser_tables___ParserTable___action_table_row453(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16758,7 +16758,7 @@ val_t parser_tables___ParserTable___action_table_row454(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16780,7 +16780,7 @@ val_t parser_tables___ParserTable___action_table_row455(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16796,7 +16796,7 @@ val_t parser_tables___ParserTable___action_table_row456(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16812,7 +16812,7 @@ val_t parser_tables___ParserTable___action_table_row457(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16828,7 +16828,7 @@ val_t parser_tables___ParserTable___action_table_row458(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16847,7 +16847,7 @@ val_t parser_tables___ParserTable___action_table_row459(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16869,7 +16869,7 @@ val_t parser_tables___ParserTable___action_table_row460(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16888,7 +16888,7 @@ val_t parser_tables___ParserTable___action_table_row461(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16904,7 +16904,7 @@ val_t parser_tables___ParserTable___action_table_row462(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16929,7 +16929,7 @@ val_t parser_tables___ParserTable___action_table_row463(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16954,7 +16954,7 @@ val_t parser_tables___ParserTable___action_table_row464(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -16970,7 +16970,7 @@ val_t parser_tables___ParserTable___action_table_row465(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(87)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -17070,7 +17070,7 @@ val_t parser_tables___ParserTable___action_table_row466(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17086,7 +17086,7 @@ val_t parser_tables___ParserTable___action_table_row467(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17102,7 +17102,7 @@ val_t parser_tables___ParserTable___action_table_row468(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -17181,7 +17181,7 @@ val_t parser_tables___ParserTable___action_table_row469(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(96)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -17290,7 +17290,7 @@ val_t parser_tables___ParserTable___action_table_row470(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -17396,7 +17396,7 @@ val_t parser_tables___ParserTable___action_table_row471(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17418,7 +17418,7 @@ val_t parser_tables___ParserTable___action_table_row472(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -17437,7 +17437,7 @@ val_t parser_tables___ParserTable___action_table_row473(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17453,7 +17453,7 @@ val_t parser_tables___ParserTable___action_table_row474(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17469,7 +17469,7 @@ val_t parser_tables___ParserTable___action_table_row475(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17485,7 +17485,7 @@ val_t parser_tables___ParserTable___action_table_row476(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17507,7 +17507,7 @@ val_t parser_tables___ParserTable___action_table_row477(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17523,7 +17523,7 @@ val_t parser_tables___ParserTable___action_table_row478(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17548,7 +17548,7 @@ val_t parser_tables___ParserTable___action_table_row479(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17573,7 +17573,7 @@ val_t parser_tables___ParserTable___action_table_row480(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17595,7 +17595,7 @@ val_t parser_tables___ParserTable___action_table_row481(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17617,7 +17617,7 @@ val_t parser_tables___ParserTable___action_table_row482(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17639,7 +17639,7 @@ val_t parser_tables___ParserTable___action_table_row483(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17661,7 +17661,7 @@ val_t parser_tables___ParserTable___action_table_row484(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17683,7 +17683,7 @@ val_t parser_tables___ParserTable___action_table_row485(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17705,7 +17705,7 @@ val_t parser_tables___ParserTable___action_table_row486(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17727,7 +17727,7 @@ val_t parser_tables___ParserTable___action_table_row487(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17743,7 +17743,7 @@ val_t parser_tables___ParserTable___action_table_row488(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17759,7 +17759,7 @@ val_t parser_tables___ParserTable___action_table_row489(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17775,7 +17775,7 @@ val_t parser_tables___ParserTable___action_table_row490(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17794,7 +17794,7 @@ val_t parser_tables___ParserTable___action_table_row491(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17813,7 +17813,7 @@ val_t parser_tables___ParserTable___action_table_row492(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17829,7 +17829,7 @@ val_t parser_tables___ParserTable___action_table_row493(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -17848,7 +17848,7 @@ val_t parser_tables___ParserTable___action_table_row494(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -17867,7 +17867,7 @@ val_t parser_tables___ParserTable___action_table_row495(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17883,7 +17883,7 @@ val_t parser_tables___ParserTable___action_table_row496(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17905,7 +17905,7 @@ val_t parser_tables___ParserTable___action_table_row497(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17927,7 +17927,7 @@ val_t parser_tables___ParserTable___action_table_row498(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17943,7 +17943,7 @@ val_t parser_tables___ParserTable___action_table_row499(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -17965,7 +17965,7 @@ val_t parser_tables___ParserTable___action_table_row500(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17981,7 +17981,7 @@ val_t parser_tables___ParserTable___action_table_row501(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -17997,7 +17997,7 @@ val_t parser_tables___ParserTable___action_table_row502(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18013,7 +18013,7 @@ val_t parser_tables___ParserTable___action_table_row503(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18035,7 +18035,7 @@ val_t parser_tables___ParserTable___action_table_row504(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18054,7 +18054,7 @@ val_t parser_tables___ParserTable___action_table_row505(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18073,7 +18073,7 @@ val_t parser_tables___ParserTable___action_table_row506(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18089,7 +18089,7 @@ val_t parser_tables___ParserTable___action_table_row507(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18111,7 +18111,7 @@ val_t parser_tables___ParserTable___action_table_row508(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18133,7 +18133,7 @@ val_t parser_tables___ParserTable___action_table_row509(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18149,7 +18149,7 @@ val_t parser_tables___ParserTable___action_table_row510(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18171,7 +18171,7 @@ val_t parser_tables___ParserTable___action_table_row511(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(27)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18211,7 +18211,7 @@ val_t parser_tables___ParserTable___action_table_row512(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18233,7 +18233,7 @@ val_t parser_tables___ParserTable___action_table_row513(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18255,7 +18255,7 @@ val_t parser_tables___ParserTable___action_table_row514(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18271,7 +18271,7 @@ val_t parser_tables___ParserTable___action_table_row515(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18287,7 +18287,7 @@ val_t parser_tables___ParserTable___action_table_row516(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18306,7 +18306,7 @@ val_t parser_tables___ParserTable___action_table_row517(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18331,7 +18331,7 @@ val_t parser_tables___ParserTable___action_table_row518(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18347,7 +18347,7 @@ val_t parser_tables___ParserTable___action_table_row519(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18426,7 +18426,7 @@ val_t parser_tables___ParserTable___action_table_row520(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18505,7 +18505,7 @@ val_t parser_tables___ParserTable___action_table_row521(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18521,7 +18521,7 @@ val_t parser_tables___ParserTable___action_table_row522(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18537,7 +18537,7 @@ val_t parser_tables___ParserTable___action_table_row523(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18553,7 +18553,7 @@ val_t parser_tables___ParserTable___action_table_row524(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18575,7 +18575,7 @@ val_t parser_tables___ParserTable___action_table_row525(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18597,7 +18597,7 @@ val_t parser_tables___ParserTable___action_table_row526(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18616,7 +18616,7 @@ val_t parser_tables___ParserTable___action_table_row527(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18635,7 +18635,7 @@ val_t parser_tables___ParserTable___action_table_row528(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18666,7 +18666,7 @@ val_t parser_tables___ParserTable___action_table_row529(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18688,7 +18688,7 @@ val_t parser_tables___ParserTable___action_table_row530(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18704,7 +18704,7 @@ val_t parser_tables___ParserTable___action_table_row531(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18723,7 +18723,7 @@ val_t parser_tables___ParserTable___action_table_row532(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18739,7 +18739,7 @@ val_t parser_tables___ParserTable___action_table_row533(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18758,7 +18758,7 @@ val_t parser_tables___ParserTable___action_table_row534(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18777,7 +18777,7 @@ val_t parser_tables___ParserTable___action_table_row535(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18799,7 +18799,7 @@ val_t parser_tables___ParserTable___action_table_row536(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -18821,7 +18821,7 @@ val_t parser_tables___ParserTable___action_table_row537(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(27)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18861,7 +18861,7 @@ val_t parser_tables___ParserTable___action_table_row538(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18883,7 +18883,7 @@ val_t parser_tables___ParserTable___action_table_row539(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18899,7 +18899,7 @@ val_t parser_tables___ParserTable___action_table_row540(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18915,7 +18915,7 @@ val_t parser_tables___ParserTable___action_table_row541(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -18931,7 +18931,7 @@ val_t parser_tables___ParserTable___action_table_row542(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(69)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19013,7 +19013,7 @@ val_t parser_tables___ParserTable___action_table_row543(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -19119,7 +19119,7 @@ val_t parser_tables___ParserTable___action_table_row544(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19141,7 +19141,7 @@ val_t parser_tables___ParserTable___action_table_row545(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -19247,7 +19247,7 @@ val_t parser_tables___ParserTable___action_table_row546(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19269,7 +19269,7 @@ val_t parser_tables___ParserTable___action_table_row547(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(69)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19351,7 +19351,7 @@ val_t parser_tables___ParserTable___action_table_row548(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19370,7 +19370,7 @@ val_t parser_tables___ParserTable___action_table_row549(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19389,7 +19389,7 @@ val_t parser_tables___ParserTable___action_table_row550(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19408,7 +19408,7 @@ val_t parser_tables___ParserTable___action_table_row551(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(69)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19490,7 +19490,7 @@ val_t parser_tables___ParserTable___action_table_row552(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(81)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(81)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19584,7 +19584,7 @@ val_t parser_tables___ParserTable___action_table_row553(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19600,7 +19600,7 @@ val_t parser_tables___ParserTable___action_table_row554(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19619,7 +19619,7 @@ val_t parser_tables___ParserTable___action_table_row555(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19638,7 +19638,7 @@ val_t parser_tables___ParserTable___action_table_row556(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19654,7 +19654,7 @@ val_t parser_tables___ParserTable___action_table_row557(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19676,7 +19676,7 @@ val_t parser_tables___ParserTable___action_table_row558(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19695,7 +19695,7 @@ val_t parser_tables___ParserTable___action_table_row559(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -19717,7 +19717,7 @@ val_t parser_tables___ParserTable___action_table_row560(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -19736,7 +19736,7 @@ val_t parser_tables___ParserTable___action_table_row561(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(90)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(90)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -19839,7 +19839,7 @@ val_t parser_tables___ParserTable___action_table_row562(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -19858,7 +19858,7 @@ val_t parser_tables___ParserTable___action_table_row563(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19874,7 +19874,7 @@ val_t parser_tables___ParserTable___action_table_row564(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19890,7 +19890,7 @@ val_t parser_tables___ParserTable___action_table_row565(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19906,7 +19906,7 @@ val_t parser_tables___ParserTable___action_table_row566(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19922,7 +19922,7 @@ val_t parser_tables___ParserTable___action_table_row567(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -19938,7 +19938,7 @@ val_t parser_tables___ParserTable___action_table_row568(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -20017,7 +20017,7 @@ val_t parser_tables___ParserTable___action_table_row569(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20039,7 +20039,7 @@ val_t parser_tables___ParserTable___action_table_row570(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20055,7 +20055,7 @@ val_t parser_tables___ParserTable___action_table_row571(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20074,7 +20074,7 @@ val_t parser_tables___ParserTable___action_table_row572(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20096,7 +20096,7 @@ val_t parser_tables___ParserTable___action_table_row573(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20115,7 +20115,7 @@ val_t parser_tables___ParserTable___action_table_row574(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -20194,7 +20194,7 @@ val_t parser_tables___ParserTable___action_table_row575(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(63)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -20270,7 +20270,7 @@ val_t parser_tables___ParserTable___action_table_row576(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20286,7 +20286,7 @@ val_t parser_tables___ParserTable___action_table_row577(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20302,7 +20302,7 @@ val_t parser_tables___ParserTable___action_table_row578(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20318,7 +20318,7 @@ val_t parser_tables___ParserTable___action_table_row579(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20337,7 +20337,7 @@ val_t parser_tables___ParserTable___action_table_row580(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20362,7 +20362,7 @@ val_t parser_tables___ParserTable___action_table_row581(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20381,7 +20381,7 @@ val_t parser_tables___ParserTable___action_table_row582(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -20487,7 +20487,7 @@ val_t parser_tables___ParserTable___action_table_row583(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -20506,7 +20506,7 @@ val_t parser_tables___ParserTable___action_table_row584(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -20528,7 +20528,7 @@ val_t parser_tables___ParserTable___action_table_row585(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(27)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20568,7 +20568,7 @@ val_t parser_tables___ParserTable___action_table_row586(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20590,7 +20590,7 @@ val_t parser_tables___ParserTable___action_table_row587(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20612,7 +20612,7 @@ val_t parser_tables___ParserTable___action_table_row588(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20634,7 +20634,7 @@ val_t parser_tables___ParserTable___action_table_row589(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20650,7 +20650,7 @@ val_t parser_tables___ParserTable___action_table_row590(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20681,7 +20681,7 @@ val_t parser_tables___ParserTable___action_table_row591(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20712,7 +20712,7 @@ val_t parser_tables___ParserTable___action_table_row592(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20740,7 +20740,7 @@ val_t parser_tables___ParserTable___action_table_row593(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -20768,7 +20768,7 @@ val_t parser_tables___ParserTable___action_table_row594(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20784,7 +20784,7 @@ val_t parser_tables___ParserTable___action_table_row595(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -20806,7 +20806,7 @@ val_t parser_tables___ParserTable___action_table_row596(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(27)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20846,7 +20846,7 @@ val_t parser_tables___ParserTable___action_table_row597(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -20868,7 +20868,7 @@ val_t parser_tables___ParserTable___action_table_row598(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -20947,7 +20947,7 @@ val_t parser_tables___ParserTable___action_table_row599(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -21026,7 +21026,7 @@ val_t parser_tables___ParserTable___action_table_row600(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21042,7 +21042,7 @@ val_t parser_tables___ParserTable___action_table_row601(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21058,7 +21058,7 @@ val_t parser_tables___ParserTable___action_table_row602(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21074,7 +21074,7 @@ val_t parser_tables___ParserTable___action_table_row603(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -21096,7 +21096,7 @@ val_t parser_tables___ParserTable___action_table_row604(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -21175,7 +21175,7 @@ val_t parser_tables___ParserTable___action_table_row605(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21197,7 +21197,7 @@ val_t parser_tables___ParserTable___action_table_row606(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21216,7 +21216,7 @@ val_t parser_tables___ParserTable___action_table_row607(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21247,7 +21247,7 @@ val_t parser_tables___ParserTable___action_table_row608(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21269,7 +21269,7 @@ val_t parser_tables___ParserTable___action_table_row609(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21288,7 +21288,7 @@ val_t parser_tables___ParserTable___action_table_row610(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -21394,7 +21394,7 @@ val_t parser_tables___ParserTable___action_table_row611(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -21416,7 +21416,7 @@ val_t parser_tables___ParserTable___action_table_row612(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(27)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21456,7 +21456,7 @@ val_t parser_tables___ParserTable___action_table_row613(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21478,7 +21478,7 @@ val_t parser_tables___ParserTable___action_table_row614(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21500,7 +21500,7 @@ val_t parser_tables___ParserTable___action_table_row615(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21516,7 +21516,7 @@ val_t parser_tables___ParserTable___action_table_row616(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -21538,7 +21538,7 @@ val_t parser_tables___ParserTable___action_table_row617(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(27)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21578,7 +21578,7 @@ val_t parser_tables___ParserTable___action_table_row618(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21597,7 +21597,7 @@ val_t parser_tables___ParserTable___action_table_row619(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21616,7 +21616,7 @@ val_t parser_tables___ParserTable___action_table_row620(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(87)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -21716,7 +21716,7 @@ val_t parser_tables___ParserTable___action_table_row621(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21732,7 +21732,7 @@ val_t parser_tables___ParserTable___action_table_row622(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21748,7 +21748,7 @@ val_t parser_tables___ParserTable___action_table_row623(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -21827,7 +21827,7 @@ val_t parser_tables___ParserTable___action_table_row624(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21843,7 +21843,7 @@ val_t parser_tables___ParserTable___action_table_row625(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -21922,7 +21922,7 @@ val_t parser_tables___ParserTable___action_table_row626(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21941,7 +21941,7 @@ val_t parser_tables___ParserTable___action_table_row627(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21960,7 +21960,7 @@ val_t parser_tables___ParserTable___action_table_row628(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -21979,7 +21979,7 @@ val_t parser_tables___ParserTable___action_table_row629(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -21998,7 +21998,7 @@ val_t parser_tables___ParserTable___action_table_row630(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22020,7 +22020,7 @@ val_t parser_tables___ParserTable___action_table_row631(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(69)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22102,7 +22102,7 @@ val_t parser_tables___ParserTable___action_table_row632(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -22124,7 +22124,7 @@ val_t parser_tables___ParserTable___action_table_row633(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22140,7 +22140,7 @@ val_t parser_tables___ParserTable___action_table_row634(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -22246,7 +22246,7 @@ val_t parser_tables___ParserTable___action_table_row635(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22262,7 +22262,7 @@ val_t parser_tables___ParserTable___action_table_row636(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -22341,7 +22341,7 @@ val_t parser_tables___ParserTable___action_table_row637(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22363,7 +22363,7 @@ val_t parser_tables___ParserTable___action_table_row638(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22379,7 +22379,7 @@ val_t parser_tables___ParserTable___action_table_row639(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22398,7 +22398,7 @@ val_t parser_tables___ParserTable___action_table_row640(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -22417,7 +22417,7 @@ val_t parser_tables___ParserTable___action_table_row641(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22433,7 +22433,7 @@ val_t parser_tables___ParserTable___action_table_row642(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22455,7 +22455,7 @@ val_t parser_tables___ParserTable___action_table_row643(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22474,7 +22474,7 @@ val_t parser_tables___ParserTable___action_table_row644(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22496,7 +22496,7 @@ val_t parser_tables___ParserTable___action_table_row645(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22518,7 +22518,7 @@ val_t parser_tables___ParserTable___action_table_row646(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22540,7 +22540,7 @@ val_t parser_tables___ParserTable___action_table_row647(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22562,7 +22562,7 @@ val_t parser_tables___ParserTable___action_table_row648(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22581,7 +22581,7 @@ val_t parser_tables___ParserTable___action_table_row649(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22597,7 +22597,7 @@ val_t parser_tables___ParserTable___action_table_row650(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22613,7 +22613,7 @@ val_t parser_tables___ParserTable___action_table_row651(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22629,7 +22629,7 @@ val_t parser_tables___ParserTable___action_table_row652(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22645,7 +22645,7 @@ val_t parser_tables___ParserTable___action_table_row653(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -22724,7 +22724,7 @@ val_t parser_tables___ParserTable___action_table_row654(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22746,7 +22746,7 @@ val_t parser_tables___ParserTable___action_table_row655(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22768,7 +22768,7 @@ val_t parser_tables___ParserTable___action_table_row656(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22784,7 +22784,7 @@ val_t parser_tables___ParserTable___action_table_row657(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22800,7 +22800,7 @@ val_t parser_tables___ParserTable___action_table_row658(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22816,7 +22816,7 @@ val_t parser_tables___ParserTable___action_table_row659(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22832,7 +22832,7 @@ val_t parser_tables___ParserTable___action_table_row660(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22848,7 +22848,7 @@ val_t parser_tables___ParserTable___action_table_row661(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22864,7 +22864,7 @@ val_t parser_tables___ParserTable___action_table_row662(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -22883,7 +22883,7 @@ val_t parser_tables___ParserTable___action_table_row663(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22905,7 +22905,7 @@ val_t parser_tables___ParserTable___action_table_row664(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22927,7 +22927,7 @@ val_t parser_tables___ParserTable___action_table_row665(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22943,7 +22943,7 @@ val_t parser_tables___ParserTable___action_table_row666(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -22959,7 +22959,7 @@ val_t parser_tables___ParserTable___action_table_row667(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(36)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(36)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23008,7 +23008,7 @@ val_t parser_tables___ParserTable___action_table_row668(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23033,7 +23033,7 @@ val_t parser_tables___ParserTable___action_table_row669(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23049,7 +23049,7 @@ val_t parser_tables___ParserTable___action_table_row670(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23065,7 +23065,7 @@ val_t parser_tables___ParserTable___action_table_row671(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23084,7 +23084,7 @@ val_t parser_tables___ParserTable___action_table_row672(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23103,7 +23103,7 @@ val_t parser_tables___ParserTable___action_table_row673(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23125,7 +23125,7 @@ val_t parser_tables___ParserTable___action_table_row674(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23141,7 +23141,7 @@ val_t parser_tables___ParserTable___action_table_row675(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23160,7 +23160,7 @@ val_t parser_tables___ParserTable___action_table_row676(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23185,7 +23185,7 @@ val_t parser_tables___ParserTable___action_table_row677(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23201,7 +23201,7 @@ val_t parser_tables___ParserTable___action_table_row678(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23217,7 +23217,7 @@ val_t parser_tables___ParserTable___action_table_row679(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23236,7 +23236,7 @@ val_t parser_tables___ParserTable___action_table_row680(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23261,7 +23261,7 @@ val_t parser_tables___ParserTable___action_table_row681(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23283,7 +23283,7 @@ val_t parser_tables___ParserTable___action_table_row682(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23299,7 +23299,7 @@ val_t parser_tables___ParserTable___action_table_row683(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23321,7 +23321,7 @@ val_t parser_tables___ParserTable___action_table_row684(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(27)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23361,7 +23361,7 @@ val_t parser_tables___ParserTable___action_table_row685(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23377,7 +23377,7 @@ val_t parser_tables___ParserTable___action_table_row686(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23399,7 +23399,7 @@ val_t parser_tables___ParserTable___action_table_row687(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23436,7 +23436,7 @@ val_t parser_tables___ParserTable___action_table_row688(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23458,7 +23458,7 @@ val_t parser_tables___ParserTable___action_table_row689(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23477,7 +23477,7 @@ val_t parser_tables___ParserTable___action_table_row690(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23508,7 +23508,7 @@ val_t parser_tables___ParserTable___action_table_row691(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23536,7 +23536,7 @@ val_t parser_tables___ParserTable___action_table_row692(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23564,7 +23564,7 @@ val_t parser_tables___ParserTable___action_table_row693(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23592,7 +23592,7 @@ val_t parser_tables___ParserTable___action_table_row694(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23620,7 +23620,7 @@ val_t parser_tables___ParserTable___action_table_row695(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23639,7 +23639,7 @@ val_t parser_tables___ParserTable___action_table_row696(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23664,7 +23664,7 @@ val_t parser_tables___ParserTable___action_table_row697(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23683,7 +23683,7 @@ val_t parser_tables___ParserTable___action_table_row698(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(45)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23741,7 +23741,7 @@ val_t parser_tables___ParserTable___action_table_row699(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23760,7 +23760,7 @@ val_t parser_tables___ParserTable___action_table_row700(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23779,7 +23779,7 @@ val_t parser_tables___ParserTable___action_table_row701(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(51)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(51)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23843,7 +23843,7 @@ val_t parser_tables___ParserTable___action_table_row702(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23865,7 +23865,7 @@ val_t parser_tables___ParserTable___action_table_row703(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23881,7 +23881,7 @@ val_t parser_tables___ParserTable___action_table_row704(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23900,7 +23900,7 @@ val_t parser_tables___ParserTable___action_table_row705(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23916,7 +23916,7 @@ val_t parser_tables___ParserTable___action_table_row706(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23932,7 +23932,7 @@ val_t parser_tables___ParserTable___action_table_row707(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23948,7 +23948,7 @@ val_t parser_tables___ParserTable___action_table_row708(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -23970,7 +23970,7 @@ val_t parser_tables___ParserTable___action_table_row709(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -23989,7 +23989,7 @@ val_t parser_tables___ParserTable___action_table_row710(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24005,7 +24005,7 @@ val_t parser_tables___ParserTable___action_table_row711(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24024,7 +24024,7 @@ val_t parser_tables___ParserTable___action_table_row712(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24040,7 +24040,7 @@ val_t parser_tables___ParserTable___action_table_row713(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24056,7 +24056,7 @@ val_t parser_tables___ParserTable___action_table_row714(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24078,7 +24078,7 @@ val_t parser_tables___ParserTable___action_table_row715(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24094,7 +24094,7 @@ val_t parser_tables___ParserTable___action_table_row716(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24116,7 +24116,7 @@ val_t parser_tables___ParserTable___action_table_row717(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(27)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24156,7 +24156,7 @@ val_t parser_tables___ParserTable___action_table_row718(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24193,7 +24193,7 @@ val_t parser_tables___ParserTable___action_table_row719(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24215,7 +24215,7 @@ val_t parser_tables___ParserTable___action_table_row720(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24237,7 +24237,7 @@ val_t parser_tables___ParserTable___action_table_row721(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24253,7 +24253,7 @@ val_t parser_tables___ParserTable___action_table_row722(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24272,7 +24272,7 @@ val_t parser_tables___ParserTable___action_table_row723(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24294,7 +24294,7 @@ val_t parser_tables___ParserTable___action_table_row724(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24316,7 +24316,7 @@ val_t parser_tables___ParserTable___action_table_row725(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24338,7 +24338,7 @@ val_t parser_tables___ParserTable___action_table_row726(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24444,7 +24444,7 @@ val_t parser_tables___ParserTable___action_table_row727(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24472,7 +24472,7 @@ val_t parser_tables___ParserTable___action_table_row728(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24491,7 +24491,7 @@ val_t parser_tables___ParserTable___action_table_row729(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(90)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(90)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24594,7 +24594,7 @@ val_t parser_tables___ParserTable___action_table_row730(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24616,7 +24616,7 @@ val_t parser_tables___ParserTable___action_table_row731(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24632,7 +24632,7 @@ val_t parser_tables___ParserTable___action_table_row732(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24654,7 +24654,7 @@ val_t parser_tables___ParserTable___action_table_row733(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24673,7 +24673,7 @@ val_t parser_tables___ParserTable___action_table_row734(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24689,7 +24689,7 @@ val_t parser_tables___ParserTable___action_table_row735(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24705,7 +24705,7 @@ val_t parser_tables___ParserTable___action_table_row736(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24721,7 +24721,7 @@ val_t parser_tables___ParserTable___action_table_row737(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24737,7 +24737,7 @@ val_t parser_tables___ParserTable___action_table_row738(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24816,7 +24816,7 @@ val_t parser_tables___ParserTable___action_table_row739(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24889,7 +24889,7 @@ val_t parser_tables___ParserTable___action_table_row740(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24908,7 +24908,7 @@ val_t parser_tables___ParserTable___action_table_row741(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -24978,7 +24978,7 @@ val_t parser_tables___ParserTable___action_table_row742(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -24994,7 +24994,7 @@ val_t parser_tables___ParserTable___action_table_row743(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -25013,7 +25013,7 @@ val_t parser_tables___ParserTable___action_table_row744(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -25083,7 +25083,7 @@ val_t parser_tables___ParserTable___action_table_row745(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25099,7 +25099,7 @@ val_t parser_tables___ParserTable___action_table_row746(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25118,7 +25118,7 @@ val_t parser_tables___ParserTable___action_table_row747(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -25140,7 +25140,7 @@ val_t parser_tables___ParserTable___action_table_row748(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25162,7 +25162,7 @@ val_t parser_tables___ParserTable___action_table_row749(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25184,7 +25184,7 @@ val_t parser_tables___ParserTable___action_table_row750(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25206,7 +25206,7 @@ val_t parser_tables___ParserTable___action_table_row751(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25228,7 +25228,7 @@ val_t parser_tables___ParserTable___action_table_row752(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25250,7 +25250,7 @@ val_t parser_tables___ParserTable___action_table_row753(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25272,7 +25272,7 @@ val_t parser_tables___ParserTable___action_table_row754(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25294,7 +25294,7 @@ val_t parser_tables___ParserTable___action_table_row755(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25316,7 +25316,7 @@ val_t parser_tables___ParserTable___action_table_row756(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25338,7 +25338,7 @@ val_t parser_tables___ParserTable___action_table_row757(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25360,7 +25360,7 @@ val_t parser_tables___ParserTable___action_table_row758(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25382,7 +25382,7 @@ val_t parser_tables___ParserTable___action_table_row759(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25404,7 +25404,7 @@ val_t parser_tables___ParserTable___action_table_row760(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25426,7 +25426,7 @@ val_t parser_tables___ParserTable___action_table_row761(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25448,7 +25448,7 @@ val_t parser_tables___ParserTable___action_table_row762(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25470,7 +25470,7 @@ val_t parser_tables___ParserTable___action_table_row763(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25492,7 +25492,7 @@ val_t parser_tables___ParserTable___action_table_row764(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25514,7 +25514,7 @@ val_t parser_tables___ParserTable___action_table_row765(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25530,7 +25530,7 @@ val_t parser_tables___ParserTable___action_table_row766(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -25549,7 +25549,7 @@ val_t parser_tables___ParserTable___action_table_row767(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25565,7 +25565,7 @@ val_t parser_tables___ParserTable___action_table_row768(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25581,7 +25581,7 @@ val_t parser_tables___ParserTable___action_table_row769(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -25600,7 +25600,7 @@ val_t parser_tables___ParserTable___action_table_row770(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25616,7 +25616,7 @@ val_t parser_tables___ParserTable___action_table_row771(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25638,7 +25638,7 @@ val_t parser_tables___ParserTable___action_table_row772(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25654,7 +25654,7 @@ val_t parser_tables___ParserTable___action_table_row773(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -25673,7 +25673,7 @@ val_t parser_tables___ParserTable___action_table_row774(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25698,7 +25698,7 @@ val_t parser_tables___ParserTable___action_table_row775(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25735,7 +25735,7 @@ val_t parser_tables___ParserTable___action_table_row776(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25757,7 +25757,7 @@ val_t parser_tables___ParserTable___action_table_row777(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25779,7 +25779,7 @@ val_t parser_tables___ParserTable___action_table_row778(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25795,7 +25795,7 @@ val_t parser_tables___ParserTable___action_table_row779(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25811,7 +25811,7 @@ val_t parser_tables___ParserTable___action_table_row780(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25827,7 +25827,7 @@ val_t parser_tables___ParserTable___action_table_row781(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25843,7 +25843,7 @@ val_t parser_tables___ParserTable___action_table_row782(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25880,7 +25880,7 @@ val_t parser_tables___ParserTable___action_table_row783(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25896,7 +25896,7 @@ val_t parser_tables___ParserTable___action_table_row784(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25924,7 +25924,7 @@ val_t parser_tables___ParserTable___action_table_row785(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25952,7 +25952,7 @@ val_t parser_tables___ParserTable___action_table_row786(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -25971,7 +25971,7 @@ val_t parser_tables___ParserTable___action_table_row787(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -25996,7 +25996,7 @@ val_t parser_tables___ParserTable___action_table_row788(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26015,7 +26015,7 @@ val_t parser_tables___ParserTable___action_table_row789(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(45)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26073,7 +26073,7 @@ val_t parser_tables___ParserTable___action_table_row790(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26092,7 +26092,7 @@ val_t parser_tables___ParserTable___action_table_row791(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26111,7 +26111,7 @@ val_t parser_tables___ParserTable___action_table_row792(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(51)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(51)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26175,7 +26175,7 @@ val_t parser_tables___ParserTable___action_table_row793(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26203,7 +26203,7 @@ val_t parser_tables___ParserTable___action_table_row794(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26222,7 +26222,7 @@ val_t parser_tables___ParserTable___action_table_row795(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26247,7 +26247,7 @@ val_t parser_tables___ParserTable___action_table_row796(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26266,7 +26266,7 @@ val_t parser_tables___ParserTable___action_table_row797(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26285,7 +26285,7 @@ val_t parser_tables___ParserTable___action_table_row798(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26304,7 +26304,7 @@ val_t parser_tables___ParserTable___action_table_row799(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26323,7 +26323,7 @@ val_t parser_tables___ParserTable___action_table_row800(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26345,7 +26345,7 @@ val_t parser_tables___ParserTable___action_table_row801(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26364,7 +26364,7 @@ val_t parser_tables___ParserTable___action_table_row802(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26386,7 +26386,7 @@ val_t parser_tables___ParserTable___action_table_row803(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26408,7 +26408,7 @@ val_t parser_tables___ParserTable___action_table_row804(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26430,7 +26430,7 @@ val_t parser_tables___ParserTable___action_table_row805(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26467,7 +26467,7 @@ val_t parser_tables___ParserTable___action_table_row806(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26489,7 +26489,7 @@ val_t parser_tables___ParserTable___action_table_row807(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26511,7 +26511,7 @@ val_t parser_tables___ParserTable___action_table_row808(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26530,7 +26530,7 @@ val_t parser_tables___ParserTable___action_table_row809(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26546,7 +26546,7 @@ val_t parser_tables___ParserTable___action_table_row810(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26568,7 +26568,7 @@ val_t parser_tables___ParserTable___action_table_row811(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26605,7 +26605,7 @@ val_t parser_tables___ParserTable___action_table_row812(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26627,7 +26627,7 @@ val_t parser_tables___ParserTable___action_table_row813(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26649,7 +26649,7 @@ val_t parser_tables___ParserTable___action_table_row814(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26665,7 +26665,7 @@ val_t parser_tables___ParserTable___action_table_row815(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26681,7 +26681,7 @@ val_t parser_tables___ParserTable___action_table_row816(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26718,7 +26718,7 @@ val_t parser_tables___ParserTable___action_table_row817(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26755,7 +26755,7 @@ val_t parser_tables___ParserTable___action_table_row818(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26777,7 +26777,7 @@ val_t parser_tables___ParserTable___action_table_row819(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(87)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26877,7 +26877,7 @@ val_t parser_tables___ParserTable___action_table_row820(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26899,7 +26899,7 @@ val_t parser_tables___ParserTable___action_table_row821(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26918,7 +26918,7 @@ val_t parser_tables___ParserTable___action_table_row822(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -26937,7 +26937,7 @@ val_t parser_tables___ParserTable___action_table_row823(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -26953,7 +26953,7 @@ val_t parser_tables___ParserTable___action_table_row824(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(69)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27035,7 +27035,7 @@ val_t parser_tables___ParserTable___action_table_row825(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(78)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(78)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27126,7 +27126,7 @@ val_t parser_tables___ParserTable___action_table_row826(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27142,7 +27142,7 @@ val_t parser_tables___ParserTable___action_table_row827(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(90)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(90)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -27245,7 +27245,7 @@ val_t parser_tables___ParserTable___action_table_row828(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -27264,7 +27264,7 @@ val_t parser_tables___ParserTable___action_table_row829(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27280,7 +27280,7 @@ val_t parser_tables___ParserTable___action_table_row830(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27302,7 +27302,7 @@ val_t parser_tables___ParserTable___action_table_row831(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27318,7 +27318,7 @@ val_t parser_tables___ParserTable___action_table_row832(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27334,7 +27334,7 @@ val_t parser_tables___ParserTable___action_table_row833(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27356,7 +27356,7 @@ val_t parser_tables___ParserTable___action_table_row834(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27372,7 +27372,7 @@ val_t parser_tables___ParserTable___action_table_row835(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27388,7 +27388,7 @@ val_t parser_tables___ParserTable___action_table_row836(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27404,7 +27404,7 @@ val_t parser_tables___ParserTable___action_table_row837(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27420,7 +27420,7 @@ val_t parser_tables___ParserTable___action_table_row838(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27436,7 +27436,7 @@ val_t parser_tables___ParserTable___action_table_row839(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -27452,7 +27452,7 @@ val_t parser_tables___ParserTable___action_table_row840(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -27525,7 +27525,7 @@ val_t parser_tables___ParserTable___action_table_row841(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -27598,7 +27598,7 @@ val_t parser_tables___ParserTable___action_table_row842(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -27668,7 +27668,7 @@ val_t parser_tables___ParserTable___action_table_row843(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -27687,7 +27687,7 @@ val_t parser_tables___ParserTable___action_table_row844(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -27757,7 +27757,7 @@ val_t parser_tables___ParserTable___action_table_row845(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -27827,7 +27827,7 @@ val_t parser_tables___ParserTable___action_table_row846(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -27897,7 +27897,7 @@ val_t parser_tables___ParserTable___action_table_row847(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -27967,7 +27967,7 @@ val_t parser_tables___ParserTable___action_table_row848(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28037,7 +28037,7 @@ val_t parser_tables___ParserTable___action_table_row849(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28107,7 +28107,7 @@ val_t parser_tables___ParserTable___action_table_row850(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28177,7 +28177,7 @@ val_t parser_tables___ParserTable___action_table_row851(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28247,7 +28247,7 @@ val_t parser_tables___ParserTable___action_table_row852(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28317,7 +28317,7 @@ val_t parser_tables___ParserTable___action_table_row853(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28387,7 +28387,7 @@ val_t parser_tables___ParserTable___action_table_row854(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28457,7 +28457,7 @@ val_t parser_tables___ParserTable___action_table_row855(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(57)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28527,7 +28527,7 @@ val_t parser_tables___ParserTable___action_table_row856(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28555,7 +28555,7 @@ val_t parser_tables___ParserTable___action_table_row857(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28571,7 +28571,7 @@ val_t parser_tables___ParserTable___action_table_row858(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28587,7 +28587,7 @@ val_t parser_tables___ParserTable___action_table_row859(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28606,7 +28606,7 @@ val_t parser_tables___ParserTable___action_table_row860(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28622,7 +28622,7 @@ val_t parser_tables___ParserTable___action_table_row861(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28638,7 +28638,7 @@ val_t parser_tables___ParserTable___action_table_row862(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28657,7 +28657,7 @@ val_t parser_tables___ParserTable___action_table_row863(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28673,7 +28673,7 @@ val_t parser_tables___ParserTable___action_table_row864(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28710,7 +28710,7 @@ val_t parser_tables___ParserTable___action_table_row865(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28747,7 +28747,7 @@ val_t parser_tables___ParserTable___action_table_row866(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28769,7 +28769,7 @@ val_t parser_tables___ParserTable___action_table_row867(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28785,7 +28785,7 @@ val_t parser_tables___ParserTable___action_table_row868(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28813,7 +28813,7 @@ val_t parser_tables___ParserTable___action_table_row869(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28832,7 +28832,7 @@ val_t parser_tables___ParserTable___action_table_row870(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28857,7 +28857,7 @@ val_t parser_tables___ParserTable___action_table_row871(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28876,7 +28876,7 @@ val_t parser_tables___ParserTable___action_table_row872(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28895,7 +28895,7 @@ val_t parser_tables___ParserTable___action_table_row873(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28914,7 +28914,7 @@ val_t parser_tables___ParserTable___action_table_row874(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28933,7 +28933,7 @@ val_t parser_tables___ParserTable___action_table_row875(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28955,7 +28955,7 @@ val_t parser_tables___ParserTable___action_table_row876(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -28974,7 +28974,7 @@ val_t parser_tables___ParserTable___action_table_row877(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -28996,7 +28996,7 @@ val_t parser_tables___ParserTable___action_table_row878(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29018,7 +29018,7 @@ val_t parser_tables___ParserTable___action_table_row879(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29040,7 +29040,7 @@ val_t parser_tables___ParserTable___action_table_row880(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29065,7 +29065,7 @@ val_t parser_tables___ParserTable___action_table_row881(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -29084,7 +29084,7 @@ val_t parser_tables___ParserTable___action_table_row882(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -29103,7 +29103,7 @@ val_t parser_tables___ParserTable___action_table_row883(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -29122,7 +29122,7 @@ val_t parser_tables___ParserTable___action_table_row884(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -29141,7 +29141,7 @@ val_t parser_tables___ParserTable___action_table_row885(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29163,7 +29163,7 @@ val_t parser_tables___ParserTable___action_table_row886(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -29182,7 +29182,7 @@ val_t parser_tables___ParserTable___action_table_row887(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29204,7 +29204,7 @@ val_t parser_tables___ParserTable___action_table_row888(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29229,7 +29229,7 @@ val_t parser_tables___ParserTable___action_table_row889(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29245,7 +29245,7 @@ val_t parser_tables___ParserTable___action_table_row890(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29267,7 +29267,7 @@ val_t parser_tables___ParserTable___action_table_row891(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29286,7 +29286,7 @@ val_t parser_tables___ParserTable___action_table_row892(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29308,7 +29308,7 @@ val_t parser_tables___ParserTable___action_table_row893(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -29327,7 +29327,7 @@ val_t parser_tables___ParserTable___action_table_row894(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29343,7 +29343,7 @@ val_t parser_tables___ParserTable___action_table_row895(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29380,7 +29380,7 @@ val_t parser_tables___ParserTable___action_table_row896(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -29399,7 +29399,7 @@ val_t parser_tables___ParserTable___action_table_row897(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29421,7 +29421,7 @@ val_t parser_tables___ParserTable___action_table_row898(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -29440,7 +29440,7 @@ val_t parser_tables___ParserTable___action_table_row899(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29456,7 +29456,7 @@ val_t parser_tables___ParserTable___action_table_row900(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29493,7 +29493,7 @@ val_t parser_tables___ParserTable___action_table_row901(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29530,7 +29530,7 @@ val_t parser_tables___ParserTable___action_table_row902(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29552,7 +29552,7 @@ val_t parser_tables___ParserTable___action_table_row903(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29568,7 +29568,7 @@ val_t parser_tables___ParserTable___action_table_row904(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29584,7 +29584,7 @@ val_t parser_tables___ParserTable___action_table_row905(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29621,7 +29621,7 @@ val_t parser_tables___ParserTable___action_table_row906(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29640,7 +29640,7 @@ val_t parser_tables___ParserTable___action_table_row907(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(87)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -29740,7 +29740,7 @@ val_t parser_tables___ParserTable___action_table_row908(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(96)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -29849,7 +29849,7 @@ val_t parser_tables___ParserTable___action_table_row909(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -29955,7 +29955,7 @@ val_t parser_tables___ParserTable___action_table_row910(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29974,7 +29974,7 @@ val_t parser_tables___ParserTable___action_table_row911(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -29993,7 +29993,7 @@ val_t parser_tables___ParserTable___action_table_row912(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30009,7 +30009,7 @@ val_t parser_tables___ParserTable___action_table_row913(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30031,7 +30031,7 @@ val_t parser_tables___ParserTable___action_table_row914(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -30050,7 +30050,7 @@ val_t parser_tables___ParserTable___action_table_row915(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30072,7 +30072,7 @@ val_t parser_tables___ParserTable___action_table_row916(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30088,7 +30088,7 @@ val_t parser_tables___ParserTable___action_table_row917(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30104,7 +30104,7 @@ val_t parser_tables___ParserTable___action_table_row918(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30120,7 +30120,7 @@ val_t parser_tables___ParserTable___action_table_row919(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30142,7 +30142,7 @@ val_t parser_tables___ParserTable___action_table_row920(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30158,7 +30158,7 @@ val_t parser_tables___ParserTable___action_table_row921(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30183,7 +30183,7 @@ val_t parser_tables___ParserTable___action_table_row922(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30208,7 +30208,7 @@ val_t parser_tables___ParserTable___action_table_row923(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30230,7 +30230,7 @@ val_t parser_tables___ParserTable___action_table_row924(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30252,7 +30252,7 @@ val_t parser_tables___ParserTable___action_table_row925(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30274,7 +30274,7 @@ val_t parser_tables___ParserTable___action_table_row926(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30296,7 +30296,7 @@ val_t parser_tables___ParserTable___action_table_row927(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30318,7 +30318,7 @@ val_t parser_tables___ParserTable___action_table_row928(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30340,7 +30340,7 @@ val_t parser_tables___ParserTable___action_table_row929(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30362,7 +30362,7 @@ val_t parser_tables___ParserTable___action_table_row930(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30378,7 +30378,7 @@ val_t parser_tables___ParserTable___action_table_row931(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30394,7 +30394,7 @@ val_t parser_tables___ParserTable___action_table_row932(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30410,7 +30410,7 @@ val_t parser_tables___ParserTable___action_table_row933(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30429,7 +30429,7 @@ val_t parser_tables___ParserTable___action_table_row934(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30451,7 +30451,7 @@ val_t parser_tables___ParserTable___action_table_row935(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30470,7 +30470,7 @@ val_t parser_tables___ParserTable___action_table_row936(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30486,7 +30486,7 @@ val_t parser_tables___ParserTable___action_table_row937(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30502,7 +30502,7 @@ val_t parser_tables___ParserTable___action_table_row938(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30518,7 +30518,7 @@ val_t parser_tables___ParserTable___action_table_row939(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30534,7 +30534,7 @@ val_t parser_tables___ParserTable___action_table_row940(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30550,7 +30550,7 @@ val_t parser_tables___ParserTable___action_table_row941(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30587,7 +30587,7 @@ val_t parser_tables___ParserTable___action_table_row942(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30612,7 +30612,7 @@ val_t parser_tables___ParserTable___action_table_row943(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -30631,7 +30631,7 @@ val_t parser_tables___ParserTable___action_table_row944(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -30650,7 +30650,7 @@ val_t parser_tables___ParserTable___action_table_row945(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -30669,7 +30669,7 @@ val_t parser_tables___ParserTable___action_table_row946(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -30688,7 +30688,7 @@ val_t parser_tables___ParserTable___action_table_row947(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30710,7 +30710,7 @@ val_t parser_tables___ParserTable___action_table_row948(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -30729,7 +30729,7 @@ val_t parser_tables___ParserTable___action_table_row949(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30751,7 +30751,7 @@ val_t parser_tables___ParserTable___action_table_row950(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30776,7 +30776,7 @@ val_t parser_tables___ParserTable___action_table_row951(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30792,7 +30792,7 @@ val_t parser_tables___ParserTable___action_table_row952(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30814,7 +30814,7 @@ val_t parser_tables___ParserTable___action_table_row953(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30833,7 +30833,7 @@ val_t parser_tables___ParserTable___action_table_row954(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30855,7 +30855,7 @@ val_t parser_tables___ParserTable___action_table_row955(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -30874,7 +30874,7 @@ val_t parser_tables___ParserTable___action_table_row956(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -30893,7 +30893,7 @@ val_t parser_tables___ParserTable___action_table_row957(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -30912,7 +30912,7 @@ val_t parser_tables___ParserTable___action_table_row958(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30934,7 +30934,7 @@ val_t parser_tables___ParserTable___action_table_row959(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -30953,7 +30953,7 @@ val_t parser_tables___ParserTable___action_table_row960(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30975,7 +30975,7 @@ val_t parser_tables___ParserTable___action_table_row961(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -30997,7 +30997,7 @@ val_t parser_tables___ParserTable___action_table_row962(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31016,7 +31016,7 @@ val_t parser_tables___ParserTable___action_table_row963(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31038,7 +31038,7 @@ val_t parser_tables___ParserTable___action_table_row964(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31060,7 +31060,7 @@ val_t parser_tables___ParserTable___action_table_row965(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31079,7 +31079,7 @@ val_t parser_tables___ParserTable___action_table_row966(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31104,7 +31104,7 @@ val_t parser_tables___ParserTable___action_table_row967(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31123,7 +31123,7 @@ val_t parser_tables___ParserTable___action_table_row968(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31202,7 +31202,7 @@ val_t parser_tables___ParserTable___action_table_row969(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31224,7 +31224,7 @@ val_t parser_tables___ParserTable___action_table_row970(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31243,7 +31243,7 @@ val_t parser_tables___ParserTable___action_table_row971(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31349,7 +31349,7 @@ val_t parser_tables___ParserTable___action_table_row972(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31365,7 +31365,7 @@ val_t parser_tables___ParserTable___action_table_row973(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31381,7 +31381,7 @@ val_t parser_tables___ParserTable___action_table_row974(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(60)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31454,7 +31454,7 @@ val_t parser_tables___ParserTable___action_table_row975(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31470,7 +31470,7 @@ val_t parser_tables___ParserTable___action_table_row976(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31486,7 +31486,7 @@ val_t parser_tables___ParserTable___action_table_row977(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31502,7 +31502,7 @@ val_t parser_tables___ParserTable___action_table_row978(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31539,7 +31539,7 @@ val_t parser_tables___ParserTable___action_table_row979(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31555,7 +31555,7 @@ val_t parser_tables___ParserTable___action_table_row980(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31574,7 +31574,7 @@ val_t parser_tables___ParserTable___action_table_row981(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31593,7 +31593,7 @@ val_t parser_tables___ParserTable___action_table_row982(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31609,7 +31609,7 @@ val_t parser_tables___ParserTable___action_table_row983(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31688,7 +31688,7 @@ val_t parser_tables___ParserTable___action_table_row984(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31710,7 +31710,7 @@ val_t parser_tables___ParserTable___action_table_row985(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31729,7 +31729,7 @@ val_t parser_tables___ParserTable___action_table_row986(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31745,7 +31745,7 @@ val_t parser_tables___ParserTable___action_table_row987(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31764,7 +31764,7 @@ val_t parser_tables___ParserTable___action_table_row988(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31780,7 +31780,7 @@ val_t parser_tables___ParserTable___action_table_row989(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31796,7 +31796,7 @@ val_t parser_tables___ParserTable___action_table_row990(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31815,7 +31815,7 @@ val_t parser_tables___ParserTable___action_table_row991(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31834,7 +31834,7 @@ val_t parser_tables___ParserTable___action_table_row992(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31856,7 +31856,7 @@ val_t parser_tables___ParserTable___action_table_row993(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -31875,7 +31875,7 @@ val_t parser_tables___ParserTable___action_table_row994(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31897,7 +31897,7 @@ val_t parser_tables___ParserTable___action_table_row995(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31919,7 +31919,7 @@ val_t parser_tables___ParserTable___action_table_row996(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31938,7 +31938,7 @@ val_t parser_tables___ParserTable___action_table_row997(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31960,7 +31960,7 @@ val_t parser_tables___ParserTable___action_table_row998(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -31982,7 +31982,7 @@ val_t parser_tables___ParserTable___action_table_row999(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32001,7 +32001,7 @@ val_t parser_tables___ParserTable___action_table_row1000(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -32026,7 +32026,7 @@ val_t parser_tables___ParserTable___action_table_row1001(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -32045,7 +32045,7 @@ val_t parser_tables___ParserTable___action_table_row1002(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -32124,7 +32124,7 @@ val_t parser_tables___ParserTable___action_table_row1003(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32146,7 +32146,7 @@ val_t parser_tables___ParserTable___action_table_row1004(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -32165,7 +32165,7 @@ val_t parser_tables___ParserTable___action_table_row1005(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -32271,7 +32271,7 @@ val_t parser_tables___ParserTable___action_table_row1006(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -32290,7 +32290,7 @@ val_t parser_tables___ParserTable___action_table_row1007(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32312,7 +32312,7 @@ val_t parser_tables___ParserTable___action_table_row1008(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32334,7 +32334,7 @@ val_t parser_tables___ParserTable___action_table_row1009(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32353,7 +32353,7 @@ val_t parser_tables___ParserTable___action_table_row1010(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32375,7 +32375,7 @@ val_t parser_tables___ParserTable___action_table_row1011(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32397,7 +32397,7 @@ val_t parser_tables___ParserTable___action_table_row1012(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32416,7 +32416,7 @@ val_t parser_tables___ParserTable___action_table_row1013(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -32495,7 +32495,7 @@ val_t parser_tables___ParserTable___action_table_row1014(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32517,7 +32517,7 @@ val_t parser_tables___ParserTable___action_table_row1015(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32539,7 +32539,7 @@ val_t parser_tables___ParserTable___action_table_row1016(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32558,7 +32558,7 @@ val_t parser_tables___ParserTable___action_table_row1017(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -32637,7 +32637,7 @@ val_t parser_tables___ParserTable___action_table_row1018(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32659,7 +32659,7 @@ val_t parser_tables___ParserTable___action_table_row1019(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32675,7 +32675,7 @@ val_t parser_tables___ParserTable___action_table_row1020(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32691,7 +32691,7 @@ val_t parser_tables___ParserTable___action_table_row1021(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32710,7 +32710,7 @@ val_t parser_tables___ParserTable___action_table_row1022(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -32816,7 +32816,7 @@ val_t parser_tables___ParserTable___action_table_row1023(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -32832,7 +32832,7 @@ val_t parser_tables___ParserTable___action_table_row1024(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -32911,7 +32911,7 @@ val_t parser_tables___ParserTable___action_table_row1025(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -33017,7 +33017,7 @@ val_t parser_tables___ParserTable___action_table_row1026(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33036,7 +33036,7 @@ val_t parser_tables___ParserTable___action_table_row1027(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33052,7 +33052,7 @@ val_t parser_tables___ParserTable___action_table_row1028(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33068,7 +33068,7 @@ val_t parser_tables___ParserTable___action_table_row1029(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -33174,7 +33174,7 @@ val_t parser_tables___ParserTable___action_table_row1030(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33190,7 +33190,7 @@ val_t parser_tables___ParserTable___action_table_row1031(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -33269,7 +33269,7 @@ val_t parser_tables___ParserTable___action_table_row1032(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33288,7 +33288,7 @@ val_t parser_tables___ParserTable___action_table_row1033(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33310,7 +33310,7 @@ val_t parser_tables___ParserTable___action_table_row1034(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -33329,7 +33329,7 @@ val_t parser_tables___ParserTable___action_table_row1035(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33351,7 +33351,7 @@ val_t parser_tables___ParserTable___action_table_row1036(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33373,7 +33373,7 @@ val_t parser_tables___ParserTable___action_table_row1037(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33392,7 +33392,7 @@ val_t parser_tables___ParserTable___action_table_row1038(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33414,7 +33414,7 @@ val_t parser_tables___ParserTable___action_table_row1039(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33436,7 +33436,7 @@ val_t parser_tables___ParserTable___action_table_row1040(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33455,7 +33455,7 @@ val_t parser_tables___ParserTable___action_table_row1041(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -33534,7 +33534,7 @@ val_t parser_tables___ParserTable___action_table_row1042(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33556,7 +33556,7 @@ val_t parser_tables___ParserTable___action_table_row1043(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33578,7 +33578,7 @@ val_t parser_tables___ParserTable___action_table_row1044(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33597,7 +33597,7 @@ val_t parser_tables___ParserTable___action_table_row1045(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -33676,7 +33676,7 @@ val_t parser_tables___ParserTable___action_table_row1046(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33698,7 +33698,7 @@ val_t parser_tables___ParserTable___action_table_row1047(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33714,7 +33714,7 @@ val_t parser_tables___ParserTable___action_table_row1048(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33730,7 +33730,7 @@ val_t parser_tables___ParserTable___action_table_row1049(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33749,7 +33749,7 @@ val_t parser_tables___ParserTable___action_table_row1050(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -33855,7 +33855,7 @@ val_t parser_tables___ParserTable___action_table_row1051(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -33871,7 +33871,7 @@ val_t parser_tables___ParserTable___action_table_row1052(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -33950,7 +33950,7 @@ val_t parser_tables___ParserTable___action_table_row1053(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(93)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -34056,7 +34056,7 @@ val_t parser_tables___ParserTable___action_table_row1054(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34075,7 +34075,7 @@ val_t parser_tables___ParserTable___action_table_row1055(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34097,7 +34097,7 @@ val_t parser_tables___ParserTable___action_table_row1056(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34119,7 +34119,7 @@ val_t parser_tables___ParserTable___action_table_row1057(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34138,7 +34138,7 @@ val_t parser_tables___ParserTable___action_table_row1058(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -34217,7 +34217,7 @@ val_t parser_tables___ParserTable___action_table_row1059(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34239,7 +34239,7 @@ val_t parser_tables___ParserTable___action_table_row1060(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34261,7 +34261,7 @@ val_t parser_tables___ParserTable___action_table_row1061(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34280,7 +34280,7 @@ val_t parser_tables___ParserTable___action_table_row1062(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -34359,7 +34359,7 @@ val_t parser_tables___ParserTable___action_table_row1063(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34381,7 +34381,7 @@ val_t parser_tables___ParserTable___action_table_row1064(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34397,7 +34397,7 @@ val_t parser_tables___ParserTable___action_table_row1065(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -34476,7 +34476,7 @@ val_t parser_tables___ParserTable___action_table_row1066(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -34555,7 +34555,7 @@ val_t parser_tables___ParserTable___action_table_row1067(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34577,7 +34577,7 @@ val_t parser_tables___ParserTable___action_table_row1068(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34593,7 +34593,7 @@ val_t parser_tables___ParserTable___action_table_row1069(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -34672,7 +34672,7 @@ val_t parser_tables___ParserTable___action_table_row1070(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34688,7 +34688,7 @@ val_t parser_tables___ParserTable___action_table_row1071(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34707,7 +34707,7 @@ val_t parser_tables___ParserTable___action_table_row1072(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34723,7 +34723,7 @@ val_t parser_tables___ParserTable___action_table_row1073(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34742,7 +34742,7 @@ val_t parser_tables___ParserTable___action_table_row1074(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34758,7 +34758,7 @@ val_t parser_tables___ParserTable___action_table_row1075(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34774,7 +34774,7 @@ val_t parser_tables___ParserTable___action_table_row1076(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34796,7 +34796,7 @@ val_t parser_tables___ParserTable___action_table_row1077(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34812,7 +34812,7 @@ val_t parser_tables___ParserTable___action_table_row1078(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -34831,7 +34831,7 @@ val_t parser_tables___ParserTable___action_table_row1079(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34853,7 +34853,7 @@ val_t parser_tables___ParserTable___action_table_row1080(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34875,7 +34875,7 @@ val_t parser_tables___ParserTable___action_table_row1081(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34894,7 +34894,7 @@ val_t parser_tables___ParserTable___action_table_row1082(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -34973,7 +34973,7 @@ val_t parser_tables___ParserTable___action_table_row1083(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -34995,7 +34995,7 @@ val_t parser_tables___ParserTable___action_table_row1084(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35017,7 +35017,7 @@ val_t parser_tables___ParserTable___action_table_row1085(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35036,7 +35036,7 @@ val_t parser_tables___ParserTable___action_table_row1086(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -35115,7 +35115,7 @@ val_t parser_tables___ParserTable___action_table_row1087(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35137,7 +35137,7 @@ val_t parser_tables___ParserTable___action_table_row1088(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35153,7 +35153,7 @@ val_t parser_tables___ParserTable___action_table_row1089(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -35232,7 +35232,7 @@ val_t parser_tables___ParserTable___action_table_row1090(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -35311,7 +35311,7 @@ val_t parser_tables___ParserTable___action_table_row1091(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35333,7 +35333,7 @@ val_t parser_tables___ParserTable___action_table_row1092(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35349,7 +35349,7 @@ val_t parser_tables___ParserTable___action_table_row1093(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -35428,7 +35428,7 @@ val_t parser_tables___ParserTable___action_table_row1094(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35444,7 +35444,7 @@ val_t parser_tables___ParserTable___action_table_row1095(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35463,7 +35463,7 @@ val_t parser_tables___ParserTable___action_table_row1096(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35479,7 +35479,7 @@ val_t parser_tables___ParserTable___action_table_row1097(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35498,7 +35498,7 @@ val_t parser_tables___ParserTable___action_table_row1098(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35514,7 +35514,7 @@ val_t parser_tables___ParserTable___action_table_row1099(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35536,7 +35536,7 @@ val_t parser_tables___ParserTable___action_table_row1100(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35555,7 +35555,7 @@ val_t parser_tables___ParserTable___action_table_row1101(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -35634,7 +35634,7 @@ val_t parser_tables___ParserTable___action_table_row1102(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35656,7 +35656,7 @@ val_t parser_tables___ParserTable___action_table_row1103(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35672,7 +35672,7 @@ val_t parser_tables___ParserTable___action_table_row1104(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -35751,7 +35751,7 @@ val_t parser_tables___ParserTable___action_table_row1105(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -35830,7 +35830,7 @@ val_t parser_tables___ParserTable___action_table_row1106(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35852,7 +35852,7 @@ val_t parser_tables___ParserTable___action_table_row1107(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35868,7 +35868,7 @@ val_t parser_tables___ParserTable___action_table_row1108(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -35947,7 +35947,7 @@ val_t parser_tables___ParserTable___action_table_row1109(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35963,7 +35963,7 @@ val_t parser_tables___ParserTable___action_table_row1110(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -35979,7 +35979,7 @@ val_t parser_tables___ParserTable___action_table_row1111(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -36058,7 +36058,7 @@ val_t parser_tables___ParserTable___action_table_row1112(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36074,7 +36074,7 @@ val_t parser_tables___ParserTable___action_table_row1113(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36090,7 +36090,7 @@ val_t parser_tables___ParserTable___action_table_row1114(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36106,7 +36106,7 @@ val_t parser_tables___ParserTable___action_table_row1115(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -36125,7 +36125,7 @@ val_t parser_tables___ParserTable___action_table_row1116(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36147,7 +36147,7 @@ val_t parser_tables___ParserTable___action_table_row1117(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36169,7 +36169,7 @@ val_t parser_tables___ParserTable___action_table_row1118(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36188,7 +36188,7 @@ val_t parser_tables___ParserTable___action_table_row1119(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -36267,7 +36267,7 @@ val_t parser_tables___ParserTable___action_table_row1120(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36289,7 +36289,7 @@ val_t parser_tables___ParserTable___action_table_row1121(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36305,7 +36305,7 @@ val_t parser_tables___ParserTable___action_table_row1122(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -36384,7 +36384,7 @@ val_t parser_tables___ParserTable___action_table_row1123(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -36463,7 +36463,7 @@ val_t parser_tables___ParserTable___action_table_row1124(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36485,7 +36485,7 @@ val_t parser_tables___ParserTable___action_table_row1125(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36501,7 +36501,7 @@ val_t parser_tables___ParserTable___action_table_row1126(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -36580,7 +36580,7 @@ val_t parser_tables___ParserTable___action_table_row1127(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36596,7 +36596,7 @@ val_t parser_tables___ParserTable___action_table_row1128(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36612,7 +36612,7 @@ val_t parser_tables___ParserTable___action_table_row1129(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -36691,7 +36691,7 @@ val_t parser_tables___ParserTable___action_table_row1130(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36707,7 +36707,7 @@ val_t parser_tables___ParserTable___action_table_row1131(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36723,7 +36723,7 @@ val_t parser_tables___ParserTable___action_table_row1132(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36739,7 +36739,7 @@ val_t parser_tables___ParserTable___action_table_row1133(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -36818,7 +36818,7 @@ val_t parser_tables___ParserTable___action_table_row1134(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36840,7 +36840,7 @@ val_t parser_tables___ParserTable___action_table_row1135(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36856,7 +36856,7 @@ val_t parser_tables___ParserTable___action_table_row1136(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -36935,7 +36935,7 @@ val_t parser_tables___ParserTable___action_table_row1137(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36951,7 +36951,7 @@ val_t parser_tables___ParserTable___action_table_row1138(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -36967,7 +36967,7 @@ val_t parser_tables___ParserTable___action_table_row1139(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -37046,7 +37046,7 @@ val_t parser_tables___ParserTable___action_table_row1140(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37062,7 +37062,7 @@ val_t parser_tables___ParserTable___action_table_row1141(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37078,7 +37078,7 @@ val_t parser_tables___ParserTable___action_table_row1142(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37100,7 +37100,7 @@ val_t parser_tables___ParserTable___action_table_row1143(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -37119,7 +37119,7 @@ val_t parser_tables___ParserTable___action_table_row1144(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -37198,7 +37198,7 @@ val_t parser_tables___ParserTable___action_table_row1145(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37220,7 +37220,7 @@ val_t parser_tables___ParserTable___action_table_row1146(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37236,7 +37236,7 @@ val_t parser_tables___ParserTable___action_table_row1147(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -37315,7 +37315,7 @@ val_t parser_tables___ParserTable___action_table_row1148(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37331,7 +37331,7 @@ val_t parser_tables___ParserTable___action_table_row1149(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37347,7 +37347,7 @@ val_t parser_tables___ParserTable___action_table_row1150(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -37426,7 +37426,7 @@ val_t parser_tables___ParserTable___action_table_row1151(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37442,7 +37442,7 @@ val_t parser_tables___ParserTable___action_table_row1152(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37458,7 +37458,7 @@ val_t parser_tables___ParserTable___action_table_row1153(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37474,7 +37474,7 @@ val_t parser_tables___ParserTable___action_table_row1154(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -37553,7 +37553,7 @@ val_t parser_tables___ParserTable___action_table_row1155(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37569,7 +37569,7 @@ val_t parser_tables___ParserTable___action_table_row1156(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37585,7 +37585,7 @@ val_t parser_tables___ParserTable___action_table_row1157(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(63)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -37661,7 +37661,7 @@ val_t parser_tables___ParserTable___action_table_row1158(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37677,7 +37677,7 @@ val_t parser_tables___ParserTable___action_table_row1159(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37693,7 +37693,7 @@ val_t parser_tables___ParserTable___action_table_row1160(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(66)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
@@ -37772,7 +37772,7 @@ val_t parser_tables___ParserTable___action_table_row1161(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37788,7 +37788,7 @@ val_t parser_tables___ParserTable___action_table_row1162(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37804,7 +37804,7 @@ val_t parser_tables___ParserTable___action_table_row1163(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37820,7 +37820,7 @@ val_t parser_tables___ParserTable___action_table_row1164(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37836,7 +37836,7 @@ val_t parser_tables___ParserTable___action_table_row1165(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_parser_tables;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -37971,18 +37971,18 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
   trace.file = LOCATE_parser_tables;
   if (once_bool_variable0_1168) variable0 = once_value_variable0_1168;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(116)); /*new Array[E]*/
-    variable1 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(116)); /*new Array[Array[Int]]*/
+    variable1 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable2 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(3)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
-    variable2 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable2 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable3 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  TAG_Int(4)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*AbstractArray::add*/;
-    variable3 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+    variable3 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
     variable4 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable4) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(5)) /*AbstractArray::add*/;
@@ -37991,7 +37991,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(20)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(77)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*AbstractArray::add*/;
-    variable4 = NEW_array___Array___with_capacity(TAG_Int(48)); /*new Array[E]*/
+    variable4 = NEW_Array_array___Array___with_capacity(TAG_Int(48)); /*new Array[Int]*/
     variable5 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable5) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(6)) /*AbstractArray::add*/;
@@ -38042,12 +38042,12 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(432)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(522)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable4) /*AbstractArray::add*/;
-    variable5 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable5 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable6 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable6) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(7)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable5) /*AbstractArray::add*/;
-    variable6 = NEW_array___Array___with_capacity(TAG_Int(10)); /*new Array[E]*/
+    variable6 = NEW_Array_array___Array___with_capacity(TAG_Int(10)); /*new Array[Int]*/
     variable7 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable7) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(8)) /*AbstractArray::add*/;
@@ -38060,35 +38060,35 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(91)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(82)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable6) /*AbstractArray::add*/;
-    variable7 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable7 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable8 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable8) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(185)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(132)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(252)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable7) /*AbstractArray::add*/;
-    variable8 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable8 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable9 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable9) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(507)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(462)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(534)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable8) /*AbstractArray::add*/;
-    variable9 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable9 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable10 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable10) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(771)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(773)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(860)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable9) /*AbstractArray::add*/;
-    variable10 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable10 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable11 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable11) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(679)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(858)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(936)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable10) /*AbstractArray::add*/;
-    variable11 = NEW_array___Array___with_capacity(TAG_Int(10)); /*new Array[E]*/
+    variable11 = NEW_Array_array___Array___with_capacity(TAG_Int(10)); /*new Array[Int]*/
     variable12 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable12) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(508)) /*AbstractArray::add*/;
@@ -38101,7 +38101,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(612)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(593)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable11) /*AbstractArray::add*/;
-    variable12 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+    variable12 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
     variable13 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12, variable13) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(684)) /*AbstractArray::add*/;
@@ -38122,7 +38122,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(901)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(780)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable12) /*AbstractArray::add*/;
-    variable13 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+    variable13 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
     variable14 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13, variable14) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(685)) /*AbstractArray::add*/;
@@ -38143,7 +38143,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(612)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(715)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable13) /*AbstractArray::add*/;
-    variable14 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+    variable14 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
     variable15 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14, variable15) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(95)) /*AbstractArray::add*/;
@@ -38164,7 +38164,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(432)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable14) /*AbstractArray::add*/;
-    variable15 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+    variable15 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
     variable16 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15, variable16) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(96)) /*AbstractArray::add*/;
@@ -38185,7 +38185,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(91)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(215)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable15) /*AbstractArray::add*/;
-    variable16 = NEW_array___Array___with_capacity(TAG_Int(48)); /*new Array[E]*/
+    variable16 = NEW_Array_array___Array___with_capacity(TAG_Int(48)); /*new Array[Int]*/
     variable17 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16, variable17) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(592)) /*AbstractArray::add*/;
@@ -38236,7 +38236,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(941)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(989)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable16) /*AbstractArray::add*/;
-    variable17 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+    variable17 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
     variable18 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17, variable18) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(314)) /*AbstractArray::add*/;
@@ -38251,7 +38251,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(791)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(877)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable17) /*AbstractArray::add*/;
-    variable18 = NEW_array___Array___with_capacity(TAG_Int(16)); /*new Array[E]*/
+    variable18 = NEW_Array_array___Array___with_capacity(TAG_Int(16)); /*new Array[Int]*/
     variable19 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18, variable19) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(412)) /*AbstractArray::add*/;
@@ -38270,26 +38270,26 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(877)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(953)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable18) /*AbstractArray::add*/;
-    variable19 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable19 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable20 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19, variable20) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(413)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable19) /*AbstractArray::add*/;
-    variable20 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable20 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable21 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20, variable21) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(673)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(675)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(767)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable20) /*AbstractArray::add*/;
-    variable21 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable21 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable22 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21, variable22) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(579)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(765)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(856)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable21) /*AbstractArray::add*/;
-    variable22 = NEW_array___Array___with_capacity(TAG_Int(20)); /*new Array[E]*/
+    variable22 = NEW_Array_array___Array___with_capacity(TAG_Int(20)); /*new Array[Int]*/
     variable23 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable23) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(570)) /*AbstractArray::add*/;
@@ -38312,21 +38312,21 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(1077)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(1115)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable22) /*AbstractArray::add*/;
-    variable23 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable23 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable24 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23, variable24) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(571)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(525)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(604)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable23) /*AbstractArray::add*/;
-    variable24 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable24 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable25 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24, variable25) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(637)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(638)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(733)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable24) /*AbstractArray::add*/;
-    variable25 = NEW_array___Array___with_capacity(TAG_Int(50)); /*new Array[E]*/
+    variable25 = NEW_Array_array___Array___with_capacity(TAG_Int(50)); /*new Array[Int]*/
     variable26 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25, variable26) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(414)) /*AbstractArray::add*/;
@@ -38379,7 +38379,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1078)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1117)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable25) /*AbstractArray::add*/;
-    variable26 = NEW_array___Array___with_capacity(TAG_Int(32)); /*new Array[E]*/
+    variable26 = NEW_Array_array___Array___with_capacity(TAG_Int(32)); /*new Array[Int]*/
     variable27 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26, variable27) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(134)) /*AbstractArray::add*/;
@@ -38414,7 +38414,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1052)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1096)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable26) /*AbstractArray::add*/;
-    variable27 = NEW_array___Array___with_capacity(TAG_Int(10)); /*new Array[E]*/
+    variable27 = NEW_Array_array___Array___with_capacity(TAG_Int(10)); /*new Array[Int]*/
     variable28 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27, variable28) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(186)) /*AbstractArray::add*/;
@@ -38427,7 +38427,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(819)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(317)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable27) /*AbstractArray::add*/;
-    variable28 = NEW_array___Array___with_capacity(TAG_Int(34)); /*new Array[E]*/
+    variable28 = NEW_Array_array___Array___with_capacity(TAG_Int(34)); /*new Array[Int]*/
     variable29 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28, variable29) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(135)) /*AbstractArray::add*/;
@@ -38464,7 +38464,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(907)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(552)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable28) /*AbstractArray::add*/;
-    variable29 = NEW_array___Array___with_capacity(TAG_Int(14)); /*new Array[E]*/
+    variable29 = NEW_Array_array___Array___with_capacity(TAG_Int(14)); /*new Array[Int]*/
     variable30 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable30) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(59)) /*AbstractArray::add*/;
@@ -38481,7 +38481,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(1028)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(553)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable29) /*AbstractArray::add*/;
-    variable30 = NEW_array___Array___with_capacity(TAG_Int(14)); /*new Array[E]*/
+    variable30 = NEW_Array_array___Array___with_capacity(TAG_Int(14)); /*new Array[Int]*/
     variable31 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable31) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(60)) /*AbstractArray::add*/;
@@ -38498,7 +38498,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(1028)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(554)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable30) /*AbstractArray::add*/;
-    variable31 = NEW_array___Array___with_capacity(TAG_Int(10)); /*new Array[E]*/
+    variable31 = NEW_Array_array___Array___with_capacity(TAG_Int(10)); /*new Array[Int]*/
     variable32 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable32) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(178)) /*AbstractArray::add*/;
@@ -38511,17 +38511,17 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(516)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(598)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable31) /*AbstractArray::add*/;
-    variable32 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable32 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable33 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32, variable33) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(61)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable32) /*AbstractArray::add*/;
-    variable33 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable33 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable34 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable34) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(62)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable33) /*AbstractArray::add*/;
-    variable34 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
+    variable34 = NEW_Array_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
     variable35 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable35) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(555)) /*AbstractArray::add*/;
@@ -38532,17 +38532,17 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(826)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(911)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable34) /*AbstractArray::add*/;
-    variable35 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable35 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable36 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35, variable36) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(63)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable35) /*AbstractArray::add*/;
-    variable36 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable36 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable37 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable37) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(64)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable36) /*AbstractArray::add*/;
-    variable37 = NEW_array___Array___with_capacity(TAG_Int(14)); /*new Array[E]*/
+    variable37 = NEW_Array_array___Array___with_capacity(TAG_Int(14)); /*new Array[Int]*/
     variable38 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37, variable38) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(65)) /*AbstractArray::add*/;
@@ -38559,7 +38559,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(1028)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(556)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable37) /*AbstractArray::add*/;
-    variable38 = NEW_array___Array___with_capacity(TAG_Int(14)); /*new Array[E]*/
+    variable38 = NEW_Array_array___Array___with_capacity(TAG_Int(14)); /*new Array[Int]*/
     variable39 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable39) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(66)) /*AbstractArray::add*/;
@@ -38576,12 +38576,12 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(1028)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(557)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable38) /*AbstractArray::add*/;
-    variable39 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable39 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable40 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable40) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(164)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable39) /*AbstractArray::add*/;
-    variable40 = NEW_array___Array___with_capacity(TAG_Int(146)); /*new Array[E]*/
+    variable40 = NEW_Array_array___Array___with_capacity(TAG_Int(146)); /*new Array[Int]*/
     variable41 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable41) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(153)) /*AbstractArray::add*/;
@@ -38730,12 +38730,12 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1159)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1164)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable40) /*AbstractArray::add*/;
-    variable41 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable41 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable42 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41, variable42) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(154)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable41) /*AbstractArray::add*/;
-    variable42 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
+    variable42 = NEW_Array_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
     variable43 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable43) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(155)) /*AbstractArray::add*/;
@@ -38746,12 +38746,12 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(386)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(474)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable42) /*AbstractArray::add*/;
-    variable43 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable43 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable44 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable44) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(156)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable43) /*AbstractArray::add*/;
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+    variable44 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
     variable45 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44, variable45) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(157)) /*AbstractArray::add*/;
@@ -38772,7 +38772,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(397)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(485)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable44) /*AbstractArray::add*/;
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+    variable45 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
     variable46 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable46) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(158)) /*AbstractArray::add*/;
@@ -38781,7 +38781,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(390)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(478)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable45) /*AbstractArray::add*/;
-    variable46 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+    variable46 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
     variable47 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable47) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(159)) /*AbstractArray::add*/;
@@ -38796,12 +38796,12 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(400)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(488)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable46) /*AbstractArray::add*/;
-    variable47 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable47 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable48 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable48) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(160)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable47) /*AbstractArray::add*/;
-    variable48 = NEW_array___Array___with_capacity(TAG_Int(68)); /*new Array[E]*/
+    variable48 = NEW_Array_array___Array___with_capacity(TAG_Int(68)); /*new Array[Int]*/
     variable49 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48, variable49) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(161)) /*AbstractArray::add*/;
@@ -38872,7 +38872,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(1052)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable48) /*AbstractArray::add*/;
-    variable49 = NEW_array___Array___with_capacity(TAG_Int(104)); /*new Array[E]*/
+    variable49 = NEW_Array_array___Array___with_capacity(TAG_Int(104)); /*new Array[Int]*/
     variable50 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49, variable50) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(68)) /*AbstractArray::add*/;
@@ -38979,36 +38979,36 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(1156)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable49) /*AbstractArray::add*/;
-    variable50 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable50 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable51 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50, variable51) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(69)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable50) /*AbstractArray::add*/;
-    variable51 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable51 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable52 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51, variable52) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(70)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable51) /*AbstractArray::add*/;
-    variable52 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable52 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable53 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52, variable53) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52,  TAG_Int(196)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52,  TAG_Int(199)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52,  TAG_Int(325)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable52) /*AbstractArray::add*/;
-    variable53 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable53 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable54 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53, variable54) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(197)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable53) /*AbstractArray::add*/;
-    variable54 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable54 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable55 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54, variable55) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(198)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(199)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(326)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable54) /*AbstractArray::add*/;
-    variable55 = NEW_array___Array___with_capacity(TAG_Int(70)); /*new Array[E]*/
+    variable55 = NEW_Array_array___Array___with_capacity(TAG_Int(70)); /*new Array[Int]*/
     variable56 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55, variable56) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(120)) /*AbstractArray::add*/;
@@ -39081,7 +39081,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(1031)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(1076)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable55) /*AbstractArray::add*/;
-    variable56 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+    variable56 = NEW_Array_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
     variable57 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56, variable57) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(121)) /*AbstractArray::add*/;
@@ -39108,7 +39108,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(824)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(910)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable56) /*AbstractArray::add*/;
-    variable57 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
+    variable57 = NEW_Array_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
     variable58 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57, variable58) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(71)) /*AbstractArray::add*/;
@@ -39119,7 +39119,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(558)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(193)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable57) /*AbstractArray::add*/;
-    variable58 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
+    variable58 = NEW_Array_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
     variable59 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58, variable59) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(497)) /*AbstractArray::add*/;
@@ -39130,7 +39130,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(602)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(576)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable58) /*AbstractArray::add*/;
-    variable59 = NEW_array___Array___with_capacity(TAG_Int(170)); /*new Array[E]*/
+    variable59 = NEW_Array_array___Array___with_capacity(TAG_Int(170)); /*new Array[Int]*/
     variable60 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59, variable60) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(162)) /*AbstractArray::add*/;
@@ -39303,21 +39303,21 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1156)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable59) /*AbstractArray::add*/;
-    variable60 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable60 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable61 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable60,COLOR_abstract_collection___SimpleCollection___add))(variable60, variable61) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable60,COLOR_abstract_collection___SimpleCollection___add))(variable60,  TAG_Int(73)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable60,COLOR_abstract_collection___SimpleCollection___add))(variable60,  TAG_Int(75)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable60,COLOR_abstract_collection___SimpleCollection___add))(variable60,  TAG_Int(203)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable60) /*AbstractArray::add*/;
-    variable61 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable61 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable62 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable61,COLOR_abstract_collection___SimpleCollection___add))(variable61, variable62) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable61,COLOR_abstract_collection___SimpleCollection___add))(variable61,  TAG_Int(74)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable61,COLOR_abstract_collection___SimpleCollection___add))(variable61,  TAG_Int(75)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable61,COLOR_abstract_collection___SimpleCollection___add))(variable61,  TAG_Int(204)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable61) /*AbstractArray::add*/;
-    variable62 = NEW_array___Array___with_capacity(TAG_Int(42)); /*new Array[E]*/
+    variable62 = NEW_Array_array___Array___with_capacity(TAG_Int(42)); /*new Array[Int]*/
     variable63 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62, variable63) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(24)) /*AbstractArray::add*/;
@@ -39362,7 +39362,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(715)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(812)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable62) /*AbstractArray::add*/;
-    variable63 = NEW_array___Array___with_capacity(TAG_Int(104)); /*new Array[E]*/
+    variable63 = NEW_Array_array___Array___with_capacity(TAG_Int(104)); /*new Array[Int]*/
     variable64 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63, variable64) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(99)) /*AbstractArray::add*/;
@@ -39469,7 +39469,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(1052)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable63) /*AbstractArray::add*/;
-    variable64 = NEW_array___Array___with_capacity(TAG_Int(454)); /*new Array[E]*/
+    variable64 = NEW_Array_array___Array___with_capacity(TAG_Int(454)); /*new Array[Int]*/
     variable65 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64, variable65) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(97)) /*AbstractArray::add*/;
@@ -39926,31 +39926,31 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1144)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1159)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable64) /*AbstractArray::add*/;
-    variable65 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable65 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable66 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable65,COLOR_abstract_collection___SimpleCollection___add))(variable65, variable66) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable65,COLOR_abstract_collection___SimpleCollection___add))(variable65,  TAG_Int(12)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable65) /*AbstractArray::add*/;
-    variable66 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable66 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable67 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66, variable67) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66,  TAG_Int(832)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66,  TAG_Int(842)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66,  TAG_Int(919)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable66) /*AbstractArray::add*/;
-    variable67 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable67 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable68 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable67,COLOR_abstract_collection___SimpleCollection___add))(variable67, variable68) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable67,COLOR_abstract_collection___SimpleCollection___add))(variable67,  TAG_Int(662)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable67,COLOR_abstract_collection___SimpleCollection___add))(variable67,  TAG_Int(1156)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable67,COLOR_abstract_collection___SimpleCollection___add))(variable67,  TAG_Int(1163)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable67) /*AbstractArray::add*/;
-    variable68 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable68 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable69 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable68,COLOR_abstract_collection___SimpleCollection___add))(variable68, variable69) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable68,COLOR_abstract_collection___SimpleCollection___add))(variable68,  TAG_Int(663)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable68) /*AbstractArray::add*/;
-    variable69 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
+    variable69 = NEW_Array_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
     variable70 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69, variable70) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(664)) /*AbstractArray::add*/;
@@ -39961,12 +39961,12 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(840)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(917)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable69) /*AbstractArray::add*/;
-    variable70 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable70 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable71 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable70,COLOR_abstract_collection___SimpleCollection___add))(variable70, variable71) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable70,COLOR_abstract_collection___SimpleCollection___add))(variable70,  TAG_Int(665)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable70) /*AbstractArray::add*/;
-    variable71 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+    variable71 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
     variable72 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71, variable72) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(666)) /*AbstractArray::add*/;
@@ -39987,7 +39987,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(851)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(928)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable71) /*AbstractArray::add*/;
-    variable72 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+    variable72 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
     variable73 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72, variable73) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(667)) /*AbstractArray::add*/;
@@ -39996,7 +39996,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(844)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(921)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable72) /*AbstractArray::add*/;
-    variable73 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+    variable73 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
     variable74 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73, variable74) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(668)) /*AbstractArray::add*/;
@@ -40011,17 +40011,17 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(854)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(931)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable73) /*AbstractArray::add*/;
-    variable74 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable74 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable75 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74, variable75) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74,  TAG_Int(669)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable74) /*AbstractArray::add*/;
-    variable75 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable75 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable76 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75, variable76) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75,  TAG_Int(670)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable75) /*AbstractArray::add*/;
-    variable76 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
+    variable76 = NEW_Array_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
     variable77 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76, variable77) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(620)) /*AbstractArray::add*/;
@@ -40032,7 +40032,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(1028)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(1074)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable76) /*AbstractArray::add*/;
-    variable77 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+    variable77 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
     variable78 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable78) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(621)) /*AbstractArray::add*/;
@@ -40041,46 +40041,46 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(907)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(980)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable77) /*AbstractArray::add*/;
-    variable78 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable78 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable79 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78, variable79) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78,  TAG_Int(562)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable78) /*AbstractArray::add*/;
-    variable79 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable79 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable80 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79, variable80) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79,  TAG_Int(563)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable79) /*AbstractArray::add*/;
-    variable80 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable80 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable81 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80, variable81) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(564)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable80) /*AbstractArray::add*/;
-    variable81 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable81 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable82 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81, variable82) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(565)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable81) /*AbstractArray::add*/;
-    variable82 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable82 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable83 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82, variable83) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(347)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(356)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(444)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable82) /*AbstractArray::add*/;
-    variable83 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable83 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable84 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83, variable84) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(123)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(973)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(1026)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable83) /*AbstractArray::add*/;
-    variable84 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable84 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable85 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84, variable85) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(124)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable84) /*AbstractArray::add*/;
-    variable85 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
+    variable85 = NEW_Array_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
     variable86 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85, variable86) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(125)) /*AbstractArray::add*/;
@@ -40091,12 +40091,12 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(354)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(442)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable85) /*AbstractArray::add*/;
-    variable86 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable86 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable87 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86, variable87) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86,  TAG_Int(126)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable86) /*AbstractArray::add*/;
-    variable87 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
+    variable87 = NEW_Array_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
     variable88 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87, variable88) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(127)) /*AbstractArray::add*/;
@@ -40117,7 +40117,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(365)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(453)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable87) /*AbstractArray::add*/;
-    variable88 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+    variable88 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
     variable89 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88, variable89) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(128)) /*AbstractArray::add*/;
@@ -40126,7 +40126,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(358)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(446)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable88) /*AbstractArray::add*/;
-    variable89 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+    variable89 = NEW_Array_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
     variable90 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89, variable90) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(129)) /*AbstractArray::add*/;
@@ -40141,90 +40141,90 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(368)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(456)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable89) /*AbstractArray::add*/;
-    variable90 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable90 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable91 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90, variable91) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(130)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable90) /*AbstractArray::add*/;
-    variable91 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable91 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable92 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91, variable92) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(131)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable91) /*AbstractArray::add*/;
-    variable92 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable92 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable93 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable93) /*AbstractArray::add*/;
     variable94 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable94) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable92) /*AbstractArray::add*/;
-    variable93 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable93 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable94 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93, variable94) /*AbstractArray::add*/;
     variable95 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93, variable95) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable93) /*AbstractArray::add*/;
-    variable94 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable94 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable95 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94, variable95) /*AbstractArray::add*/;
     variable96 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94, variable96) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable94) /*AbstractArray::add*/;
-    variable95 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable95 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable96 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable96) /*AbstractArray::add*/;
     variable97 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable97) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable95) /*AbstractArray::add*/;
-    variable96 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable96 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable97 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96, variable97) /*AbstractArray::add*/;
     variable98 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96, variable98) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable96) /*AbstractArray::add*/;
-    variable97 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable97 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable98 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97, variable98) /*AbstractArray::add*/;
     variable99 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97, variable99) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable97) /*AbstractArray::add*/;
-    variable98 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable98 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable99 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable99) /*AbstractArray::add*/;
     variable100 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable100) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable98) /*AbstractArray::add*/;
-    variable99 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable99 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable100 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99, variable100) /*AbstractArray::add*/;
     variable101 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99, variable101) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable99) /*AbstractArray::add*/;
-    variable100 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable100 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable101 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100, variable101) /*AbstractArray::add*/;
     variable102 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100, variable102) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable100) /*AbstractArray::add*/;
-    variable101 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable101 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable102 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable102) /*AbstractArray::add*/;
     variable103 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable103) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable101) /*AbstractArray::add*/;
-    variable102 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable102 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable103 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable103) /*AbstractArray::add*/;
     variable104 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable104) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable102) /*AbstractArray::add*/;
-    variable103 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable103 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable104 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103, variable104) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(13)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(4)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(20)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable103) /*AbstractArray::add*/;
-    variable104 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
+    variable104 = NEW_Array_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
     variable105 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104, variable105) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(14)) /*AbstractArray::add*/;
@@ -40235,7 +40235,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(20)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(91)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable104) /*AbstractArray::add*/;
-    variable105 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
+    variable105 = NEW_Array_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
     variable106 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105, variable106) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(511)) /*AbstractArray::add*/;
@@ -40246,12 +40246,12 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(534)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(612)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable105) /*AbstractArray::add*/;
-    variable106 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable106 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable107 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106, variable107) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(773)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable106) /*AbstractArray::add*/;
-    variable107 = NEW_array___Array___with_capacity(TAG_Int(16)); /*new Array[E]*/
+    variable107 = NEW_Array_array___Array___with_capacity(TAG_Int(16)); /*new Array[Int]*/
     variable108 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107, variable108) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(687)) /*AbstractArray::add*/;
@@ -40270,7 +40270,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(812)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(901)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable107) /*AbstractArray::add*/;
-    variable108 = NEW_array___Array___with_capacity(TAG_Int(16)); /*new Array[E]*/
+    variable108 = NEW_Array_array___Array___with_capacity(TAG_Int(16)); /*new Array[Int]*/
     variable109 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108, variable109) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(98)) /*AbstractArray::add*/;
@@ -40289,17 +40289,17 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(338)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(432)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable108) /*AbstractArray::add*/;
-    variable109 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable109 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable110 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109, variable110) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(675)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable109) /*AbstractArray::add*/;
-    variable110 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable110 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable111 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110, variable111) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(638)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable110) /*AbstractArray::add*/;
-    variable111 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
+    variable111 = NEW_Array_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
     variable112 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111, variable112) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(189)) /*AbstractArray::add*/;
@@ -40310,12 +40310,12 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(722)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(819)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable111) /*AbstractArray::add*/;
-    variable112 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable112 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable113 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112, variable113) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(199)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable112) /*AbstractArray::add*/;
-    variable113 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+    variable113 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
     variable114 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113, variable114) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(498)) /*AbstractArray::add*/;
@@ -40324,19 +40324,19 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(523)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(602)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable113) /*AbstractArray::add*/;
-    variable114 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    variable114 = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
     variable115 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114, variable115) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(75)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable114) /*AbstractArray::add*/;
-    variable115 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[E]*/
+    variable115 = NEW_Array_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
     variable116 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115, variable116) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115,  TAG_Int(15)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115,  TAG_Int(12)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115,  TAG_Int(76)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable115) /*AbstractArray::add*/;
-    variable116 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+    variable116 = NEW_Array_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
     variable117 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
     ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116, variable117) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(16)) /*AbstractArray::add*/;
@@ -40525,336 +40525,336 @@ val_t parser_tables___ParserTable___error_messages(val_t  self) {
   trace.file = LOCATE_parser_tables;
   if (once_bool_variable0_1170) variable0 = once_value_variable0_1170;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(165)); /*new Array[E]*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'package', 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(364)); /*new String*/
+    variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(165)); /*new Array[String]*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'package', 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(364)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
-    variable2 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'package', 'import', 'class', 'abstract', 'interface', 'universal', 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'do', 'readable', 'writable', 'var', 'protected', 'private', 'intrude', 'if', 'then', 'else', 'while', 'for', 'in', 'not', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'once', 'super', 'self', 'true', 'false', 'null', 'as', '(', ')', '[', ']', ',', '..', '-', classid, id, attrid, number, float, char, string, start string, mid string, end string, EOF"), TAG_Int(515)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'package', 'import', 'class', 'abstract', 'interface', 'universal', 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'do', 'readable', 'writable', 'var', 'protected', 'private', 'intrude', 'if', 'then', 'else', 'while', 'for', 'in', 'not', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'once', 'super', 'self', 'true', 'false', 'null', 'as', '(', ')', '[', ']', ',', '..', '-', classid, id, attrid, number, float, char, string, start string, mid string, end string, EOF"), TAG_Int(515)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*AbstractArray::add*/;
-    variable3 = NEW_string___String___with_native(BOX_NativeString("expecting: EOF"), TAG_Int(14)); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("expecting: EOF"), TAG_Int(14)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*AbstractArray::add*/;
-    variable4 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(353)); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(353)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable4) /*AbstractArray::add*/;
-    variable5 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(343)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(343)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable5) /*AbstractArray::add*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment"), TAG_Int(23)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment"), TAG_Int(23)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable6) /*AbstractArray::add*/;
-    variable7 = NEW_string___String___with_native(BOX_NativeString("expecting: 'package', 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(350)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'package', 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(350)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable7) /*AbstractArray::add*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString("expecting: 'package', 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(345)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'package', 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(345)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable8) /*AbstractArray::add*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString("expecting: comment, 'package', 'import', 'class', 'abstract', 'interface', 'universal', 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'do', 'readable', 'writable', 'var', 'protected', 'private', 'intrude', 'if', 'then', 'else', 'while', 'for', 'in', 'not', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'once', 'super', 'self', 'true', 'false', 'null', 'as', '(', ')', '[', ']', ',', '..', '-', classid, id, attrid, number, float, char, string, start string, mid string, end string, EOF"), TAG_Int(510)); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString("expecting: comment, 'package', 'import', 'class', 'abstract', 'interface', 'universal', 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'do', 'readable', 'writable', 'var', 'protected', 'private', 'intrude', 'if', 'then', 'else', 'while', 'for', 'in', 'not', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'once', 'super', 'self', 'true', 'false', 'null', 'as', '(', ')', '[', ']', ',', '..', '-', classid, id, attrid, number, float, char, string, start string, mid string, end string, EOF"), TAG_Int(510)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable9) /*AbstractArray::add*/;
-    variable10 = NEW_string___String___with_native(BOX_NativeString("expecting: 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(334)); /*new String*/
+    variable10 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(334)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable10) /*AbstractArray::add*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'import', 'class', 'abstract', 'interface', 'universal', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'do', 'readable', 'writable', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(400)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'import', 'class', 'abstract', 'interface', 'universal', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'do', 'readable', 'writable', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(400)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable11) /*AbstractArray::add*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(296)); /*new String*/
+    variable12 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(296)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable12) /*AbstractArray::add*/;
-    variable13 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, id"), TAG_Int(27)); /*new String*/
+    variable13 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, id"), TAG_Int(27)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable13) /*AbstractArray::add*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(197)); /*new String*/
+    variable14 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(197)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable14) /*AbstractArray::add*/;
-    variable15 = NEW_string___String___with_native(BOX_NativeString("expecting: 'class', 'abstract', 'interface', 'universal', 'meth', 'protected', 'private', 'intrude'"), TAG_Int(99)); /*new String*/
+    variable15 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'class', 'abstract', 'interface', 'universal', 'meth', 'protected', 'private', 'intrude'"), TAG_Int(99)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable15) /*AbstractArray::add*/;
-    variable16 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'do', 'var', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(246)); /*new String*/
+    variable16 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'do', 'var', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(246)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable16) /*AbstractArray::add*/;
-    variable17 = NEW_string___String___with_native(BOX_NativeString("expecting: id"), TAG_Int(13)); /*new String*/
+    variable17 = NEW_String_string___String___with_native(BOX_NativeString("expecting: id"), TAG_Int(13)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable17) /*AbstractArray::add*/;
-    variable18 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'type', 'attr', 'init'"), TAG_Int(112)); /*new String*/
+    variable18 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'type', 'attr', 'init'"), TAG_Int(112)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable18) /*AbstractArray::add*/;
-    variable19 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(180)); /*new String*/
+    variable19 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(180)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable19) /*AbstractArray::add*/;
-    variable20 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(192)); /*new String*/
+    variable20 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(192)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable20) /*AbstractArray::add*/;
-    variable21 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', EOF"), TAG_Int(35)); /*new String*/
+    variable21 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', EOF"), TAG_Int(35)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable21) /*AbstractArray::add*/;
-    variable22 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(166)); /*new String*/
+    variable22 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(166)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable22) /*AbstractArray::add*/;
-    variable23 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, classid"), TAG_Int(32)); /*new String*/
+    variable23 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, classid"), TAG_Int(32)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable23) /*AbstractArray::add*/;
-    variable24 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', ')', '[', ']', ',', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(204)); /*new String*/
+    variable24 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', ')', '[', ']', ',', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(204)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable24) /*AbstractArray::add*/;
-    variable25 = NEW_string___String___with_native(BOX_NativeString("expecting: '::'"), TAG_Int(15)); /*new String*/
+    variable25 = NEW_String_string___String___with_native(BOX_NativeString("expecting: '::'"), TAG_Int(15)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable25) /*AbstractArray::add*/;
-    variable26 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '::', '=', '+=', '-=', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(220)); /*new String*/
+    variable26 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '::', '=', '+=', '-=', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(220)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable26) /*AbstractArray::add*/;
-    variable27 = NEW_string___String___with_native(BOX_NativeString("expecting: '[', '=', '+=', '-=', '.'"), TAG_Int(36)); /*new String*/
+    variable27 = NEW_String_string___String___with_native(BOX_NativeString("expecting: '[', '=', '+=', '-=', '.'"), TAG_Int(36)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable27) /*AbstractArray::add*/;
-    variable28 = NEW_string___String___with_native(BOX_NativeString("expecting: 'import', 'class', 'abstract', 'interface', 'universal', 'meth'"), TAG_Int(74)); /*new String*/
+    variable28 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'import', 'class', 'abstract', 'interface', 'universal', 'meth'"), TAG_Int(74)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable28) /*AbstractArray::add*/;
-    variable29 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, EOF"), TAG_Int(28)); /*new String*/
+    variable29 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, EOF"), TAG_Int(28)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable29) /*AbstractArray::add*/;
-    variable30 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'do'"), TAG_Int(29)); /*new String*/
+    variable30 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'do'"), TAG_Int(29)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable30) /*AbstractArray::add*/;
-    variable31 = NEW_string___String___with_native(BOX_NativeString("expecting: '[', '.'"), TAG_Int(19)); /*new String*/
+    variable31 = NEW_String_string___String___with_native(BOX_NativeString("expecting: '[', '.'"), TAG_Int(19)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable31) /*AbstractArray::add*/;
-    variable32 = NEW_string___String___with_native(BOX_NativeString("expecting: mid string, end string"), TAG_Int(33)); /*new String*/
+    variable32 = NEW_String_string___String___with_native(BOX_NativeString("expecting: mid string, end string"), TAG_Int(33)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable32) /*AbstractArray::add*/;
-    variable33 = NEW_string___String___with_native(BOX_NativeString("expecting: 'super'"), TAG_Int(18)); /*new String*/
+    variable33 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'super'"), TAG_Int(18)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable33) /*AbstractArray::add*/;
-    variable34 = NEW_string___String___with_native(BOX_NativeString("expecting: 'super', classid, id"), TAG_Int(31)); /*new String*/
+    variable34 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'super', classid, id"), TAG_Int(31)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable34) /*AbstractArray::add*/;
-    variable35 = NEW_string___String___with_native(BOX_NativeString("expecting: 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(324)); /*new String*/
+    variable35 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'class', 'abstract', 'interface', 'universal', 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(324)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable35) /*AbstractArray::add*/;
-    variable36 = NEW_string___String___with_native(BOX_NativeString("expecting: 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(277)); /*new String*/
+    variable36 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'meth', 'init', 'redef', 'do', 'var', 'protected', 'private', 'intrude', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(277)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable36) /*AbstractArray::add*/;
-    variable37 = NEW_string___String___with_native(BOX_NativeString("expecting: 'import', 'class', 'abstract', 'interface', 'universal', 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'do', 'readable', 'writable', 'protected', 'private', 'intrude', 'if', 'then', 'else', 'in', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', 'as', '(', ')', '[', ']', ',', '..', '-', classid, id, attrid, number, float, char, string, start string, mid string, end string"), TAG_Int(412)); /*new String*/
+    variable37 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'import', 'class', 'abstract', 'interface', 'universal', 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'do', 'readable', 'writable', 'protected', 'private', 'intrude', 'if', 'then', 'else', 'in', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', 'as', '(', ')', '[', ']', ',', '..', '-', classid, id, attrid, number, float, char, string, start string, mid string, end string"), TAG_Int(412)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable37) /*AbstractArray::add*/;
-    variable38 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '(', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(145)); /*new String*/
+    variable38 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '(', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(145)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable38) /*AbstractArray::add*/;
-    variable39 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(164)); /*new String*/
+    variable39 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(164)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable39) /*AbstractArray::add*/;
-    variable40 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(157)); /*new String*/
+    variable40 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(157)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable40) /*AbstractArray::add*/;
-    variable41 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(140)); /*new String*/
+    variable41 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(140)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable41) /*AbstractArray::add*/;
-    variable42 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', ')', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(185)); /*new String*/
+    variable42 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', ')', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(185)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable42) /*AbstractArray::add*/;
-    variable43 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '(', '::', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(151)); /*new String*/
+    variable43 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '(', '::', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(151)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable43) /*AbstractArray::add*/;
-    variable44 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', EOF"), TAG_Int(43)); /*new String*/
+    variable44 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', EOF"), TAG_Int(43)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable44) /*AbstractArray::add*/;
-    variable45 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', 'and', 'or', EOF"), TAG_Int(56)); /*new String*/
+    variable45 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', 'and', 'or', EOF"), TAG_Int(56)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable45) /*AbstractArray::add*/;
-    variable46 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '+', '-', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(120)); /*new String*/
+    variable46 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '+', '-', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(120)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable46) /*AbstractArray::add*/;
-    variable47 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(135)); /*new String*/
+    variable47 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(135)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable47) /*AbstractArray::add*/;
-    variable48 = NEW_string___String___with_native(BOX_NativeString("expecting: 'class', 'abstract', 'interface', 'universal', 'meth'"), TAG_Int(64)); /*new String*/
+    variable48 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'class', 'abstract', 'interface', 'universal', 'meth'"), TAG_Int(64)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable48) /*AbstractArray::add*/;
-    variable49 = NEW_string___String___with_native(BOX_NativeString("expecting: 'end', 'init', 'do', 'var', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(232)); /*new String*/
+    variable49 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'end', 'init', 'do', 'var', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(232)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable49) /*AbstractArray::add*/;
-    variable50 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', ':', '=', EOF"), TAG_Int(53)); /*new String*/
+    variable50 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', ':', '=', EOF"), TAG_Int(53)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable50) /*AbstractArray::add*/;
-    variable51 = NEW_string___String___with_native(BOX_NativeString("expecting: 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'type', 'attr', 'init'"), TAG_Int(98)); /*new String*/
+    variable51 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'import', 'class', 'abstract', 'interface', 'universal', 'meth', 'type', 'attr', 'init'"), TAG_Int(98)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable51) /*AbstractArray::add*/;
-    variable52 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', '(', ')', '[', ']', ',', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(209)); /*new String*/
+    variable52 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', '(', ')', '[', ']', ',', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(209)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable52) /*AbstractArray::add*/;
-    variable53 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(174)); /*new String*/
+    variable53 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(174)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable53) /*AbstractArray::add*/;
-    variable54 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(167)); /*new String*/
+    variable54 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(167)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable54) /*AbstractArray::add*/;
-    variable55 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', '(', ')', '[', ']', ',', '::', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(215)); /*new String*/
+    variable55 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', '(', ')', '[', ']', ',', '::', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(215)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable55) /*AbstractArray::add*/;
-    variable56 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'do', 'then', 'else', 'and', 'or', ')', ']', ',', '..', mid string, end string, EOF"), TAG_Int(115)); /*new String*/
+    variable56 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'do', 'then', 'else', 'and', 'or', ')', ']', ',', '..', mid string, end string, EOF"), TAG_Int(115)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable56) /*AbstractArray::add*/;
-    variable57 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', ')', ']', ',', '..', '+', '-', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(179)); /*new String*/
+    variable57 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', ')', ']', ',', '..', '+', '-', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(179)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable57) /*AbstractArray::add*/;
-    variable58 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', ')', ']', ',', '..', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(194)); /*new String*/
+    variable58 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', ')', ']', ',', '..', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(194)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable58) /*AbstractArray::add*/;
-    variable59 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '(', '[', ':', '::', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(161)); /*new String*/
+    variable59 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '(', '[', ':', '::', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(161)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable59) /*AbstractArray::add*/;
-    variable60 = NEW_string___String___with_native(BOX_NativeString("expecting: classid"), TAG_Int(18)); /*new String*/
+    variable60 = NEW_String_string___String___with_native(BOX_NativeString("expecting: classid"), TAG_Int(18)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable60) /*AbstractArray::add*/;
-    variable61 = NEW_string___String___with_native(BOX_NativeString("expecting: ')'"), TAG_Int(14)); /*new String*/
+    variable61 = NEW_String_string___String___with_native(BOX_NativeString("expecting: ')'"), TAG_Int(14)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable61) /*AbstractArray::add*/;
-    variable62 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'super'"), TAG_Int(32)); /*new String*/
+    variable62 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'super'"), TAG_Int(32)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable62) /*AbstractArray::add*/;
-    variable63 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'super', classid, id"), TAG_Int(45)); /*new String*/
+    variable63 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'super', classid, id"), TAG_Int(45)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable63) /*AbstractArray::add*/;
-    variable64 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', id"), TAG_Int(34)); /*new String*/
+    variable64 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', id"), TAG_Int(34)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable64) /*AbstractArray::add*/;
-    variable65 = NEW_string___String___with_native(BOX_NativeString("expecting: 'class'"), TAG_Int(18)); /*new String*/
+    variable65 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'class'"), TAG_Int(18)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable65) /*AbstractArray::add*/;
-    variable66 = NEW_string___String___with_native(BOX_NativeString("expecting: '[', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', id"), TAG_Int(84)); /*new String*/
+    variable66 = NEW_String_string___String___with_native(BOX_NativeString("expecting: '[', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', id"), TAG_Int(84)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable66) /*AbstractArray::add*/;
-    variable67 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'do', 'var', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(230)); /*new String*/
+    variable67 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'do', 'var', 'if', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(230)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable67) /*AbstractArray::add*/;
-    variable68 = NEW_string___String___with_native(BOX_NativeString("expecting: 'do'"), TAG_Int(15)); /*new String*/
+    variable68 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'do'"), TAG_Int(15)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable68) /*AbstractArray::add*/;
-    variable69 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'as', id, attrid"), TAG_Int(49)); /*new String*/
+    variable69 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'as', id, attrid"), TAG_Int(49)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable69) /*AbstractArray::add*/;
-    variable70 = NEW_string___String___with_native(BOX_NativeString("expecting: 'meth', 'protected', 'private', 'intrude'"), TAG_Int(52)); /*new String*/
+    variable70 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'meth', 'protected', 'private', 'intrude'"), TAG_Int(52)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable70) /*AbstractArray::add*/;
-    variable71 = NEW_string___String___with_native(BOX_NativeString("expecting: 'meth'"), TAG_Int(17)); /*new String*/
+    variable71 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'meth'"), TAG_Int(17)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable71) /*AbstractArray::add*/;
-    variable72 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(150)); /*new String*/
+    variable72 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(150)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable72) /*AbstractArray::add*/;
-    variable73 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(143)); /*new String*/
+    variable73 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(143)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable73) /*AbstractArray::add*/;
-    variable74 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', ')', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(171)); /*new String*/
+    variable74 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', ')', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(171)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable74) /*AbstractArray::add*/;
-    variable75 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', '=', EOF"), TAG_Int(48)); /*new String*/
+    variable75 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', '=', EOF"), TAG_Int(48)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable75) /*AbstractArray::add*/;
-    variable76 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'then'"), TAG_Int(31)); /*new String*/
+    variable76 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'then'"), TAG_Int(31)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable76) /*AbstractArray::add*/;
-    variable77 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'in'"), TAG_Int(29)); /*new String*/
+    variable77 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'in'"), TAG_Int(29)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable77) /*AbstractArray::add*/;
-    variable78 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(160)); /*new String*/
+    variable78 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(160)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable78) /*AbstractArray::add*/;
-    variable79 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(153)); /*new String*/
+    variable79 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(153)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable79) /*AbstractArray::add*/;
-    variable80 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'is', 'do', 'readable', 'writable', 'protected', 'private', 'intrude', 'then', 'else', 'and', 'or', 'isa', '(', ')', '[', ']', ',', '=', '...', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(332)); /*new String*/
+    variable80 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'is', 'do', 'readable', 'writable', 'protected', 'private', 'intrude', 'then', 'else', 'and', 'or', 'isa', '(', ')', '[', ']', ',', '=', '...', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(332)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable80) /*AbstractArray::add*/;
-    variable81 = NEW_string___String___with_native(BOX_NativeString("expecting: '.'"), TAG_Int(14)); /*new String*/
+    variable81 = NEW_String_string___String___with_native(BOX_NativeString("expecting: '.'"), TAG_Int(14)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable81) /*AbstractArray::add*/;
-    variable82 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, ']', ',', '..'"), TAG_Int(39)); /*new String*/
+    variable82 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, ']', ',', '..'"), TAG_Int(39)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable82) /*AbstractArray::add*/;
-    variable83 = NEW_string___String___with_native(BOX_NativeString("expecting: 'end', id"), TAG_Int(20)); /*new String*/
+    variable83 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'end', id"), TAG_Int(20)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable83) /*AbstractArray::add*/;
-    variable84 = NEW_string___String___with_native(BOX_NativeString("expecting: ']'"), TAG_Int(14)); /*new String*/
+    variable84 = NEW_String_string___String___with_native(BOX_NativeString("expecting: ']'"), TAG_Int(14)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable84) /*AbstractArray::add*/;
-    variable85 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'do', '(', ':'"), TAG_Int(45)); /*new String*/
+    variable85 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'do', '(', ':'"), TAG_Int(45)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable85) /*AbstractArray::add*/;
-    variable86 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'do', '(', ':', '='"), TAG_Int(50)); /*new String*/
+    variable86 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'do', '(', ':', '='"), TAG_Int(50)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable86) /*AbstractArray::add*/;
-    variable87 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'as', id, attrid"), TAG_Int(35)); /*new String*/
+    variable87 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'as', id, attrid"), TAG_Int(35)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable87) /*AbstractArray::add*/;
-    variable88 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, mid string, end string"), TAG_Int(47)); /*new String*/
+    variable88 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, mid string, end string"), TAG_Int(47)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable88) /*AbstractArray::add*/;
-    variable89 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '(', '[', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(150)); /*new String*/
+    variable89 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'else', 'and', 'or', 'isa', '(', '[', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', EOF"), TAG_Int(150)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable89) /*AbstractArray::add*/;
-    variable90 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', '[', '=', '+=', '-=', '.', EOF"), TAG_Int(70)); /*new String*/
+    variable90 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', '[', '=', '+=', '-=', '.', EOF"), TAG_Int(70)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable90) /*AbstractArray::add*/;
-    variable91 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')', ','"), TAG_Int(33)); /*new String*/
+    variable91 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')', ','"), TAG_Int(33)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable91) /*AbstractArray::add*/;
-    variable92 = NEW_string___String___with_native(BOX_NativeString("expecting: 'then'"), TAG_Int(17)); /*new String*/
+    variable92 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'then'"), TAG_Int(17)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable92) /*AbstractArray::add*/;
-    variable93 = NEW_string___String___with_native(BOX_NativeString("expecting: 'in'"), TAG_Int(15)); /*new String*/
+    variable93 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'in'"), TAG_Int(15)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable93) /*AbstractArray::add*/;
-    variable94 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', '(', ')', ']', ',', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(204)); /*new String*/
+    variable94 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', '(', ')', ']', ',', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(204)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable94) /*AbstractArray::add*/;
-    variable95 = NEW_string___String___with_native(BOX_NativeString("expecting: ']', ',', '..'"), TAG_Int(25)); /*new String*/
+    variable95 = NEW_String_string___String___with_native(BOX_NativeString("expecting: ']', ',', '..'"), TAG_Int(25)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable95) /*AbstractArray::add*/;
-    variable96 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')', id"), TAG_Int(32)); /*new String*/
+    variable96 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')', id"), TAG_Int(32)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable96) /*AbstractArray::add*/;
-    variable97 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'do'"), TAG_Int(35)); /*new String*/
+    variable97 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'do'"), TAG_Int(35)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable97) /*AbstractArray::add*/;
-    variable98 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'do', ':'"), TAG_Int(40)); /*new String*/
+    variable98 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'do', ':'"), TAG_Int(40)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable98) /*AbstractArray::add*/;
-    variable99 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'readable', 'writable', 'protected', 'private', 'intrude', '['"), TAG_Int(146)); /*new String*/
+    variable99 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'readable', 'writable', 'protected', 'private', 'intrude', '['"), TAG_Int(146)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable99) /*AbstractArray::add*/;
-    variable100 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, ']', ','"), TAG_Int(33)); /*new String*/
+    variable100 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, ']', ','"), TAG_Int(33)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable100) /*AbstractArray::add*/;
-    variable101 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, '('"), TAG_Int(28)); /*new String*/
+    variable101 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, '('"), TAG_Int(28)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable101) /*AbstractArray::add*/;
-    variable102 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '=', '+=', '-=', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(214)); /*new String*/
+    variable102 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '=', '+=', '-=', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(214)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable102) /*AbstractArray::add*/;
-    variable103 = NEW_string___String___with_native(BOX_NativeString("expecting: ')', ','"), TAG_Int(19)); /*new String*/
+    variable103 = NEW_String_string___String___with_native(BOX_NativeString("expecting: ')', ','"), TAG_Int(19)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable103) /*AbstractArray::add*/;
-    variable104 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', 'and', 'or', '+', '-', EOF"), TAG_Int(66)); /*new String*/
+    variable104 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'else', 'and', 'or', '+', '-', EOF"), TAG_Int(66)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable104) /*AbstractArray::add*/;
-    variable105 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'else', ')', ']', ',', '=', '...', EOF"), TAG_Int(82)); /*new String*/
+    variable105 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'else', ')', ']', ',', '=', '...', EOF"), TAG_Int(82)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable105) /*AbstractArray::add*/;
-    variable106 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'do', 'var', 'if', 'else', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(254)); /*new String*/
+    variable106 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'do', 'var', 'if', 'else', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(254)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable106) /*AbstractArray::add*/;
-    variable107 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'do', 'then', 'else', 'and', 'or', ')', ']', ',', '..', '+', '-', mid string, end string, EOF"), TAG_Int(125)); /*new String*/
+    variable107 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'do', 'then', 'else', 'and', 'or', ')', ']', ',', '..', '+', '-', mid string, end string, EOF"), TAG_Int(125)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable107) /*AbstractArray::add*/;
-    variable108 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', ')', '[', ']', ',', '=', '+=', '-=', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(221)); /*new String*/
+    variable108 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'is', 'do', 'then', 'else', 'and', 'or', 'isa', ')', '[', ']', ',', '=', '+=', '-=', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(221)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable108) /*AbstractArray::add*/;
-    variable109 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(175)); /*new String*/
+    variable109 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(175)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable109) /*AbstractArray::add*/;
-    variable110 = NEW_string___String___with_native(BOX_NativeString("expecting: ')', ']', ','"), TAG_Int(24)); /*new String*/
+    variable110 = NEW_String_string___String___with_native(BOX_NativeString("expecting: ')', ']', ','"), TAG_Int(24)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable110) /*AbstractArray::add*/;
-    variable111 = NEW_string___String___with_native(BOX_NativeString("expecting: ']', ','"), TAG_Int(19)); /*new String*/
+    variable111 = NEW_String_string___String___with_native(BOX_NativeString("expecting: ']', ','"), TAG_Int(19)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable111) /*AbstractArray::add*/;
-    variable112 = NEW_string___String___with_native(BOX_NativeString("expecting: ')', id"), TAG_Int(18)); /*new String*/
+    variable112 = NEW_String_string___String___with_native(BOX_NativeString("expecting: ')', id"), TAG_Int(18)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable112) /*AbstractArray::add*/;
-    variable113 = NEW_string___String___with_native(BOX_NativeString("expecting: 'extern'"), TAG_Int(19)); /*new String*/
+    variable113 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'extern'"), TAG_Int(19)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable113) /*AbstractArray::add*/;
-    variable114 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'readable', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(141)); /*new String*/
+    variable114 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'readable', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(141)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable114) /*AbstractArray::add*/;
-    variable115 = NEW_string___String___with_native(BOX_NativeString("expecting: 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'readable', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(127)); /*new String*/
+    variable115 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'readable', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(127)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable115) /*AbstractArray::add*/;
-    variable116 = NEW_string___String___with_native(BOX_NativeString("expecting: '('"), TAG_Int(14)); /*new String*/
+    variable116 = NEW_String_string___String___with_native(BOX_NativeString("expecting: '('"), TAG_Int(14)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable116) /*AbstractArray::add*/;
-    variable117 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'else', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(205)); /*new String*/
+    variable117 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'else', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(205)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable117) /*AbstractArray::add*/;
-    variable118 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'else', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(200)); /*new String*/
+    variable118 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'else', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(200)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable118) /*AbstractArray::add*/;
-    variable119 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'else', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '::', '=', '+=', '-=', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(228)); /*new String*/
+    variable119 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'else', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '::', '=', '+=', '-=', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(228)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable119) /*AbstractArray::add*/;
-    variable120 = NEW_string___String___with_native(BOX_NativeString("expecting: 'end', 'init', 'do', 'var', 'if', 'else', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(240)); /*new String*/
+    variable120 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'end', 'init', 'do', 'var', 'if', 'else', 'while', 'for', 'return', 'continue', 'break', 'abort', 'assert', 'new', 'super', 'self', 'true', 'false', 'null', '(', '[', classid, id, attrid, number, float, char, string, start string"), TAG_Int(240)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable120) /*AbstractArray::add*/;
-    variable121 = NEW_string___String___with_native(BOX_NativeString("expecting: 'else'"), TAG_Int(17)); /*new String*/
+    variable121 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'else'"), TAG_Int(17)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable121) /*AbstractArray::add*/;
-    variable122 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, ']'"), TAG_Int(28)); /*new String*/
+    variable122 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, ']'"), TAG_Int(28)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable122) /*AbstractArray::add*/;
-    variable123 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(161)); /*new String*/
+    variable123 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(161)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable123) /*AbstractArray::add*/;
-    variable124 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')', ',', ':'"), TAG_Int(38)); /*new String*/
+    variable124 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')', ',', ':'"), TAG_Int(38)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable124) /*AbstractArray::add*/;
-    variable125 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, string"), TAG_Int(31)); /*new String*/
+    variable125 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, string"), TAG_Int(31)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable125) /*AbstractArray::add*/;
-    variable126 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'meth', 'type', 'attr', 'init', 'redef', 'readable', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(130)); /*new String*/
+    variable126 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'meth', 'type', 'attr', 'init', 'redef', 'readable', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(130)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable126) /*AbstractArray::add*/;
-    variable127 = NEW_string___String___with_native(BOX_NativeString("expecting: 'meth', 'type', 'attr', 'init', 'readable', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(100)); /*new String*/
+    variable127 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'meth', 'type', 'attr', 'init', 'readable', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(100)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable127) /*AbstractArray::add*/;
-    variable128 = NEW_string___String___with_native(BOX_NativeString("expecting: 'attr', 'redef', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(73)); /*new String*/
+    variable128 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'attr', 'redef', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(73)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable128) /*AbstractArray::add*/;
-    variable129 = NEW_string___String___with_native(BOX_NativeString("expecting: 'attr', 'redef', 'protected', 'private', 'intrude'"), TAG_Int(61)); /*new String*/
+    variable129 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'attr', 'redef', 'protected', 'private', 'intrude'"), TAG_Int(61)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable129) /*AbstractArray::add*/;
-    variable130 = NEW_string___String___with_native(BOX_NativeString("expecting: 'meth', 'type', 'attr', 'init'"), TAG_Int(41)); /*new String*/
+    variable130 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'meth', 'type', 'attr', 'init'"), TAG_Int(41)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable130) /*AbstractArray::add*/;
-    variable131 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')', ']', ','"), TAG_Int(38)); /*new String*/
+    variable131 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')', ']', ','"), TAG_Int(38)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable131) /*AbstractArray::add*/;
-    variable132 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'and', 'or', 'isa', '(', '[', ']', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>'"), TAG_Int(135)); /*new String*/
+    variable132 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'and', 'or', 'isa', '(', '[', ']', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>'"), TAG_Int(135)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable132) /*AbstractArray::add*/;
-    variable133 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(169)); /*new String*/
+    variable133 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(169)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable133) /*AbstractArray::add*/;
-    variable134 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(162)); /*new String*/
+    variable134 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(162)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable134) /*AbstractArray::add*/;
-    variable135 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'and', 'or', 'isa', '[', ']', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>'"), TAG_Int(130)); /*new String*/
+    variable135 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'and', 'or', 'isa', '[', ']', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>'"), TAG_Int(130)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable135) /*AbstractArray::add*/;
-    variable136 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'and', 'or', 'isa', '(', '[', ']', '::', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>'"), TAG_Int(141)); /*new String*/
+    variable136 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'and', 'or', 'isa', '(', '[', ']', '::', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>'"), TAG_Int(141)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable136) /*AbstractArray::add*/;
-    variable137 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, '[', ']'"), TAG_Int(33)); /*new String*/
+    variable137 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, '[', ']'"), TAG_Int(33)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable137) /*AbstractArray::add*/;
-    variable138 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'and', 'or', '[', ']'"), TAG_Int(46)); /*new String*/
+    variable138 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'and', 'or', '[', ']'"), TAG_Int(46)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable138) /*AbstractArray::add*/;
-    variable139 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'and', 'or', 'isa', '[', ']', '+', '-', '==', '!=', '<', '<=', '>', '>=', '<=>'"), TAG_Int(110)); /*new String*/
+    variable139 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'and', 'or', 'isa', '[', ']', '+', '-', '==', '!=', '<', '<=', '>', '>=', '<=>'"), TAG_Int(110)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable139) /*AbstractArray::add*/;
-    variable140 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'and', 'or', 'isa', '[', ']', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>'"), TAG_Int(125)); /*new String*/
+    variable140 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'is', 'and', 'or', 'isa', '[', ']', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>'"), TAG_Int(125)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable140) /*AbstractArray::add*/;
-    variable141 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')', ',', '...'"), TAG_Int(40)); /*new String*/
+    variable141 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')', ',', '...'"), TAG_Int(40)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable141) /*AbstractArray::add*/;
-    variable142 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, ']', ',', ':'"), TAG_Int(38)); /*new String*/
+    variable142 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, ']', ',', ':'"), TAG_Int(38)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable142) /*AbstractArray::add*/;
-    variable143 = NEW_string___String___with_native(BOX_NativeString("expecting: 'end', 'meth', 'type', 'attr', 'init', 'redef', 'readable', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(116)); /*new String*/
+    variable143 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'end', 'meth', 'type', 'attr', 'init', 'redef', 'readable', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(116)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable143) /*AbstractArray::add*/;
-    variable144 = NEW_string___String___with_native(BOX_NativeString("expecting: 'attr', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(64)); /*new String*/
+    variable144 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'attr', 'writable', 'protected', 'private', 'intrude'"), TAG_Int(64)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable144) /*AbstractArray::add*/;
-    variable145 = NEW_string___String___with_native(BOX_NativeString("expecting: 'attr'"), TAG_Int(17)); /*new String*/
+    variable145 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'attr'"), TAG_Int(17)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable145) /*AbstractArray::add*/;
-    variable146 = NEW_string___String___with_native(BOX_NativeString("expecting: 'attr', 'protected', 'private', 'intrude'"), TAG_Int(52)); /*new String*/
+    variable146 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'attr', 'protected', 'private', 'intrude'"), TAG_Int(52)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable146) /*AbstractArray::add*/;
-    variable147 = NEW_string___String___with_native(BOX_NativeString("expecting: attrid"), TAG_Int(17)); /*new String*/
+    variable147 = NEW_String_string___String___with_native(BOX_NativeString("expecting: attrid"), TAG_Int(17)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable147) /*AbstractArray::add*/;
-    variable148 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'do', '(', '[', ':', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', id"), TAG_Int(114)); /*new String*/
+    variable148 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'do', '(', '[', ':', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', id"), TAG_Int(114)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable148) /*AbstractArray::add*/;
-    variable149 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'else'"), TAG_Int(31)); /*new String*/
+    variable149 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'else'"), TAG_Int(31)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable149) /*AbstractArray::add*/;
-    variable150 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'is', 'do', 'readable', 'writable', 'protected', 'private', 'intrude', 'then', 'else', 'and', 'or', 'isa', '(', ')', ']', ',', '=', '...', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(327)); /*new String*/
+    variable150 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'special', 'end', 'meth', 'type', 'attr', 'init', 'redef', 'is', 'do', 'readable', 'writable', 'protected', 'private', 'intrude', 'then', 'else', 'and', 'or', 'isa', '(', ')', ']', ',', '=', '...', '..', '.', '+', '-', '*', '/', '%', '==', '!=', '<', '<=', '>', '>=', '<=>', mid string, end string, EOF"), TAG_Int(327)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable150) /*AbstractArray::add*/;
-    variable151 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(155)); /*new String*/
+    variable151 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(155)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable151) /*AbstractArray::add*/;
-    variable152 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(148)); /*new String*/
+    variable152 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(148)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable152) /*AbstractArray::add*/;
-    variable153 = NEW_string___String___with_native(BOX_NativeString("expecting: '[', ']'"), TAG_Int(19)); /*new String*/
+    variable153 = NEW_String_string___String___with_native(BOX_NativeString("expecting: '[', ']'"), TAG_Int(19)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable153) /*AbstractArray::add*/;
-    variable154 = NEW_string___String___with_native(BOX_NativeString("expecting: ':'"), TAG_Int(14)); /*new String*/
+    variable154 = NEW_String_string___String___with_native(BOX_NativeString("expecting: ':'"), TAG_Int(14)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable154) /*AbstractArray::add*/;
-    variable155 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, ':', '='"), TAG_Int(33)); /*new String*/
+    variable155 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, ':', '='"), TAG_Int(33)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable155) /*AbstractArray::add*/;
-    variable156 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'do', '(', ':'"), TAG_Int(39)); /*new String*/
+    variable156 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'do', '(', ':'"), TAG_Int(39)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable156) /*AbstractArray::add*/;
-    variable157 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')'"), TAG_Int(28)); /*new String*/
+    variable157 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, ')'"), TAG_Int(28)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable157) /*AbstractArray::add*/;
-    variable158 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'else', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '=', '+=', '-=', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(222)); /*new String*/
+    variable158 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'init', 'if', 'else', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '(', '[', '=', '+=', '-=', '.', '-', classid, id, attrid, number, float, char, string, start string, EOF"), TAG_Int(222)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable158) /*AbstractArray::add*/;
-    variable159 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, '='"), TAG_Int(28)); /*new String*/
+    variable159 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, '='"), TAG_Int(28)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable159) /*AbstractArray::add*/;
-    variable160 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(170)); /*new String*/
+    variable160 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(170)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable160) /*AbstractArray::add*/;
-    variable161 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'and', 'or', '[', ']', '+', '-'"), TAG_Int(56)); /*new String*/
+    variable161 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'and', 'or', '[', ']', '+', '-'"), TAG_Int(56)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable161) /*AbstractArray::add*/;
-    variable162 = NEW_string___String___with_native(BOX_NativeString("expecting: 'abstract', 'intern', 'extern'"), TAG_Int(41)); /*new String*/
+    variable162 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'abstract', 'intern', 'extern'"), TAG_Int(41)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable162) /*AbstractArray::add*/;
-    variable163 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(156)); /*new String*/
+    variable163 = NEW_String_string___String___with_native(BOX_NativeString("expecting: 'init', 'if', 'not', 'new', 'once', 'super', 'self', 'true', 'false', 'null', '-', classid, id, attrid, number, float, char, string, start string"), TAG_Int(156)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable163) /*AbstractArray::add*/;
-    variable164 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end'"), TAG_Int(30)); /*new String*/
+    variable164 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end'"), TAG_Int(30)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable164) /*AbstractArray::add*/;
-    variable165 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'do', 'then', 'else', ')', ']', ',', '..', mid string, end string, EOF"), TAG_Int(102)); /*new String*/
+    variable165 = NEW_String_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'end', 'do', 'then', 'else', ')', ']', ',', '..', mid string, end string, EOF"), TAG_Int(102)); /*new String*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable165) /*AbstractArray::add*/;
     once_value_variable0_1170 = variable0;
     once_bool_variable0_1170 = true;
@@ -40872,7 +40872,7 @@ val_t parser_tables___ParserTable___errors(val_t  self) {
   trace.file = LOCATE_parser_tables;
   if (once_bool_variable0_1172) variable0 = once_value_variable0_1172;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(1165)); /*new Array[E]*/
+    variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(1165)); /*new Array[Int]*/
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
     ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*AbstractArray::add*/;
@@ -42046,3 +42046,10 @@ val_t parser_tables___ParserTable___errors(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
+void parser_tables___ParserTable___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_parser_tables___ParserTable___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
+  tracehead = trace.prev;
+  return;
+}
index 6a4144f..f41a227 100644 (file)
@@ -1181,6 +1181,7 @@ extern const int SFT_parser_tables[];
 #define COLOR_parser_tables___ParserTable___build_goto_table SFT_parser_tables[1171]
 #define COLOR_parser_tables___ParserTable___error_messages SFT_parser_tables[1172]
 #define COLOR_parser_tables___ParserTable___errors SFT_parser_tables[1173]
+#define COLOR_parser_tables___ParserTable___init SFT_parser_tables[1174]
 #define ATTR_parser_tables___ParserTable____action_table(recv) ATTR(recv, COLOR_parser_tables___ParserTable____action_table)
 typedef void (* parser_tables___ParserTable___build_action_table_t)(val_t  self);
 void parser_tables___ParserTable___build_action_table(val_t  self);
@@ -4690,4 +4691,8 @@ val_t parser_tables___ParserTable___error_messages(val_t  self);
 typedef val_t (* parser_tables___ParserTable___errors_t)(val_t  self);
 val_t parser_tables___ParserTable___errors(val_t  self);
 #define LOCATE_parser_tables___ParserTable___errors "parser_tables::ParserTable::errors"
+typedef void (* parser_tables___ParserTable___init_t)(val_t  self, int* init_table);
+void parser_tables___ParserTable___init(val_t  self, int* init_table);
+val_t NEW_parser_tables___ParserTable___init();
+#define LOCATE_parser_tables___ParserTable___init "parser_tables::ParserTable::init"
 #endif
index 1715444..9a412c5 100644 (file)
@@ -142,7 +142,7 @@ val_t partial_order___PartialOrder___to_dot(val_t  self) {
       val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_partial_order;
-  variable1 = NEW_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
   variable0 = variable1;
   variable1 = ((partial_order___PartialOrder___to_dot_header_t)CALL( self,COLOR_partial_order___PartialOrder___to_dot_header))( self) /*PartialOrder::to_dot_header*/;
   ((string___String___append_t)CALL( variable0 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable0 /*s*/, variable1) /*String::append*/;
@@ -172,7 +172,7 @@ val_t partial_order___PartialOrder___to_dot(val_t  self) {
     ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
   }
   break_9: while(0);
-  variable1 = NEW_string___String___with_native(BOX_NativeString("}\n"), TAG_Int(2)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("}\n"), TAG_Int(2)); /*new String*/
   ((string___String___append_t)CALL( variable0 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable0 /*s*/, variable1) /*String::append*/;
   variable0 =  variable0 /*s*/;
   goto return_label8;
@@ -185,7 +185,7 @@ val_t partial_order___PartialOrder___to_dot_header(val_t  self) {
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_partial_order;
-  variable0 = NEW_string___String___with_native(BOX_NativeString("digraph G {\ngraph [rankdir=BT];\n"), TAG_Int(32)); /*new String*/
+  variable0 = NEW_String_string___String___with_native(BOX_NativeString("digraph G {\ngraph [rankdir=BT];\n"), TAG_Int(32)); /*new String*/
   goto return_label11;
   return_label11: while(false);
   tracehead = trace.prev;
@@ -203,14 +203,14 @@ val_t partial_order___PartialOrder___to_dot_node(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_partial_order;
   variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 =  variable0 /*e*/;
   variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("\";\n"), TAG_Int(3)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString("\";\n"), TAG_Int(3)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
   goto return_label12;
@@ -235,20 +235,20 @@ val_t partial_order___PartialOrder___to_dot_edge(val_t  self, val_t  param0, val
   trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)); /*new String*/
   variable4 = variable3;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
   variable5 =  variable0 /*e1*/;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("\" -> \""), TAG_Int(6)); /*new String*/
+  variable6 = NEW_String_string___String___with_native(BOX_NativeString("\" -> \""), TAG_Int(6)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
   variable8 =  variable1 /*e2*/;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("\";\n"), TAG_Int(3)); /*new String*/
+  variable9 = NEW_String_string___String___with_native(BOX_NativeString("\";\n"), TAG_Int(3)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable10) /*String::append*/;
   goto return_label13;
@@ -270,17 +270,17 @@ val_t partial_order___PartialOrder___select_smallests(val_t  self, val_t  param0
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*c*/ ==  NIT_NULL /*null*/) || (( variable0 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*c*/,COLOR_kernel___Object_____eqeq))( variable0 /*c*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_array___Array___init(); /*new Array[E]*/
+    variable1 = NEW_Array_array___Array___init(); /*new Array[E]*/
     goto return_label14;
   }
   variable1 = ((partial_order___PartialOrder___has_all_t)CALL( self,COLOR_partial_order___PartialOrder___has_all))( self,  variable0 /*c*/) /*PartialOrder::has_all*/;
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_partial_order___PartialOrder___select_smallests, LOCATE_partial_order, 105); nit_exit(1);}
   variable2 = ((abstract_collection___Collection___length_t)CALL( variable0 /*c*/,COLOR_abstract_collection___Collection___length))( variable0 /*c*/) /*Collection::length*/;
-  variable3 = NEW_array___Array___with_capacity(variable2); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___with_capacity(variable2); /*new Array[E]*/
   variable2 = variable3;
   variable1 = variable2;
   variable3 = ((abstract_collection___Collection___length_t)CALL( variable0 /*c*/,COLOR_abstract_collection___Collection___length))( variable0 /*c*/) /*Collection::length*/;
-  variable4 = NEW_array___Array___with_capacity(variable3); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___with_capacity(variable3); /*new Array[E]*/
   variable3 = variable4;
   variable2 = variable3;
   variable3 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*c*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*c*/) /*Collection::iterator*/;
@@ -388,7 +388,7 @@ val_t partial_order___PartialOrder___new_poe(val_t  self, val_t  param0, val_t
   trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = NEW_partial_order___PartialOrderElement___init( self,  variable0 /*e*/,  variable1 /*directs*/); /*new PartialOrderElement[E]*/
+  variable2 = NEW_PartialOrderElement_partial_order___PartialOrderElement___init( self,  variable0 /*e*/,  variable1 /*directs*/); /*new PartialOrderElement[E]*/
   goto return_label19;
   return_label19: while(false);
   tracehead = trace.prev;
@@ -474,11 +474,11 @@ void partial_order___PartialOrder___init(val_t  self, int* init_table) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_partial_order;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PartialOrder].i]) return;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[E, PartialOrderElement[E]]*/
   ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/ = variable0;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[E]*/
   ATTR_partial_order___PartialOrder____elements_list( self) /*PartialOrder::_elements_list*/ = variable0;
-  variable0 = NEW_array___Array___init(); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___init(); /*new Array[E]*/
   ATTR_partial_order___PartialOrder____roots( self) /*PartialOrder::_roots*/ = variable0;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PartialOrder].i] = 1;
   tracehead = trace.prev;
@@ -587,9 +587,9 @@ val_t partial_order___PartialOrderElement___linear_extension(val_t  self) {
   variable0 = ATTR_partial_order___PartialOrderElement____linear_extension_cache( self) /*PartialOrderElement::_linear_extension_cache*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*AbstractArray::==*/)));
   if (UNTAG_Bool(variable0)) { /*if*/
-    variable1 = NEW_array___Array___init(); /*new Array[E]*/
+    variable1 = NEW_Array_array___Array___init(); /*new Array[E]*/
     variable0 = variable1;
-    variable2 = NEW_array___Array___init(); /*new Array[E]*/
+    variable2 = NEW_Array_array___Array___init(); /*new Array[E]*/
     variable1 = variable2;
     variable2 = ((partial_order___PartialOrderElement___value_t)CALL( self,COLOR_partial_order___PartialOrderElement___value))( self) /*PartialOrderElement::value*/;
     ((array___AbstractArray___add_t)CALL( variable0 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*res*/, variable2) /*AbstractArray::add*/;
@@ -645,7 +645,7 @@ val_t partial_order___PartialOrderElement___reverse_linear_extension(val_t  self
   variable0 = ATTR_partial_order___PartialOrderElement____reverse_linear_extension_cache( self) /*PartialOrderElement::_reverse_linear_extension_cache*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*AbstractArray::==*/)));
   if (UNTAG_Bool(variable0)) { /*if*/
-    variable1 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+    variable1 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[E]*/
     variable0 = variable1;
     variable1 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL( self,COLOR_partial_order___PartialOrderElement___direct_greaters))( self) /*PartialOrderElement::direct_greaters*/;
     variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
@@ -782,11 +782,11 @@ void partial_order___PartialOrderElement___init(val_t  self, val_t  param0, val_
   ATTR_partial_order___PartialOrderElement____order( self) /*PartialOrderElement::_order*/ =  variable0 /*o*/;
   ATTR_partial_order___PartialOrderElement____value( self) /*PartialOrderElement::_value*/ =  variable1 /*e*/;
   ATTR_partial_order___PartialOrderElement____direct_greaters( self) /*PartialOrderElement::_direct_greaters*/ =  variable2 /*directs*/;
-  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___init(); /*new Array[E]*/
   ATTR_partial_order___PartialOrderElement____direct_smallers( self) /*PartialOrderElement::_direct_smallers*/ = variable3;
-  variable3 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable3 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_partial_order___PartialOrderElement____greaters( self) /*PartialOrderElement::_greaters*/ = variable3;
-  variable3 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
+  variable3 = NEW_HashSet_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_partial_order___PartialOrderElement____smallers_cache( self) /*PartialOrderElement::_smallers_cache*/ = variable3;
   variable4 = ATTR_partial_order___PartialOrderElement____greaters( self) /*PartialOrderElement::_greaters*/;
   variable3 = variable4;
index f8f810a..196d902 100644 (file)
@@ -87,7 +87,7 @@ val_t range___Range___iterator(val_t  self) {
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_range;
-  variable0 = NEW_range___IteratorRange___init( self); /*new IteratorRange[E]*/
+  variable0 = NEW_IteratorRange_range___IteratorRange___init( self); /*new IteratorRange[E]*/
   goto return_label3;
   return_label3: while(false);
   tracehead = trace.prev;
index 5fa7c2e..ef41dae 100644 (file)
@@ -307,6 +307,13 @@ void sorter___AbstractSorter___bubble_sort(val_t  self, val_t  param0, val_t  pa
   tracehead = trace.prev;
   return;
 }
+void sorter___AbstractSorter___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_sorter___AbstractSorter___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_sorter;
+  tracehead = trace.prev;
+  return;
+}
 val_t sorter___ComparableSorter___compare(val_t  self, val_t  param0, val_t  param1) {
   struct trace_t trace = {NULL, NULL, 93, LOCATE_sorter___ComparableSorter___compare};
   val_t variable0;
index cd22a38..476b257 100644 (file)
@@ -17,10 +17,11 @@ extern const int SFT_sorter[];
 #define COLOR_sorter___AbstractSorter___sub_sort SFT_sorter[5]
 #define COLOR_sorter___AbstractSorter___quick_sort SFT_sorter[6]
 #define COLOR_sorter___AbstractSorter___bubble_sort SFT_sorter[7]
-#define ID_ComparableSorter SFT_sorter[8]
-#define COLOR_ComparableSorter SFT_sorter[9]
-#define INIT_TABLE_POS_ComparableSorter SFT_sorter[10]
-#define COLOR_sorter___ComparableSorter___init SFT_sorter[11]
+#define COLOR_sorter___AbstractSorter___init SFT_sorter[8]
+#define ID_ComparableSorter SFT_sorter[9]
+#define COLOR_ComparableSorter SFT_sorter[10]
+#define INIT_TABLE_POS_ComparableSorter SFT_sorter[11]
+#define COLOR_sorter___ComparableSorter___init SFT_sorter[12]
 typedef val_t (* sorter___AbstractSorter___compare_t)(val_t  self, val_t  param0, val_t  param1);
 val_t sorter___AbstractSorter___compare(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_sorter___AbstractSorter___compare "sorter::AbstractSorter::compare"
@@ -36,6 +37,10 @@ void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  par
 typedef void (* sorter___AbstractSorter___bubble_sort_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 void sorter___AbstractSorter___bubble_sort(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_sorter___AbstractSorter___bubble_sort "sorter::AbstractSorter::bubble_sort"
+typedef void (* sorter___AbstractSorter___init_t)(val_t  self, int* init_table);
+void sorter___AbstractSorter___init(val_t  self, int* init_table);
+val_t NEW_sorter___AbstractSorter___init();
+#define LOCATE_sorter___AbstractSorter___init "sorter::AbstractSorter::init"
 typedef val_t (* sorter___ComparableSorter___compare_t)(val_t  self, val_t  param0, val_t  param1);
 val_t sorter___ComparableSorter___compare(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_sorter___ComparableSorter___compare "sorter::ComparableSorter::(sorter::AbstractSorter::compare)"
index 4e613e3..c15b6c2 100644 (file)
@@ -8,7 +8,7 @@ val_t static_type___MMLocalClass___get_type(val_t  self) {
   variable0 = ATTR_static_type___MMLocalClass____base_type_cache( self) /*MMLocalClass::_base_type_cache*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 = NEW_static_type___MMTypeSimpleClass___init( self); /*new MMTypeSimpleClass*/
+    variable0 = NEW_MMTypeSimpleClass_static_type___MMTypeSimpleClass___init( self); /*new MMTypeSimpleClass*/
     ATTR_static_type___MMLocalClass____base_type_cache( self) /*MMLocalClass::_base_type_cache*/ = variable0;
   }
   variable0 = ATTR_static_type___MMLocalClass____base_type_cache( self) /*MMLocalClass::_base_type_cache*/;
@@ -200,7 +200,7 @@ val_t static_type___MMSignature_____l(val_t  self, val_t  param0) {
     goto return_label5;
   }
   variable1 = ((static_type___MMSignature___arity_t)CALL( self,COLOR_static_type___MMSignature___arity))( self) /*MMSignature::arity*/;
-  variable2 = NEW_range___Range___without_last( TAG_Int(0), variable1); /*new Range[E]*/
+  variable2 = NEW_Range_range___Range___without_last( TAG_Int(0), variable1); /*new Range[Int]*/
   variable1 = variable2;
   variable1 = ((range___Range___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Range::iterator*/;
   while (true) { /*for*/
@@ -288,12 +288,12 @@ val_t static_type___MMSignature___to_s(val_t  self) {
     variable1 = NIT_NULL /*decl variable tmp*/;
     variable3 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
     variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*AbstractArray::length*/;
-    variable4 = NEW_array___Array___with_capacity(variable3); /*new Array[E]*/
+    variable4 = NEW_Array_array___Array___with_capacity(variable3); /*new Array[String]*/
     variable3 = variable4;
     variable2 = variable3;
     variable3 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
     variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*AbstractArray::length*/;
-    variable4 = NEW_range___Range___without_last( TAG_Int(0), variable3); /*new Range[E]*/
+    variable4 = NEW_Range_range___Range___without_last( TAG_Int(0), variable3); /*new Range[Int]*/
     variable3 = variable4;
     variable3 = ((range___Range___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Range::iterator*/;
     while (true) { /*for*/
@@ -324,34 +324,34 @@ val_t static_type___MMSignature___to_s(val_t  self) {
       ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
     }
     break_10: while(0);
-    variable3 = NEW_string___String___init(); /*new String*/
-    variable4 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
+    variable3 = NEW_String_string___String___init(); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
     variable5 = variable4;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
     variable6 = ((string___Collection___join_t)CALL( variable2 /*a*/,COLOR_string___Collection___join))( variable2 /*a*/, variable6) /*Collection::join*/;
     variable7 = variable6;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
     variable0 = variable3 /*s=*/;
   } else { /*if*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable0 = variable1 /*s=*/;
   }
   variable1 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_string___String___init(); /*new String*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
+    variable1 = NEW_String_string___String___init(); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
     variable3 = variable2;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
     variable4 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
     variable5 = variable4;
     variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
     ((string___String___append_t)CALL( variable0 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable0 /*s*/, variable1) /*String::append*/;
@@ -385,7 +385,7 @@ val_t static_type___MMSignature___adaptation_to(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*p*/ ==  NIT_NULL /*null*/) || (( variable2 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*p*/,COLOR_kernel___Object_____eqeq))( variable2 /*p*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_array___Array___init(); /*new Array[E]*/
+    variable3 = NEW_Array_array___Array___init(); /*new Array[MMType]*/
     variable2 = variable3 /*p=*/;
     variable3 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
     variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*AbstractArray::iterator*/;
@@ -409,7 +409,7 @@ val_t static_type___MMSignature___adaptation_to(val_t  self, val_t  param0) {
     variable4 = ((static_type___MMType___adapt_to_t)CALL(variable4,COLOR_static_type___MMType___adapt_to))(variable4,  variable0 /*r*/) /*MMType::adapt_to*/;
     variable3 = variable4 /*rv=*/;
   }
-  variable4 = NEW_static_type___MMSignature___init( variable2 /*p*/,  variable3 /*rv*/,  variable0 /*r*/); /*new MMSignature*/
+  variable4 = NEW_MMSignature_static_type___MMSignature___init( variable2 /*p*/,  variable3 /*rv*/,  variable0 /*r*/); /*new MMSignature*/
   variable1 = variable4;
   goto return_label12;
   return_label12: while(false);
@@ -531,6 +531,15 @@ val_t static_type___MMAncestor___to_s(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
+void static_type___MMAncestor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_static_type___MMAncestor___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
+  ATTR_static_type___MMAncestor____stype( self) /*MMAncestor::_stype*/ =  param0;
+  ATTR_static_type___MMAncestor____inheriter( self) /*MMAncestor::_inheriter*/ =  param1;
+  tracehead = trace.prev;
+  return;
+}
 val_t static_type___MMType___module(val_t  self) {
   struct trace_t trace = {NULL, NULL, 204, LOCATE_static_type___MMType___module};
   trace.prev = tracehead; tracehead = &trace;
@@ -612,6 +621,13 @@ val_t static_type___MMType___not_for_self(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
+void static_type___MMType___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_static_type___MMType___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
+  tracehead = trace.prev;
+  return;
+}
 val_t static_type___MMTypeClass___local_class(val_t  self) {
   struct trace_t trace = {NULL, NULL, 236, LOCATE_static_type___MMTypeClass___local_class};
   trace.prev = tracehead; tracehead = &trace;
index 11f0a6f..8519538 100644 (file)
@@ -53,33 +53,35 @@ extern const int SFT_static_type[];
 #define COLOR_static_type___MMAncestor___is_reffinement SFT_static_type[33]
 #define COLOR_static_type___MMAncestor___is_specialisation SFT_static_type[34]
 #define COLOR_static_type___MMAncestor___local_class SFT_static_type[35]
-#define ID_MMType SFT_static_type[36]
-#define COLOR_MMType SFT_static_type[37]
-#define INIT_TABLE_POS_MMType SFT_static_type[38]
-#define COLOR_static_type___MMType___module SFT_static_type[39]
-#define COLOR_static_type___MMType___local_class SFT_static_type[40]
-#define COLOR_static_type___MMType_____l SFT_static_type[41]
-#define COLOR_static_type___MMType___is_supertype SFT_static_type[42]
-#define COLOR_static_type___MMType___for_module SFT_static_type[43]
-#define COLOR_static_type___MMType___adapt_to SFT_static_type[44]
-#define COLOR_static_type___MMType___upcast_for SFT_static_type[45]
-#define COLOR_static_type___MMType___not_for_self SFT_static_type[46]
-#define ID_MMTypeClass SFT_static_type[47]
-#define COLOR_MMTypeClass SFT_static_type[48]
-#define COLOR_static_type___MMTypeClass____local_class SFT_static_type[49]
-#define INIT_TABLE_POS_MMTypeClass SFT_static_type[50]
-#define COLOR_static_type___MMTypeClass___init SFT_static_type[51]
-#define ID_MMTypeSimpleClass SFT_static_type[52]
-#define COLOR_MMTypeSimpleClass SFT_static_type[53]
-#define INIT_TABLE_POS_MMTypeSimpleClass SFT_static_type[54]
-#define COLOR_static_type___MMTypeSimpleClass___init SFT_static_type[55]
-#define ID_MMTypeNone SFT_static_type[56]
-#define COLOR_MMTypeNone SFT_static_type[57]
-#define COLOR_static_type___MMTypeNone____module SFT_static_type[58]
-#define INIT_TABLE_POS_MMTypeNone SFT_static_type[59]
-#define COLOR_static_type___MMTypeNone___init SFT_static_type[60]
-#define COLOR_static_type___MMModule____type_none SFT_static_type[61]
-#define COLOR_static_type___MMModule___type_none SFT_static_type[62]
+#define COLOR_static_type___MMAncestor___init SFT_static_type[36]
+#define ID_MMType SFT_static_type[37]
+#define COLOR_MMType SFT_static_type[38]
+#define INIT_TABLE_POS_MMType SFT_static_type[39]
+#define COLOR_static_type___MMType___module SFT_static_type[40]
+#define COLOR_static_type___MMType___local_class SFT_static_type[41]
+#define COLOR_static_type___MMType_____l SFT_static_type[42]
+#define COLOR_static_type___MMType___is_supertype SFT_static_type[43]
+#define COLOR_static_type___MMType___for_module SFT_static_type[44]
+#define COLOR_static_type___MMType___adapt_to SFT_static_type[45]
+#define COLOR_static_type___MMType___upcast_for SFT_static_type[46]
+#define COLOR_static_type___MMType___not_for_self SFT_static_type[47]
+#define COLOR_static_type___MMType___init SFT_static_type[48]
+#define ID_MMTypeClass SFT_static_type[49]
+#define COLOR_MMTypeClass SFT_static_type[50]
+#define COLOR_static_type___MMTypeClass____local_class SFT_static_type[51]
+#define INIT_TABLE_POS_MMTypeClass SFT_static_type[52]
+#define COLOR_static_type___MMTypeClass___init SFT_static_type[53]
+#define ID_MMTypeSimpleClass SFT_static_type[54]
+#define COLOR_MMTypeSimpleClass SFT_static_type[55]
+#define INIT_TABLE_POS_MMTypeSimpleClass SFT_static_type[56]
+#define COLOR_static_type___MMTypeSimpleClass___init SFT_static_type[57]
+#define ID_MMTypeNone SFT_static_type[58]
+#define COLOR_MMTypeNone SFT_static_type[59]
+#define COLOR_static_type___MMTypeNone____module SFT_static_type[60]
+#define INIT_TABLE_POS_MMTypeNone SFT_static_type[61]
+#define COLOR_static_type___MMTypeNone___init SFT_static_type[62]
+#define COLOR_static_type___MMModule____type_none SFT_static_type[63]
+#define COLOR_static_type___MMModule___type_none SFT_static_type[64]
 #define ATTR_static_type___MMLocalClass____base_type_cache(recv) ATTR(recv, COLOR_static_type___MMLocalClass____base_type_cache)
 typedef val_t (* static_type___MMLocalClass___get_type_t)(val_t  self);
 val_t static_type___MMLocalClass___get_type(val_t  self);
@@ -159,6 +161,10 @@ val_t static_type___MMAncestor___local_class(val_t  self);
 typedef val_t (* static_type___MMAncestor___to_s_t)(val_t  self);
 val_t static_type___MMAncestor___to_s(val_t  self);
 #define LOCATE_static_type___MMAncestor___to_s "static_type::MMAncestor::(string::Object::to_s)"
+typedef void (* static_type___MMAncestor___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
+void static_type___MMAncestor___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
+val_t NEW_static_type___MMAncestor___init(val_t  param0, val_t  param1);
+#define LOCATE_static_type___MMAncestor___init "static_type::MMAncestor::init"
 typedef val_t (* static_type___MMType___module_t)(val_t  self);
 val_t static_type___MMType___module(val_t  self);
 #define LOCATE_static_type___MMType___module "static_type::MMType::module"
@@ -183,6 +189,10 @@ val_t static_type___MMType___upcast_for(val_t  self, val_t  param0);
 typedef val_t (* static_type___MMType___not_for_self_t)(val_t  self);
 val_t static_type___MMType___not_for_self(val_t  self);
 #define LOCATE_static_type___MMType___not_for_self "static_type::MMType::not_for_self"
+typedef void (* static_type___MMType___init_t)(val_t  self, int* init_table);
+void static_type___MMType___init(val_t  self, int* init_table);
+val_t NEW_static_type___MMType___init();
+#define LOCATE_static_type___MMType___init "static_type::MMType::init"
 #define ATTR_static_type___MMTypeClass____local_class(recv) ATTR(recv, COLOR_static_type___MMTypeClass____local_class)
 typedef val_t (* static_type___MMTypeClass___local_class_t)(val_t  self);
 val_t static_type___MMTypeClass___local_class(val_t  self);
index 0a6ff54..736751c 100644 (file)
@@ -10,6 +10,13 @@ void stream___IOS___close(val_t  self) {
   tracehead = trace.prev;
   return;
 }
+void stream___IOS___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_stream___IOS___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
+  tracehead = trace.prev;
+  return;
+}
 val_t stream___IStream___read_char(val_t  self) {
   struct trace_t trace = {NULL, NULL, 27, LOCATE_stream___IStream___read_char};
   trace.prev = tracehead; tracehead = &trace;
@@ -29,7 +36,7 @@ val_t stream___IStream___read(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_stream;
   variable0 =  param0;
-  variable2 = NEW_string___String___with_capacity( variable0 /*i*/); /*new String*/
+  variable2 = NEW_String_string___String___with_capacity( variable0 /*i*/); /*new String*/
   variable1 = variable2;
   while (true) { /*while*/
     variable2 = TAG_Bool(UNTAG_Int( variable0 /*i*/)>UNTAG_Int( TAG_Int(0)));
@@ -65,7 +72,7 @@ val_t stream___IStream___read_line(val_t  self) {
   trace.file = LOCATE_stream;
   variable0 = ((stream___IStream___eof_t)CALL( self,COLOR_stream___IStream___eof))( self) /*IStream::eof*/;
   if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___IStream___read_line, LOCATE_stream, 47); nit_exit(1);}
-  variable1 = NEW_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
   variable0 = variable1;
   ((stream___IStream___append_line_to_t)CALL( self,COLOR_stream___IStream___append_line_to))( self,  variable0 /*s*/) /*IStream::append_line_to*/;
   variable0 =  variable0 /*s*/;
@@ -81,7 +88,7 @@ val_t stream___IStream___read_all(val_t  self) {
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_stream;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable0 = variable1;
   while (true) { /*while*/
     variable1 = ((stream___IStream___eof_t)CALL( self,COLOR_stream___IStream___eof))( self) /*IStream::eof*/;
@@ -215,7 +222,7 @@ val_t stream___BufferedIStream___read(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_stream;
   variable0 =  param0;
-  variable2 = NEW_string___String___with_capacity( variable0 /*i*/); /*new String*/
+  variable2 = NEW_String_string___String___with_capacity( variable0 /*i*/); /*new String*/
   variable1 = variable2;
   variable3 = ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/;
   variable2 = variable3;
@@ -273,7 +280,7 @@ val_t stream___BufferedIStream___read_all(val_t  self) {
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_stream;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable0 = variable1;
   while (true) { /*while*/
     variable1 = ((stream___BufferedIStream___eof_t)CALL( self,COLOR_stream___IStream___eof))( self) /*BufferedIStream::eof*/;
@@ -424,7 +431,7 @@ void stream___BufferedIStream___prepare_buffer(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_stream;
   variable0 =  param0;
-  variable1 = NEW_string___String___with_capacity( variable0 /*capacity*/); /*new String*/
+  variable1 = NEW_String_string___String___with_capacity( variable0 /*capacity*/); /*new String*/
   ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/ = variable1;
   ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/ =  TAG_Int(0);
   tracehead = trace.prev;
@@ -563,7 +570,7 @@ void stream___FDOStream___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void stream___FDIOStream___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 265, LOCATE_stream___FDIOStream___init};
+  struct trace_t trace = {NULL, NULL, 264, LOCATE_stream___FDIOStream___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_stream;
index 752ea4d..d5f358f 100644 (file)
@@ -28,57 +28,62 @@ extern const int SFT_stream[];
 #define COLOR_IOS SFT_stream[1]
 #define INIT_TABLE_POS_IOS SFT_stream[2]
 #define COLOR_stream___IOS___close SFT_stream[3]
-#define ID_IStream SFT_stream[4]
-#define COLOR_IStream SFT_stream[5]
-#define INIT_TABLE_POS_IStream SFT_stream[6]
-#define COLOR_stream___IStream___read_char SFT_stream[7]
-#define COLOR_stream___IStream___read SFT_stream[8]
-#define COLOR_stream___IStream___read_line SFT_stream[9]
-#define COLOR_stream___IStream___read_all SFT_stream[10]
-#define COLOR_stream___IStream___append_line_to SFT_stream[11]
-#define COLOR_stream___IStream___eof SFT_stream[12]
-#define ID_OStream SFT_stream[13]
-#define COLOR_OStream SFT_stream[14]
-#define INIT_TABLE_POS_OStream SFT_stream[15]
-#define COLOR_stream___OStream___write SFT_stream[16]
-#define COLOR_stream___OStream___is_writable SFT_stream[17]
-#define ID_BufferedIStream SFT_stream[18]
-#define COLOR_BufferedIStream SFT_stream[19]
-#define COLOR_stream___BufferedIStream____buffer SFT_stream[20]
-#define COLOR_stream___BufferedIStream____buffer_pos SFT_stream[21]
-#define INIT_TABLE_POS_BufferedIStream SFT_stream[22]
-#define COLOR_stream___BufferedIStream___fill_buffer SFT_stream[23]
-#define COLOR_stream___BufferedIStream___end_reached SFT_stream[24]
-#define COLOR_stream___BufferedIStream___prepare_buffer SFT_stream[25]
-#define ID_IOStream SFT_stream[26]
-#define COLOR_IOStream SFT_stream[27]
-#define INIT_TABLE_POS_IOStream SFT_stream[28]
-#define ID_FDStream SFT_stream[29]
-#define COLOR_FDStream SFT_stream[30]
-#define COLOR_stream___FDStream____fd SFT_stream[31]
-#define INIT_TABLE_POS_FDStream SFT_stream[32]
-#define COLOR_stream___FDStream___native_close SFT_stream[33]
-#define COLOR_stream___FDStream___native_read_char SFT_stream[34]
-#define COLOR_stream___FDStream___native_read SFT_stream[35]
-#define COLOR_stream___FDStream___native_write SFT_stream[36]
-#define COLOR_stream___FDStream___init SFT_stream[37]
-#define ID_FDIStream SFT_stream[38]
-#define COLOR_FDIStream SFT_stream[39]
-#define COLOR_stream___FDIStream____eof SFT_stream[40]
-#define INIT_TABLE_POS_FDIStream SFT_stream[41]
-#define COLOR_stream___FDIStream___init SFT_stream[42]
-#define ID_FDOStream SFT_stream[43]
-#define COLOR_FDOStream SFT_stream[44]
-#define COLOR_stream___FDOStream____is_writable SFT_stream[45]
-#define INIT_TABLE_POS_FDOStream SFT_stream[46]
-#define COLOR_stream___FDOStream___init SFT_stream[47]
-#define ID_FDIOStream SFT_stream[48]
-#define COLOR_FDIOStream SFT_stream[49]
-#define INIT_TABLE_POS_FDIOStream SFT_stream[50]
-#define COLOR_stream___FDIOStream___init SFT_stream[51]
+#define COLOR_stream___IOS___init SFT_stream[4]
+#define ID_IStream SFT_stream[5]
+#define COLOR_IStream SFT_stream[6]
+#define INIT_TABLE_POS_IStream SFT_stream[7]
+#define COLOR_stream___IStream___read_char SFT_stream[8]
+#define COLOR_stream___IStream___read SFT_stream[9]
+#define COLOR_stream___IStream___read_line SFT_stream[10]
+#define COLOR_stream___IStream___read_all SFT_stream[11]
+#define COLOR_stream___IStream___append_line_to SFT_stream[12]
+#define COLOR_stream___IStream___eof SFT_stream[13]
+#define ID_OStream SFT_stream[14]
+#define COLOR_OStream SFT_stream[15]
+#define INIT_TABLE_POS_OStream SFT_stream[16]
+#define COLOR_stream___OStream___write SFT_stream[17]
+#define COLOR_stream___OStream___is_writable SFT_stream[18]
+#define ID_BufferedIStream SFT_stream[19]
+#define COLOR_BufferedIStream SFT_stream[20]
+#define COLOR_stream___BufferedIStream____buffer SFT_stream[21]
+#define COLOR_stream___BufferedIStream____buffer_pos SFT_stream[22]
+#define INIT_TABLE_POS_BufferedIStream SFT_stream[23]
+#define COLOR_stream___BufferedIStream___fill_buffer SFT_stream[24]
+#define COLOR_stream___BufferedIStream___end_reached SFT_stream[25]
+#define COLOR_stream___BufferedIStream___prepare_buffer SFT_stream[26]
+#define ID_IOStream SFT_stream[27]
+#define COLOR_IOStream SFT_stream[28]
+#define INIT_TABLE_POS_IOStream SFT_stream[29]
+#define ID_FDStream SFT_stream[30]
+#define COLOR_FDStream SFT_stream[31]
+#define COLOR_stream___FDStream____fd SFT_stream[32]
+#define INIT_TABLE_POS_FDStream SFT_stream[33]
+#define COLOR_stream___FDStream___native_close SFT_stream[34]
+#define COLOR_stream___FDStream___native_read_char SFT_stream[35]
+#define COLOR_stream___FDStream___native_read SFT_stream[36]
+#define COLOR_stream___FDStream___native_write SFT_stream[37]
+#define COLOR_stream___FDStream___init SFT_stream[38]
+#define ID_FDIStream SFT_stream[39]
+#define COLOR_FDIStream SFT_stream[40]
+#define COLOR_stream___FDIStream____eof SFT_stream[41]
+#define INIT_TABLE_POS_FDIStream SFT_stream[42]
+#define COLOR_stream___FDIStream___init SFT_stream[43]
+#define ID_FDOStream SFT_stream[44]
+#define COLOR_FDOStream SFT_stream[45]
+#define COLOR_stream___FDOStream____is_writable SFT_stream[46]
+#define INIT_TABLE_POS_FDOStream SFT_stream[47]
+#define COLOR_stream___FDOStream___init SFT_stream[48]
+#define ID_FDIOStream SFT_stream[49]
+#define COLOR_FDIOStream SFT_stream[50]
+#define INIT_TABLE_POS_FDIOStream SFT_stream[51]
+#define COLOR_stream___FDIOStream___init SFT_stream[52]
 typedef void (* stream___IOS___close_t)(val_t  self);
 void stream___IOS___close(val_t  self);
 #define LOCATE_stream___IOS___close "stream::IOS::close"
+typedef void (* stream___IOS___init_t)(val_t  self, int* init_table);
+void stream___IOS___init(val_t  self, int* init_table);
+val_t NEW_stream___IOS___init();
+#define LOCATE_stream___IOS___init "stream::IOS::init"
 typedef val_t (* stream___IStream___read_char_t)(val_t  self);
 val_t stream___IStream___read_char(val_t  self);
 #define LOCATE_stream___IStream___read_char "stream::IStream::read_char"
index 207dccd..a7ce642 100644 (file)
@@ -149,7 +149,7 @@ val_t string___String_____plus(val_t  self, val_t  param0) {
   variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int(variable3));
-  variable3 = NEW_string___String___with_capacity(variable2); /*new String*/
+  variable3 = NEW_String_string___String___with_capacity(variable2); /*new String*/
   variable2 = variable3;
   variable1 = variable2;
   ((string___String___append_t)CALL( variable1 /*r*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*r*/,  self) /*String::append*/;
@@ -173,7 +173,7 @@ val_t string___String_____star(val_t  self, val_t  param0) {
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String_____star, LOCATE_string, 85); nit_exit(1);}
   variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)*UNTAG_Int( variable0 /*i*/));
-  variable3 = NEW_string___String___with_capacity(variable2); /*new String*/
+  variable3 = NEW_String_string___String___with_capacity(variable2); /*new String*/
   variable2 = variable3;
   variable1 = variable2;
   while (true) { /*while*/
@@ -195,7 +195,7 @@ val_t string___String___to_s(val_t  self) {
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_string;
-  variable0 = NEW_string___String___from( self); /*new String*/
+  variable0 = NEW_String_string___String___from( self); /*new String*/
   goto return_label9;
   return_label9: while(false);
   tracehead = trace.prev;
@@ -322,7 +322,7 @@ val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
   variable2 = TAG_Bool(UNTAG_Int( variable0 /*from*/)<UNTAG_Int( variable1 /*count*/));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable3 = TAG_Int(UNTAG_Int( variable1 /*count*/)-UNTAG_Int( variable0 /*from*/));
-    variable4 = NEW_string___String___with_capacity(variable3); /*new String*/
+    variable4 = NEW_String_string___String___with_capacity(variable3); /*new String*/
     variable3 = variable4;
     variable2 = variable3;
     while (true) { /*while*/
@@ -338,7 +338,7 @@ val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
     variable2 =  variable2 /*r*/;
     goto return_label15;
   } else { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     goto return_label15;
   }
   return_label15: while(false);
@@ -711,7 +711,7 @@ val_t string___String___to_upper(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_string;
   variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
-  variable2 = NEW_string___String___with_capacity(variable1); /*new String*/
+  variable2 = NEW_String_string___String___with_capacity(variable1); /*new String*/
   variable1 = variable2;
   variable0 = variable1;
   variable1 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*AbstractArray::iterator*/;
@@ -740,7 +740,7 @@ val_t string___String___to_lower(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_string;
   variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
-  variable2 = NEW_string___String___with_capacity(variable1); /*new String*/
+  variable2 = NEW_String_string___String___with_capacity(variable1); /*new String*/
   variable1 = variable2;
   variable0 = variable1;
   variable1 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*AbstractArray::iterator*/;
@@ -811,15 +811,15 @@ val_t string___Object___inspect_head(val_t  self) {
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_string;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
   variable3 = TAG_Int((bigint) self);
   variable3 = ((string___Int___to_hex_t)CALL(variable3,COLOR_string___Int___to_hex))(variable3) /*Int::to_hex*/;
   variable4 = variable3;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   goto return_label41;
@@ -849,7 +849,7 @@ val_t string___Bool___to_s(val_t  self) {
   if (UNTAG_Bool( self)) { /*if*/
     if (once_bool_variable0_44) variable0 = once_value_variable0_44;
     else {
-      variable0 = NEW_string___String___with_native(BOX_NativeString("true"), TAG_Int(4)); /*new String*/
+      variable0 = NEW_String_string___String___with_native(BOX_NativeString("true"), TAG_Int(4)); /*new String*/
       once_value_variable0_44 = variable0;
       once_bool_variable0_44 = true;
     }
@@ -857,7 +857,7 @@ val_t string___Bool___to_s(val_t  self) {
   } else { /*if*/
     if (once_bool_variable0_45) variable0 = once_value_variable0_45;
     else {
-      variable0 = NEW_string___String___with_native(BOX_NativeString("false"), TAG_Int(5)); /*new String*/
+      variable0 = NEW_String_string___String___with_native(BOX_NativeString("false"), TAG_Int(5)); /*new String*/
       once_value_variable0_45 = variable0;
       once_bool_variable0_45 = true;
     }
@@ -955,7 +955,7 @@ val_t string___Int___to_base(val_t  self, val_t  param0, val_t  param1) {
   variable1 =  param1;
   variable3 = ((kernel___Int___digit_count_t)CALL( self,COLOR_kernel___Int___digit_count))( self,  variable0 /*base*/) /*Int::digit_count*/;
   variable2 = variable3;
-  variable4 = NEW_string___String___filled_with( TAG_Char(' '),  variable2 /*l*/); /*new String*/
+  variable4 = NEW_String_string___String___filled_with( TAG_Char(' '),  variable2 /*l*/); /*new String*/
   variable3 = variable4;
   ((string___Int___fill_string_t)CALL( self,COLOR_string___Int___fill_string))( self,  variable3 /*s*/,  variable0 /*base*/,  variable1 /*signed*/) /*Int::fill_string*/;
   variable2 =  variable3 /*s*/;
@@ -1018,20 +1018,20 @@ val_t string___Float___to_precision(val_t  self, val_t  param0) {
   variable4 = BOX_Float(UNBOX_Float(variable4)*UNBOX_Float( variable2 /*dec*/));
   variable4 = TAG_Int((bigint)UNBOX_Float(variable4));
   variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 =  variable1 /*i*/;
   variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
   variable10 =  variable3 /*d*/;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
   variable1 = variable4;
@@ -1046,7 +1046,7 @@ val_t string___Char___to_s(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_string;
-  variable1 = NEW_string___String___with_capacity( TAG_Int(1)); /*new String*/
+  variable1 = NEW_String_string___String___with_capacity( TAG_Int(1)); /*new String*/
   variable0 = variable1;
   ((string___String_____braeq_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*s*/,  TAG_Int(0),  self) /*String::[]=*/;
   variable0 =  variable0 /*s*/;
@@ -1063,7 +1063,7 @@ val_t string___Collection___to_s(val_t  self) {
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_string;
-  variable1 = NEW_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___init(); /*new String*/
   variable0 = variable1;
   variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -1097,10 +1097,10 @@ val_t string___Collection___join(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Collection::is_empty*/;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     goto return_label57;
   }
-  variable2 = NEW_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
   variable1 = variable2;
   variable3 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
   variable2 = variable3;
@@ -1159,10 +1159,10 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
   variable1 =  param1;
   variable2 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Collection::is_empty*/;
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     goto return_label59;
   }
-  variable3 = NEW_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
   variable2 = variable3;
   variable4 = ((abstract_collection___Map___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Map::iterator*/;
   variable3 = variable4;
@@ -1172,25 +1172,25 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
   variable5 = variable6;
   variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*e*/ ==  NIT_NULL /*null*/) || (( variable5 /*e*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*e*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*e*/,COLOR_kernel___Object_____eqeq))( variable5 /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___init(); /*new String*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable6 = NEW_String_string___String___init(); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
     variable9 =  variable4 /*k*/;
     variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-    variable10 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable10 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable11 = variable10;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
     variable12 =  variable1 /*couple_sep*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-    variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable14 = variable13;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
     variable15 =  variable5 /*e*/;
     variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
-    variable16 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable16 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable17 = variable16;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable17) /*String::append*/;
     ((string___String___append_t)CALL( variable2 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable2 /*s*/, variable6) /*String::append*/;
@@ -1206,25 +1206,25 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
     variable5 = variable6 /*e=*/;
     variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*e*/ ==  NIT_NULL /*null*/) || (( variable5 /*e*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*e*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*e*/,COLOR_kernel___Object_____eqeq))( variable5 /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable6)) { /*if*/
-      variable6 = NEW_string___String___init(); /*new String*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable6 = NEW_String_string___String___init(); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
       variable9 =  variable4 /*k*/;
       variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-      variable10 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable10 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable11 = variable10;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
       variable12 =  variable1 /*couple_sep*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
       variable15 =  variable5 /*e*/;
       variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
-      variable16 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable17 = variable16;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable17) /*String::append*/;
       ((string___String___append_t)CALL( variable2 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable2 /*s*/, variable6) /*String::append*/;
@@ -1290,6 +1290,13 @@ val_t string___NativeString___atoi(val_t  self) {
   tracehead = trace.prev;
   return TAG_Int(atoi(UNBOX_NativeString( self)));
 }
+void string___NativeString___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_string___NativeString___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
+  tracehead = trace.prev;
+  return;
+}
 val_t string___StringCapable___calloc_string(val_t  self, val_t  param0) {
   struct trace_t trace = {NULL, NULL, 524, LOCATE_string___StringCapable___calloc_string};
   trace.prev = tracehead; tracehead = &trace;
@@ -1297,6 +1304,13 @@ val_t string___StringCapable___calloc_string(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return BOX_NativeString((char*)malloc((UNTAG_Int( param0) * sizeof(char))));
 }
+void string___StringCapable___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_string___StringCapable___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
+  tracehead = trace.prev;
+  return;
+}
 val_t string___Sys___args(val_t  self) {
   struct trace_t trace = {NULL, NULL, 530, LOCATE_string___Sys___args};
   val_t variable0;
@@ -1320,7 +1334,7 @@ val_t string___Sys___program_name(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_string;
   variable0 = ((string___Sys___native_argv_t)CALL( self,COLOR_string___Sys___native_argv))( self,  TAG_Int(0)) /*Sys::native_argv*/;
-  variable1 = NEW_string___String___from_cstring(variable0); /*new String*/
+  variable1 = NEW_String_string___String___from_cstring(variable0); /*new String*/
   variable0 = variable1;
   goto return_label64;
   return_label64: while(false);
@@ -1339,7 +1353,7 @@ void string___Sys___init_args(val_t  self) {
   trace.file = LOCATE_string;
   variable1 = ((string___Sys___native_argc_t)CALL( self,COLOR_string___Sys___native_argc))( self) /*Sys::native_argc*/;
   variable0 = variable1;
-  variable2 = NEW_array___Array___with_capacity( TAG_Int(0)); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___with_capacity( TAG_Int(0)); /*new Array[String]*/
   variable1 = variable2;
   variable2 =  TAG_Int(1);
   while (true) { /*while*/
@@ -1347,7 +1361,7 @@ void string___Sys___init_args(val_t  self) {
     if (!UNTAG_Bool(variable3)) break; /* while*/
     variable3 = TAG_Int(UNTAG_Int( variable2 /*i*/)-UNTAG_Int( TAG_Int(1)));
     variable4 = ((string___Sys___native_argv_t)CALL( self,COLOR_string___Sys___native_argv))( self,  variable2 /*i*/) /*Sys::native_argv*/;
-    variable5 = NEW_string___String___from_cstring(variable4); /*new String*/
+    variable5 = NEW_String_string___String___from_cstring(variable4); /*new String*/
     variable4 = variable5;
     ((array___Array_____braeq_t)CALL( variable1 /*args*/,COLOR_abstract_collection___Map_____braeq))( variable1 /*args*/, variable3, variable4) /*Array::[]=*/;
     variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( TAG_Int(1))) /*i*/;
index 1257fce..1f80541 100644 (file)
@@ -60,15 +60,17 @@ extern const int SFT_string[];
 #define COLOR_string___NativeString___copy_to SFT_string[42]
 #define COLOR_string___NativeString___cstring_length SFT_string[43]
 #define COLOR_string___NativeString___atoi SFT_string[44]
-#define ID_StringCapable SFT_string[45]
-#define COLOR_StringCapable SFT_string[46]
-#define INIT_TABLE_POS_StringCapable SFT_string[47]
-#define COLOR_string___StringCapable___calloc_string SFT_string[48]
-#define COLOR_string___Sys____args_cache SFT_string[49]
-#define COLOR_string___Sys___program_name SFT_string[50]
-#define COLOR_string___Sys___init_args SFT_string[51]
-#define COLOR_string___Sys___native_argc SFT_string[52]
-#define COLOR_string___Sys___native_argv SFT_string[53]
+#define COLOR_string___NativeString___init SFT_string[45]
+#define ID_StringCapable SFT_string[46]
+#define COLOR_StringCapable SFT_string[47]
+#define INIT_TABLE_POS_StringCapable SFT_string[48]
+#define COLOR_string___StringCapable___calloc_string SFT_string[49]
+#define COLOR_string___StringCapable___init SFT_string[50]
+#define COLOR_string___Sys____args_cache SFT_string[51]
+#define COLOR_string___Sys___program_name SFT_string[52]
+#define COLOR_string___Sys___init_args SFT_string[53]
+#define COLOR_string___Sys___native_argc SFT_string[54]
+#define COLOR_string___Sys___native_argv SFT_string[55]
 typedef val_t (* string___String_____bra_t)(val_t  self, val_t  param0);
 val_t string___String_____bra(val_t  self, val_t  param0);
 #define LOCATE_string___String_____bra "string::String::(abstract_collection::Map::[])"
@@ -227,9 +229,17 @@ val_t string___NativeString___cstring_length(val_t  self);
 typedef val_t (* string___NativeString___atoi_t)(val_t  self);
 val_t string___NativeString___atoi(val_t  self);
 #define LOCATE_string___NativeString___atoi "string::NativeString::atoi"
+typedef void (* string___NativeString___init_t)(val_t  self, int* init_table);
+void string___NativeString___init(val_t  self, int* init_table);
+val_t NEW_string___NativeString___init();
+#define LOCATE_string___NativeString___init "string::NativeString::init"
 typedef val_t (* string___StringCapable___calloc_string_t)(val_t  self, val_t  param0);
 val_t string___StringCapable___calloc_string(val_t  self, val_t  param0);
 #define LOCATE_string___StringCapable___calloc_string "string::StringCapable::calloc_string"
+typedef void (* string___StringCapable___init_t)(val_t  self, int* init_table);
+void string___StringCapable___init(val_t  self, int* init_table);
+val_t NEW_string___StringCapable___init();
+#define LOCATE_string___StringCapable___init "string::StringCapable::init"
 #define ATTR_string___Sys____args_cache(recv) ATTR(recv, COLOR_string___Sys____args_cache)
 typedef val_t (* string___Sys___args_t)(val_t  self);
 val_t string___Sys___args(val_t  self);
index 672d6d4..fe1aebe 100644 (file)
@@ -29,7 +29,7 @@ val_t string_search___Pattern___search_all_in(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_string_search;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[Match]*/
   variable1 = variable2;
   variable3 = ((string_search___Pattern___search_in_t)CALL( self,COLOR_string_search___Pattern___search_in))( self,  variable0 /*s*/,  TAG_Int(0)) /*Pattern::search_in*/;
   variable2 = variable3;
@@ -60,7 +60,7 @@ val_t string_search___Pattern___split_in(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_string_search;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___init(); /*new Array[Match]*/
   variable1 = variable2;
   variable2 =  TAG_Int(0);
   variable4 = ((string_search___Pattern___search_in_t)CALL( self,COLOR_string_search___Pattern___search_in))( self,  variable0 /*s*/,  TAG_Int(0)) /*Pattern::search_in*/;
@@ -71,7 +71,7 @@ val_t string_search___Pattern___split_in(val_t  self, val_t  param0) {
     variable5 = ((string_search___Match___from_t)CALL( variable3 /*match*/,COLOR_string_search___Match___from))( variable3 /*match*/) /*Match::from*/;
     variable5 = TAG_Int(UNTAG_Int(variable5)-UNTAG_Int( variable2 /*i*/));
     variable4 = variable5;
-    variable5 = NEW_string_search___Match___init( variable0 /*s*/,  variable2 /*i*/,  variable4 /*len*/); /*new Match*/
+    variable5 = NEW_Match_string_search___Match___init( variable0 /*s*/,  variable2 /*i*/,  variable4 /*len*/); /*new Match*/
     ((array___AbstractArray___add_t)CALL( variable1 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*res*/, variable5) /*AbstractArray::add*/;
     variable5 = ((string_search___Match___after_t)CALL( variable3 /*match*/,COLOR_string_search___Match___after))( variable3 /*match*/) /*Match::after*/;
     variable2 = variable5 /*i=*/;
@@ -82,7 +82,7 @@ val_t string_search___Pattern___split_in(val_t  self, val_t  param0) {
   break_3: while(0);
   variable4 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   variable4 = TAG_Int(UNTAG_Int(variable4)-UNTAG_Int( variable2 /*i*/));
-  variable5 = NEW_string_search___Match___init( variable0 /*s*/,  variable2 /*i*/, variable4); /*new Match*/
+  variable5 = NEW_Match_string_search___Match___init( variable0 /*s*/,  variable2 /*i*/, variable4); /*new Match*/
   variable4 = variable5;
   ((array___AbstractArray___add_t)CALL( variable1 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*res*/, variable4) /*AbstractArray::add*/;
   variable1 =  variable1 /*res*/;
@@ -91,6 +91,13 @@ val_t string_search___Pattern___split_in(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return variable1;
 }
+void string_search___Pattern___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_string_search___Pattern___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
+  tracehead = trace.prev;
+  return;
+}
 val_t string_search___BM_Pattern___to_s(val_t  self) {
   struct trace_t trace = {NULL, NULL, 67, LOCATE_string_search___BM_Pattern___to_s};
   val_t variable0;
@@ -215,7 +222,7 @@ val_t string_search___BM_Pattern___search_in(val_t  self, val_t  param0, val_t
     goto return_label9;
   } else { /*if*/
     variable3 = ATTR_string_search___BM_Pattern____length( self) /*BM_Pattern::_length*/;
-    variable4 = NEW_string_search___Match___init( variable0 /*s*/,  variable2 /*to*/, variable3); /*new Match*/
+    variable4 = NEW_Match_string_search___Match___init( variable0 /*s*/,  variable2 /*to*/, variable3); /*new Match*/
     variable3 = variable4;
     variable2 = variable3;
     goto return_label9;
@@ -237,10 +244,10 @@ void string_search___BM_Pattern___init(val_t  self, val_t  param0, int* init_tab
   variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*motif*/,COLOR_abstract_collection___Collection___length))( variable0 /*motif*/) /*AbstractArray::length*/;
   ATTR_string_search___BM_Pattern____length( self) /*BM_Pattern::_length*/ = variable1;
   variable1 = ATTR_string_search___BM_Pattern____length( self) /*BM_Pattern::_length*/;
-  variable2 = NEW_array___Array___with_capacity(variable1); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___with_capacity(variable1); /*new Array[Int]*/
   variable1 = variable2;
   ATTR_string_search___BM_Pattern____gs( self) /*BM_Pattern::_gs*/ = variable1;
-  variable1 = NEW_array___ArrayMap___init(); /*new ArrayMap[K, E]*/
+  variable1 = NEW_ArrayMap_array___ArrayMap___init(); /*new ArrayMap[Char, Int]*/
   ATTR_string_search___BM_Pattern____bc_table( self) /*BM_Pattern::_bc_table*/ = variable1;
   ((string_search___BM_Pattern___compute_gs_t)CALL( self,COLOR_string_search___BM_Pattern___compute_gs))( self) /*BM_Pattern::compute_gs*/;
   ((string_search___BM_Pattern___compute_bc_t)CALL( self,COLOR_string_search___BM_Pattern___compute_bc))( self) /*BM_Pattern::compute_bc*/;
@@ -319,7 +326,7 @@ val_t string_search___BM_Pattern___suffixes(val_t  self) {
   variable0 = variable1;
   variable2 = ATTR_string_search___BM_Pattern____length( self) /*BM_Pattern::_length*/;
   variable1 = variable2;
-  variable3 = NEW_array___Array___filled_with( variable1 /*m*/,  variable1 /*m*/); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___filled_with( variable1 /*m*/,  variable1 /*m*/); /*new Array[Int]*/
   variable2 = variable3;
   variable3 =  TAG_Int(0);
   variable5 = TAG_Int(UNTAG_Int( variable1 /*m*/)-UNTAG_Int( TAG_Int(1)));
@@ -668,7 +675,7 @@ val_t string_search___Char___search_in(val_t  self, val_t  param0, val_t  param1
     variable2 =  NIT_NULL /*null*/;
     goto return_label32;
   } else { /*if*/
-    variable3 = NEW_string_search___Match___init( variable0 /*s*/,  variable2 /*pos*/,  TAG_Int(1)); /*new Match*/
+    variable3 = NEW_Match_string_search___Match___init( variable0 /*s*/,  variable2 /*pos*/,  TAG_Int(1)); /*new Match*/
     variable2 = variable3;
     goto return_label32;
   }
@@ -752,7 +759,7 @@ val_t string_search___String___search_in(val_t  self, val_t  param0, val_t  para
     goto return_label36;
   } else { /*if*/
     variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
-    variable4 = NEW_string_search___Match___init( variable0 /*s*/,  variable2 /*pos*/, variable3); /*new Match*/
+    variable4 = NEW_Match_string_search___Match___init( variable0 /*s*/,  variable2 /*pos*/, variable3); /*new Match*/
     variable3 = variable4;
     variable2 = variable3;
     goto return_label36;
@@ -816,7 +823,7 @@ val_t string_search___String___split_with(val_t  self, val_t  param0) {
   variable2 = ((string_search___Pattern___split_in_t)CALL( variable0 /*p*/,COLOR_string_search___Pattern___split_in))( variable0 /*p*/,  self) /*Pattern::split_in*/;
   variable1 = variable2;
   variable3 = ((array___AbstractArray___length_t)CALL( variable1 /*matches*/,COLOR_abstract_collection___Collection___length))( variable1 /*matches*/) /*AbstractArray::length*/;
-  variable4 = NEW_array___Array___with_capacity(variable3); /*new Array[E]*/
+  variable4 = NEW_Array_array___Array___with_capacity(variable3); /*new Array[String]*/
   variable3 = variable4;
   variable2 = variable3;
   variable3 = ((array___AbstractArray___iterator_t)CALL( variable1 /*matches*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*matches*/) /*AbstractArray::iterator*/;
index 1b4c1fe..2fea241 100644 (file)
@@ -18,34 +18,35 @@ extern const int SFT_string_search[];
 #define COLOR_string_search___Pattern___search_in SFT_string_search[4]
 #define COLOR_string_search___Pattern___search_all_in SFT_string_search[5]
 #define COLOR_string_search___Pattern___split_in SFT_string_search[6]
-#define ID_BM_Pattern SFT_string_search[7]
-#define COLOR_BM_Pattern SFT_string_search[8]
-#define COLOR_string_search___BM_Pattern____motif SFT_string_search[9]
-#define COLOR_string_search___BM_Pattern____length SFT_string_search[10]
-#define COLOR_string_search___BM_Pattern____gs SFT_string_search[11]
-#define COLOR_string_search___BM_Pattern____bc_table SFT_string_search[12]
-#define INIT_TABLE_POS_BM_Pattern SFT_string_search[13]
-#define COLOR_string_search___BM_Pattern___init SFT_string_search[14]
-#define COLOR_string_search___BM_Pattern___bc SFT_string_search[15]
-#define COLOR_string_search___BM_Pattern___compute_bc SFT_string_search[16]
-#define COLOR_string_search___BM_Pattern___suffixes SFT_string_search[17]
-#define COLOR_string_search___BM_Pattern___compute_gs SFT_string_search[18]
-#define ID_Match SFT_string_search[19]
-#define COLOR_Match SFT_string_search[20]
-#define COLOR_string_search___Match____string SFT_string_search[21]
-#define COLOR_string_search___Match____from SFT_string_search[22]
-#define COLOR_string_search___Match____length SFT_string_search[23]
-#define INIT_TABLE_POS_Match SFT_string_search[24]
-#define COLOR_string_search___Match___string SFT_string_search[25]
-#define COLOR_string_search___Match___from SFT_string_search[26]
-#define COLOR_string_search___Match___length SFT_string_search[27]
-#define COLOR_string_search___Match___after SFT_string_search[28]
-#define COLOR_string_search___Match___init SFT_string_search[29]
-#define COLOR_string_search___String___search SFT_string_search[30]
-#define COLOR_string_search___String___search_from SFT_string_search[31]
-#define COLOR_string_search___String___search_all SFT_string_search[32]
-#define COLOR_string_search___String___split_with SFT_string_search[33]
-#define COLOR_string_search___String___split SFT_string_search[34]
+#define COLOR_string_search___Pattern___init SFT_string_search[7]
+#define ID_BM_Pattern SFT_string_search[8]
+#define COLOR_BM_Pattern SFT_string_search[9]
+#define COLOR_string_search___BM_Pattern____motif SFT_string_search[10]
+#define COLOR_string_search___BM_Pattern____length SFT_string_search[11]
+#define COLOR_string_search___BM_Pattern____gs SFT_string_search[12]
+#define COLOR_string_search___BM_Pattern____bc_table SFT_string_search[13]
+#define INIT_TABLE_POS_BM_Pattern SFT_string_search[14]
+#define COLOR_string_search___BM_Pattern___init SFT_string_search[15]
+#define COLOR_string_search___BM_Pattern___bc SFT_string_search[16]
+#define COLOR_string_search___BM_Pattern___compute_bc SFT_string_search[17]
+#define COLOR_string_search___BM_Pattern___suffixes SFT_string_search[18]
+#define COLOR_string_search___BM_Pattern___compute_gs SFT_string_search[19]
+#define ID_Match SFT_string_search[20]
+#define COLOR_Match SFT_string_search[21]
+#define COLOR_string_search___Match____string SFT_string_search[22]
+#define COLOR_string_search___Match____from SFT_string_search[23]
+#define COLOR_string_search___Match____length SFT_string_search[24]
+#define INIT_TABLE_POS_Match SFT_string_search[25]
+#define COLOR_string_search___Match___string SFT_string_search[26]
+#define COLOR_string_search___Match___from SFT_string_search[27]
+#define COLOR_string_search___Match___length SFT_string_search[28]
+#define COLOR_string_search___Match___after SFT_string_search[29]
+#define COLOR_string_search___Match___init SFT_string_search[30]
+#define COLOR_string_search___String___search SFT_string_search[31]
+#define COLOR_string_search___String___search_from SFT_string_search[32]
+#define COLOR_string_search___String___search_all SFT_string_search[33]
+#define COLOR_string_search___String___split_with SFT_string_search[34]
+#define COLOR_string_search___String___split SFT_string_search[35]
 typedef val_t (* string_search___Pattern___search_index_in_t)(val_t  self, val_t  param0, val_t  param1);
 val_t string_search___Pattern___search_index_in(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_string_search___Pattern___search_index_in "string_search::Pattern::search_index_in"
@@ -58,6 +59,10 @@ val_t string_search___Pattern___search_all_in(val_t  self, val_t  param0);
 typedef val_t (* string_search___Pattern___split_in_t)(val_t  self, val_t  param0);
 val_t string_search___Pattern___split_in(val_t  self, val_t  param0);
 #define LOCATE_string_search___Pattern___split_in "string_search::Pattern::split_in"
+typedef void (* string_search___Pattern___init_t)(val_t  self, int* init_table);
+void string_search___Pattern___init(val_t  self, int* init_table);
+val_t NEW_string_search___Pattern___init();
+#define LOCATE_string_search___Pattern___init "string_search::Pattern::init"
 typedef val_t (* string_search___BM_Pattern___to_s_t)(val_t  self);
 val_t string_search___BM_Pattern___to_s(val_t  self);
 #define LOCATE_string_search___BM_Pattern___to_s "string_search::BM_Pattern::(string::Object::to_s)"
index f80f0c9..a6860fe 100644 (file)
@@ -10,7 +10,7 @@ val_t symbol___String___to_symbol(val_t  self) {
   trace.file = LOCATE_symbol;
   if (once_bool_variable1_1) variable1 = once_value_variable1_1;
   else {
-    variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+    variable1 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[String, Symbol]*/
     once_value_variable1_1 = variable1;
     once_bool_variable1_1 = true;
   }
@@ -21,7 +21,7 @@ val_t symbol___String___to_symbol(val_t  self) {
     variable0 = variable1;
     goto return_label0;
   } else { /*if*/
-    variable2 = NEW_symbol___Symbol___init( self); /*new Symbol*/
+    variable2 = NEW_Symbol_symbol___Symbol___init( self); /*new Symbol*/
     variable1 = variable2;
     ((hash___HashMap_____braeq_t)CALL( variable0 /*symbol_dictionary*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*symbol_dictionary*/,  self,  variable1 /*symbol*/) /*HashMap::[]=*/;
     variable0 =  variable1 /*symbol*/;
index 4c5aba3..cb06622 100644 (file)
@@ -5,7 +5,7 @@ val_t syntax___SrcModuleLoader___file_type(val_t  self) {
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax;
-  variable0 = NEW_string___String___with_native(BOX_NativeString("nit"), TAG_Int(3)); /*new String*/
+  variable0 = NEW_String_string___String___with_native(BOX_NativeString("nit"), TAG_Int(3)); /*new String*/
   goto return_label0;
   return_label0: while(false);
   tracehead = trace.prev;
@@ -40,9 +40,9 @@ val_t syntax___SrcModuleLoader___parse_file(val_t  self, val_t  param0, val_t  p
   variable2 =  param2;
   variable3 =  param3;
   variable4 =  param4;
-  variable6 = NEW_lexer___Lexer___init( variable1 /*file*/,  variable2 /*filename*/); /*new Lexer*/
+  variable6 = NEW_Lexer_lexer___Lexer___init( variable1 /*file*/,  variable2 /*filename*/); /*new Lexer*/
   variable5 = variable6;
-  variable7 = NEW_parser___Parser___init( variable5 /*lexer*/); /*new Parser*/
+  variable7 = NEW_Parser_parser___Parser___init( variable5 /*lexer*/); /*new Parser*/
   variable6 = variable7;
   variable8 = ((parser___Parser___parse_t)CALL( variable6 /*parser*/,COLOR_parser___Parser___parse))( variable6 /*parser*/) /*Parser::parse*/;
   variable7 = variable8;
@@ -53,20 +53,20 @@ val_t syntax___SrcModuleLoader___parse_file(val_t  self, val_t  param0, val_t  p
     variable8 = variable9;
     variable9 = TAG_Bool(( variable8 /*err*/==NIT_NULL) || VAL_ISA( variable8 /*err*/, COLOR_PError, ID_PError)) /*cast PError*/;
     if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax___SrcModuleLoader___parse_file, LOCATE_syntax, 40); nit_exit(1);}
-    variable9 = NEW_string___String___init(); /*new String*/
-    variable10 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable9 = NEW_String_string___String___init(); /*new String*/
+    variable10 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable11 = variable10;
     ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable11) /*String::append*/;
     variable12 = ((parser_prod___Token___locate_t)CALL( variable8 /*err*/,COLOR_parser_prod___PNode___locate))( variable8 /*err*/) /*Token::locate*/;
     variable13 = variable12;
     ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
+    variable14 = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
     variable15 = variable14;
     ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable15) /*String::append*/;
     variable16 = ((lexer___PError___message_t)CALL( variable8 /*err*/,COLOR_lexer___PError___message))( variable8 /*err*/) /*PError::message*/;
     variable17 = variable16;
     ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable17) /*String::append*/;
-    variable18 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable18 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable19 = variable18;
     ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable19) /*String::append*/;
     ((mmloader___ToolContext___error_t)CALL( variable0 /*context*/,COLOR_mmloader___ToolContext___error))( variable0 /*context*/, variable9) /*ToolContext::error*/;
@@ -76,7 +76,7 @@ val_t syntax___SrcModuleLoader___parse_file(val_t  self, val_t  param0, val_t  p
   variable8 = variable9;
   variable9 = TAG_Bool(( variable8 /*node_module*/==NIT_NULL) || VAL_ISA( variable8 /*node_module*/, COLOR_AModule, ID_AModule)) /*cast AModule*/;
   if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax___SrcModuleLoader___parse_file, LOCATE_syntax, 45); nit_exit(1);}
-  variable10 = NEW_syntax_base___MMSrcModule___init( variable0 /*context*/,  variable8 /*node_module*/,  variable4 /*dir*/,  variable3 /*name*/); /*new MMSrcModule*/
+  variable10 = NEW_MMSrcModule_syntax_base___MMSrcModule___init( variable0 /*context*/,  variable8 /*node_module*/,  variable4 /*dir*/,  variable3 /*name*/); /*new MMSrcModule*/
   variable9 = variable10;
   variable5 =  variable9 /*module*/;
   goto return_label1;
index bf301bf..7dd6d55 100644 (file)
@@ -30,7 +30,7 @@ void syntax_base___MMSrcModule___init(val_t  self, val_t  param0, val_t  param1,
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcModule].i]) return;
   ((abstractmetamodel___MMModule___init_t)CALL( self,COLOR_abstractmetamodel___MMModule___init))( self,  variable3 /*name*/,  variable2 /*dir*/,  variable0 /*c*/, init_table /*YYY*/) /*MMModule::init*/;
   ATTR_syntax_base___MMSrcModule____node( self) /*MMSrcModule::_node*/ =  variable1 /*source*/;
-  variable4 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable4 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, MMSrcLocalClass]*/
   ATTR_syntax_base___MMSrcModule____src_local_classes( self) /*MMSrcModule::_src_local_classes*/ = variable4;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcModule].i] = 1;
   tracehead = trace.prev;
@@ -71,20 +71,20 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t  self, val_t  param0,
   } else { /*if*/
     variable5 = TAG_Bool(( variable4 /*vpm*/)==( TAG_Int(0)));
     if (UNTAG_Bool(variable5)) { /*if*/
-      variable5 = NEW_string___String___init(); /*new String*/
-      variable6 = NEW_string___String___with_native(BOX_NativeString("Visibility error: Class "), TAG_Int(24)); /*new String*/
+      variable5 = NEW_String_string___String___init(); /*new String*/
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Class "), TAG_Int(24)); /*new String*/
       variable7 = variable6;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
       variable8 =  self;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString(" comes from the hidden module "), TAG_Int(30)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString(" comes from the hidden module "), TAG_Int(30)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
       variable11 =  variable2 /*cm*/;
       variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
-      variable12 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable12 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable13 = variable12;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  variable1 /*n*/, variable5) /*AbsSyntaxVisitor::error*/;
@@ -94,14 +94,14 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t  self, val_t  param0,
       variable5 = ((abstractmetamodel___MMGlobalClass___visibility_level_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___visibility_level))( self) /*MMGlobalClass::visibility_level*/;
       variable5 = TAG_Bool(UNTAG_Int(variable5)>=UNTAG_Int( TAG_Int(3)));
       if (UNTAG_Bool(variable5)) { /*if*/
-        variable5 = NEW_string___String___init(); /*new String*/
-        variable6 = NEW_string___String___with_native(BOX_NativeString("Visibility error: Class "), TAG_Int(24)); /*new String*/
+        variable5 = NEW_String_string___String___init(); /*new String*/
+        variable6 = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Class "), TAG_Int(24)); /*new String*/
         variable7 = variable6;
         ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
         variable8 =  self;
         variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
         ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-        variable9 = NEW_string___String___with_native(BOX_NativeString(" is private."), TAG_Int(12)); /*new String*/
+        variable9 = NEW_String_string___String___with_native(BOX_NativeString(" is private."), TAG_Int(12)); /*new String*/
         variable10 = variable9;
         ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  variable1 /*n*/, variable5) /*AbsSyntaxVisitor::error*/;
@@ -158,10 +158,10 @@ void syntax_base___MMSrcLocalClass___init(val_t  self, val_t  param0, val_t  par
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcLocalClass].i]) return;
   ((abstractmetamodel___MMLocalClass___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___init))( self,  variable0 /*n*/,  variable2 /*a*/, init_table /*YYY*/) /*MMLocalClass::init*/;
-  variable3 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  variable3 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[PClassdef]*/
   ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable1 /*cla*/) /*AbstractArray::add*/;
   ATTR_syntax_base___MMSrcLocalClass____nodes( self) /*MMSrcLocalClass::_nodes*/ = variable3;
-  variable3 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable3 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, MMLocalProperty]*/
   ATTR_syntax_base___MMSrcLocalClass____src_local_properties( self) /*MMSrcLocalClass::_src_local_properties*/ = variable3;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcLocalClass].i] = 1;
   tracehead = trace.prev;
@@ -204,20 +204,20 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t  self, val_t  para
   } else { /*if*/
     variable6 = TAG_Bool(( variable5 /*vpm*/)==( TAG_Int(0)));
     if (UNTAG_Bool(variable6)) { /*if*/
-      variable6 = NEW_string___String___init(); /*new String*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
+      variable6 = NEW_String_string___String___init(); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
       variable9 =  self;
       variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-      variable10 = NEW_string___String___with_native(BOX_NativeString(" comes from the hidden module "), TAG_Int(30)); /*new String*/
+      variable10 = NEW_String_string___String___with_native(BOX_NativeString(" comes from the hidden module "), TAG_Int(30)); /*new String*/
       variable11 = variable10;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
       variable12 =  variable2 /*cm*/;
       variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  variable1 /*n*/, variable6) /*AbsSyntaxVisitor::error*/;
@@ -227,14 +227,14 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t  self, val_t  para
       variable6 = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))( self) /*MMGlobalProperty::visibility_level*/;
       variable6 = TAG_Bool(UNTAG_Int(variable6)>=UNTAG_Int( TAG_Int(3)));
       if (UNTAG_Bool(variable6)) { /*if*/
-        variable6 = NEW_string___String___init(); /*new String*/
-        variable7 = NEW_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
+        variable6 = NEW_String_string___String___init(); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
         variable8 = variable7;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
         variable9 =  self;
         variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-        variable10 = NEW_string___String___with_native(BOX_NativeString(" is private."), TAG_Int(12)); /*new String*/
+        variable10 = NEW_String_string___String___with_native(BOX_NativeString(" is private."), TAG_Int(12)); /*new String*/
         variable11 = variable10;
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  variable1 /*n*/, variable6) /*AbsSyntaxVisitor::error*/;
@@ -249,14 +249,14 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t  self, val_t  para
         }
         variable6 = variable7;
         if (UNTAG_Bool(variable6)) { /*if*/
-          variable6 = NEW_string___String___init(); /*new String*/
-          variable7 = NEW_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
+          variable6 = NEW_String_string___String___init(); /*new String*/
+          variable7 = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
           variable8 = variable7;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
           variable9 =  self;
           variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-          variable10 = NEW_string___String___with_native(BOX_NativeString(" is protected and can only acceded by self."), TAG_Int(43)); /*new String*/
+          variable10 = NEW_String_string___String___with_native(BOX_NativeString(" is protected and can only acceded by self."), TAG_Int(43)); /*new String*/
           variable11 = variable10;
           ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
           ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  variable1 /*n*/, variable6) /*AbsSyntaxVisitor::error*/;
@@ -283,15 +283,26 @@ val_t syntax_base___MMLocalProperty___node(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
+val_t syntax_base___MMLocalProperty___is_init(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 106, LOCATE_syntax_base___MMLocalProperty___is_init};
+  val_t variable0;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
+  variable0 =  TAG_Bool(false);
+  goto return_label5;
+  return_label5: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
 val_t syntax_base___MMSrcAttribute___node(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 111, LOCATE_syntax_base___MMSrcAttribute___node};
+  struct trace_t trace = {NULL, NULL, 113, LOCATE_syntax_base___MMSrcAttribute___node};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcAttribute____node( self) /*MMSrcAttribute::_node*/;
 }
 void syntax_base___MMSrcAttribute___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 112, LOCATE_syntax_base___MMSrcAttribute___init};
+  struct trace_t trace = {NULL, NULL, 114, LOCATE_syntax_base___MMSrcAttribute___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -308,14 +319,14 @@ void syntax_base___MMSrcAttribute___init(val_t  self, val_t  param0, val_t  para
   return;
 }
 val_t syntax_base___MMAttrImplementationMethod___node(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 128, LOCATE_syntax_base___MMAttrImplementationMethod___node};
+  struct trace_t trace = {NULL, NULL, 129, LOCATE_syntax_base___MMAttrImplementationMethod___node};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMAttrImplementationMethod____node( self) /*MMAttrImplementationMethod::_node*/;
 }
-void syntax_base___MMReadImplementationMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 135, LOCATE_syntax_base___MMReadImplementationMethod___init};
+void syntax_base___MMAttrImplementationMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 130, LOCATE_syntax_base___MMAttrImplementationMethod___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -324,15 +335,31 @@ void syntax_base___MMReadImplementationMethod___init(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMReadImplementationMethod].i]) return;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMAttrImplementationMethod].i]) return;
   ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self,  variable0 /*name*/,  variable1 /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
   ATTR_syntax_base___MMAttrImplementationMethod____node( self) /*MMAttrImplementationMethod::_node*/ =  variable2 /*n*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMAttrImplementationMethod].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
+void syntax_base___MMReadImplementationMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 140, LOCATE_syntax_base___MMReadImplementationMethod___init};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
+  variable0 =  param0;
+  variable1 =  param1;
+  variable2 =  param2;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMReadImplementationMethod].i]) return;
+  ((syntax_base___MMAttrImplementationMethod___init_t)CALL( self,COLOR_syntax_base___MMAttrImplementationMethod___init))( self,  variable0 /*name*/,  variable1 /*cla*/,  variable2 /*n*/, init_table /*YYY*/) /*MMAttrImplementationMethod::init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMReadImplementationMethod].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void syntax_base___MMWriteImplementationMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 146, LOCATE_syntax_base___MMWriteImplementationMethod___init};
+  struct trace_t trace = {NULL, NULL, 149, LOCATE_syntax_base___MMWriteImplementationMethod___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -342,21 +369,32 @@ void syntax_base___MMWriteImplementationMethod___init(val_t  self, val_t  param0
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMWriteImplementationMethod].i]) return;
-  ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self,  variable0 /*name*/,  variable1 /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
-  ATTR_syntax_base___MMAttrImplementationMethod____node( self) /*MMAttrImplementationMethod::_node*/ =  variable2 /*n*/;
+  ((syntax_base___MMAttrImplementationMethod___init_t)CALL( self,COLOR_syntax_base___MMAttrImplementationMethod___init))( self,  variable0 /*name*/,  variable1 /*cla*/,  variable2 /*n*/, init_table /*YYY*/) /*MMAttrImplementationMethod::init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMWriteImplementationMethod].i] = 1;
   tracehead = trace.prev;
   return;
 }
+val_t syntax_base___MMMethSrcMethod___is_init(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 158, LOCATE_syntax_base___MMMethSrcMethod___is_init};
+  val_t variable0;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
+  variable0 = ATTR_syntax_base___MMMethSrcMethod____node( self) /*MMMethSrcMethod::_node*/;
+  variable0 = TAG_Bool((variable0==NIT_NULL) || VAL_ISA(variable0, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
+  goto return_label10;
+  return_label10: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
 val_t syntax_base___MMMethSrcMethod___node(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 156, LOCATE_syntax_base___MMMethSrcMethod___node};
+  struct trace_t trace = {NULL, NULL, 159, LOCATE_syntax_base___MMMethSrcMethod___node};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMMethSrcMethod____node( self) /*MMMethSrcMethod::_node*/;
 }
 void syntax_base___MMMethSrcMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 157, LOCATE_syntax_base___MMMethSrcMethod___init};
+  struct trace_t trace = {NULL, NULL, 160, LOCATE_syntax_base___MMMethSrcMethod___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -373,14 +411,14 @@ void syntax_base___MMMethSrcMethod___init(val_t  self, val_t  param0, val_t  par
   return;
 }
 val_t syntax_base___MMSrcTypeProperty___node(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 168, LOCATE_syntax_base___MMSrcTypeProperty___node};
+  struct trace_t trace = {NULL, NULL, 171, LOCATE_syntax_base___MMSrcTypeProperty___node};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcTypeProperty____node( self) /*MMSrcTypeProperty::_node*/;
 }
 void syntax_base___MMSrcTypeProperty___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 169, LOCATE_syntax_base___MMSrcTypeProperty___init};
+  struct trace_t trace = {NULL, NULL, 172, LOCATE_syntax_base___MMSrcTypeProperty___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -396,29 +434,81 @@ void syntax_base___MMSrcTypeProperty___init(val_t  self, val_t  param0, val_t  p
   tracehead = trace.prev;
   return;
 }
+val_t syntax_base___MMImplicitInit___is_init(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 182, LOCATE_syntax_base___MMImplicitInit___is_init};
+  val_t variable0;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
+  variable0 =  TAG_Bool(true);
+  goto return_label13;
+  return_label13: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t syntax_base___MMImplicitInit___unassigned_attributes(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 183, LOCATE_syntax_base___MMImplicitInit___unassigned_attributes};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
+  tracehead = trace.prev;
+  return ATTR_syntax_base___MMImplicitInit____unassigned_attributes( self) /*MMImplicitInit::_unassigned_attributes*/;
+}
+val_t syntax_base___MMImplicitInit___super_inits(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 184, LOCATE_syntax_base___MMImplicitInit___super_inits};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
+  tracehead = trace.prev;
+  return ATTR_syntax_base___MMImplicitInit____super_inits( self) /*MMImplicitInit::_super_inits*/;
+}
+void syntax_base___MMImplicitInit___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 185, LOCATE_syntax_base___MMImplicitInit___init};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+  val_t variable3;
+  static val_t once_value_variable3_15; static int once_bool_variable3_15;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
+  variable0 =  param0;
+  variable1 =  param1;
+  variable2 =  param2;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitInit].i]) return;
+  if (once_bool_variable3_15) variable3 = once_value_variable3_15;
+  else {
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
+    variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
+    once_value_variable3_15 = variable3;
+    once_bool_variable3_15 = true;
+  }
+  ((syntax_base___MMMethSrcMethod___init_t)CALL( self,COLOR_syntax_base___MMMethSrcMethod___init))( self, variable3,  variable0 /*cla*/,  NIT_NULL /*null*/, init_table /*YYY*/) /*MMMethSrcMethod::init*/;
+  ATTR_syntax_base___MMImplicitInit____unassigned_attributes( self) /*MMImplicitInit::_unassigned_attributes*/ =  variable1 /*unassigned_attributes*/;
+  ATTR_syntax_base___MMImplicitInit____super_inits( self) /*MMImplicitInit::_super_inits*/ =  variable2 /*super_inits*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitInit].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
 val_t syntax_base___Variable___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 179, LOCATE_syntax_base___Variable___name};
+  struct trace_t trace = {NULL, NULL, 195, LOCATE_syntax_base___Variable___name};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___Variable____name( self) /*Variable::_name*/;
 }
 val_t syntax_base___Variable___decl(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 182, LOCATE_syntax_base___Variable___decl};
+  struct trace_t trace = {NULL, NULL, 198, LOCATE_syntax_base___Variable___decl};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___Variable____decl( self) /*Variable::_decl*/;
 }
 val_t syntax_base___Variable___stype(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 185, LOCATE_syntax_base___Variable___stype};
+  struct trace_t trace = {NULL, NULL, 201, LOCATE_syntax_base___Variable___stype};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___Variable____stype( self) /*Variable::_stype*/;
 }
 void syntax_base___Variable___stype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 185, LOCATE_syntax_base___Variable___stype__eq};
+  struct trace_t trace = {NULL, NULL, 201, LOCATE_syntax_base___Variable___stype__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___Variable____stype( self) /*Variable::_stype*/ =  param0;
@@ -426,19 +516,19 @@ void syntax_base___Variable___stype__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t syntax_base___Variable___to_s(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 188, LOCATE_syntax_base___Variable___to_s};
+  struct trace_t trace = {NULL, NULL, 204, LOCATE_syntax_base___Variable___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___Variable____name( self) /*Variable::_name*/;
   variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
-  goto return_label10;
-  return_label10: while(false);
+  goto return_label16;
+  return_label16: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void syntax_base___Variable___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 190, LOCATE_syntax_base___Variable___init};
+  struct trace_t trace = {NULL, NULL, 206, LOCATE_syntax_base___Variable___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -448,9 +538,9 @@ void syntax_base___Variable___init(val_t  self, val_t  param0, val_t  param1, in
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Variable].i]) return;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Variable___init, LOCATE_syntax_base, 192); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Variable___init, LOCATE_syntax_base, 208); nit_exit(1);}
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*d*/ ==  NIT_NULL /*null*/) || (( variable1 /*d*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*d*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*d*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*d*/,COLOR_kernel___Object_____eqeq))( variable1 /*d*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Variable___init, LOCATE_syntax_base, 193); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Variable___init, LOCATE_syntax_base, 209); nit_exit(1);}
   ATTR_syntax_base___Variable____name( self) /*Variable::_name*/ =  variable0 /*n*/;
   ATTR_syntax_base___Variable____decl( self) /*Variable::_decl*/ =  variable1 /*d*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Variable].i] = 1;
@@ -458,232 +548,232 @@ void syntax_base___Variable___init(val_t  self, val_t  param0, val_t  param1, in
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_bool(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 204, LOCATE_syntax_base___AbsSyntaxVisitor___type_bool};
+  struct trace_t trace = {NULL, NULL, 220, LOCATE_syntax_base___AbsSyntaxVisitor___type_bool};
   val_t variable0;
   val_t variable1;
-  static val_t once_value_variable1_13; static int once_bool_variable1_13;
+  static val_t once_value_variable1_19; static int once_bool_variable1_19;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable1_13) variable1 = once_value_variable1_13;
+  if (once_bool_variable1_19) variable1 = once_value_variable1_19;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
     variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
-    once_value_variable1_13 = variable1;
-    once_bool_variable1_13 = true;
+    once_value_variable1_19 = variable1;
+    once_bool_variable1_19 = true;
   }
   variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
   variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
-  goto return_label12;
-  return_label12: while(false);
+  goto return_label18;
+  return_label18: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_int(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 210, LOCATE_syntax_base___AbsSyntaxVisitor___type_int};
+  struct trace_t trace = {NULL, NULL, 226, LOCATE_syntax_base___AbsSyntaxVisitor___type_int};
   val_t variable0;
   val_t variable1;
-  static val_t once_value_variable1_15; static int once_bool_variable1_15;
+  static val_t once_value_variable1_21; static int once_bool_variable1_21;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable1_15) variable1 = once_value_variable1_15;
+  if (once_bool_variable1_21) variable1 = once_value_variable1_21;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
     variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
-    once_value_variable1_15 = variable1;
-    once_bool_variable1_15 = true;
+    once_value_variable1_21 = variable1;
+    once_bool_variable1_21 = true;
   }
   variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
   variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
-  goto return_label14;
-  return_label14: while(false);
+  goto return_label20;
+  return_label20: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_float(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 216, LOCATE_syntax_base___AbsSyntaxVisitor___type_float};
+  struct trace_t trace = {NULL, NULL, 232, LOCATE_syntax_base___AbsSyntaxVisitor___type_float};
   val_t variable0;
   val_t variable1;
-  static val_t once_value_variable1_17; static int once_bool_variable1_17;
+  static val_t once_value_variable1_23; static int once_bool_variable1_23;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable1_17) variable1 = once_value_variable1_17;
+  if (once_bool_variable1_23) variable1 = once_value_variable1_23;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
     variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
-    once_value_variable1_17 = variable1;
-    once_bool_variable1_17 = true;
+    once_value_variable1_23 = variable1;
+    once_bool_variable1_23 = true;
   }
   variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
   variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
-  goto return_label16;
-  return_label16: while(false);
+  goto return_label22;
+  return_label22: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_char(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 222, LOCATE_syntax_base___AbsSyntaxVisitor___type_char};
+  struct trace_t trace = {NULL, NULL, 238, LOCATE_syntax_base___AbsSyntaxVisitor___type_char};
   val_t variable0;
   val_t variable1;
-  static val_t once_value_variable1_19; static int once_bool_variable1_19;
+  static val_t once_value_variable1_25; static int once_bool_variable1_25;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable1_19) variable1 = once_value_variable1_19;
+  if (once_bool_variable1_25) variable1 = once_value_variable1_25;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
     variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
-    once_value_variable1_19 = variable1;
-    once_bool_variable1_19 = true;
+    once_value_variable1_25 = variable1;
+    once_bool_variable1_25 = true;
   }
   variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
   variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
-  goto return_label18;
-  return_label18: while(false);
+  goto return_label24;
+  return_label24: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_string(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 228, LOCATE_syntax_base___AbsSyntaxVisitor___type_string};
+  struct trace_t trace = {NULL, NULL, 244, LOCATE_syntax_base___AbsSyntaxVisitor___type_string};
   val_t variable0;
   val_t variable1;
-  static val_t once_value_variable1_21; static int once_bool_variable1_21;
+  static val_t once_value_variable1_27; static int once_bool_variable1_27;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable1_21) variable1 = once_value_variable1_21;
+  if (once_bool_variable1_27) variable1 = once_value_variable1_27;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("String"), TAG_Int(6)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("String"), TAG_Int(6)); /*new String*/
     variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
-    once_value_variable1_21 = variable1;
-    once_bool_variable1_21 = true;
+    once_value_variable1_27 = variable1;
+    once_bool_variable1_27 = true;
   }
   variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
   variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
-  goto return_label20;
-  return_label20: while(false);
+  goto return_label26;
+  return_label26: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 234, LOCATE_syntax_base___AbsSyntaxVisitor___type_collection};
+  struct trace_t trace = {NULL, NULL, 250, LOCATE_syntax_base___AbsSyntaxVisitor___type_collection};
   val_t variable0;
   val_t variable1;
-  static val_t once_value_variable1_23; static int once_bool_variable1_23;
+  static val_t once_value_variable1_29; static int once_bool_variable1_29;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable1_23) variable1 = once_value_variable1_23;
+  if (once_bool_variable1_29) variable1 = once_value_variable1_29;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Collection"), TAG_Int(10)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("Collection"), TAG_Int(10)); /*new String*/
     variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
-    once_value_variable1_23 = variable1;
-    once_bool_variable1_23 = true;
+    once_value_variable1_29 = variable1;
+    once_bool_variable1_29 = true;
   }
   variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
   variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
-  goto return_label22;
-  return_label22: while(false);
+  goto return_label28;
+  return_label28: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_array(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 240, LOCATE_syntax_base___AbsSyntaxVisitor___type_array};
+  struct trace_t trace = {NULL, NULL, 256, LOCATE_syntax_base___AbsSyntaxVisitor___type_array};
   val_t variable0;
   val_t variable1;
   val_t variable2;
-  static val_t once_value_variable2_25; static int once_bool_variable2_25;
+  static val_t once_value_variable2_31; static int once_bool_variable2_31;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable2_25) variable2 = once_value_variable2_25;
+  if (once_bool_variable2_31) variable2 = once_value_variable2_31;
   else {
-    variable2 = NEW_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)); /*new String*/
     variable2 = ((symbol___String___to_symbol_t)CALL(variable2,COLOR_symbol___String___to_symbol))(variable2) /*String::to_symbol*/;
-    once_value_variable2_25 = variable2;
-    once_bool_variable2_25 = true;
+    once_value_variable2_31 = variable2;
+    once_bool_variable2_31 = true;
   }
   variable1 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable1,COLOR_abstractmetamodel___MMModule___class_by_name))(variable1, variable2) /*MMModule::class_by_name*/;
-  variable2 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMType]*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*stype*/) /*AbstractArray::add*/;
   variable1 = ((genericity___MMLocalClass___get_instantiate_type_t)CALL(variable1,COLOR_genericity___MMLocalClass___get_instantiate_type))(variable1, variable2) /*MMLocalClass::get_instantiate_type*/;
-  goto return_label24;
-  return_label24: while(false);
+  goto return_label30;
+  return_label30: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_discrete(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 246, LOCATE_syntax_base___AbsSyntaxVisitor___type_discrete};
+  struct trace_t trace = {NULL, NULL, 262, LOCATE_syntax_base___AbsSyntaxVisitor___type_discrete};
   val_t variable0;
   val_t variable1;
-  static val_t once_value_variable1_27; static int once_bool_variable1_27;
+  static val_t once_value_variable1_33; static int once_bool_variable1_33;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable1_27) variable1 = once_value_variable1_27;
+  if (once_bool_variable1_33) variable1 = once_value_variable1_33;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Discrete"), TAG_Int(8)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString("Discrete"), TAG_Int(8)); /*new String*/
     variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
-    once_value_variable1_27 = variable1;
-    once_bool_variable1_27 = true;
+    once_value_variable1_33 = variable1;
+    once_bool_variable1_33 = true;
   }
   variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
   variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
-  goto return_label26;
-  return_label26: while(false);
+  goto return_label32;
+  return_label32: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_range(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 252, LOCATE_syntax_base___AbsSyntaxVisitor___type_range};
+  struct trace_t trace = {NULL, NULL, 268, LOCATE_syntax_base___AbsSyntaxVisitor___type_range};
   val_t variable0;
   val_t variable1;
   val_t variable2;
-  static val_t once_value_variable2_29; static int once_bool_variable2_29;
+  static val_t once_value_variable2_35; static int once_bool_variable2_35;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable2_29) variable2 = once_value_variable2_29;
+  if (once_bool_variable2_35) variable2 = once_value_variable2_35;
   else {
-    variable2 = NEW_string___String___with_native(BOX_NativeString("Range"), TAG_Int(5)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("Range"), TAG_Int(5)); /*new String*/
     variable2 = ((symbol___String___to_symbol_t)CALL(variable2,COLOR_symbol___String___to_symbol))(variable2) /*String::to_symbol*/;
-    once_value_variable2_29 = variable2;
-    once_bool_variable2_29 = true;
+    once_value_variable2_35 = variable2;
+    once_bool_variable2_35 = true;
   }
   variable1 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable1,COLOR_abstractmetamodel___MMModule___class_by_name))(variable1, variable2) /*MMModule::class_by_name*/;
-  variable2 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  variable2 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMType]*/
   ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*stype*/) /*AbstractArray::add*/;
   variable1 = ((genericity___MMLocalClass___get_instantiate_type_t)CALL(variable1,COLOR_genericity___MMLocalClass___get_instantiate_type))(variable1, variable2) /*MMLocalClass::get_instantiate_type*/;
-  goto return_label28;
-  return_label28: while(false);
+  goto return_label34;
+  return_label34: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_none(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 258, LOCATE_syntax_base___AbsSyntaxVisitor___type_none};
+  struct trace_t trace = {NULL, NULL, 274, LOCATE_syntax_base___AbsSyntaxVisitor___type_none};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   variable0 = ((static_type___MMModule___type_none_t)CALL(variable0,COLOR_static_type___MMModule___type_none))(variable0) /*MMModule::type_none*/;
-  goto return_label30;
-  return_label30: while(false);
+  goto return_label36;
+  return_label36: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___module(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 264, LOCATE_syntax_base___AbsSyntaxVisitor___module};
+  struct trace_t trace = {NULL, NULL, 280, LOCATE_syntax_base___AbsSyntaxVisitor___module};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
 }
 void syntax_base___AbsSyntaxVisitor___module__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 264, LOCATE_syntax_base___AbsSyntaxVisitor___module__eq};
+  struct trace_t trace = {NULL, NULL, 280, LOCATE_syntax_base___AbsSyntaxVisitor___module__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/ =  param0;
@@ -691,14 +781,14 @@ void syntax_base___AbsSyntaxVisitor___module__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 267, LOCATE_syntax_base___AbsSyntaxVisitor___local_class};
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_syntax_base___AbsSyntaxVisitor___local_class};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AbsSyntaxVisitor____local_class( self) /*AbsSyntaxVisitor::_local_class*/;
 }
 void syntax_base___AbsSyntaxVisitor___local_class__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 267, LOCATE_syntax_base___AbsSyntaxVisitor___local_class__eq};
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_syntax_base___AbsSyntaxVisitor___local_class__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AbsSyntaxVisitor____local_class( self) /*AbsSyntaxVisitor::_local_class*/ =  param0;
@@ -706,14 +796,14 @@ void syntax_base___AbsSyntaxVisitor___local_class__eq(val_t  self, val_t  param0
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___local_property(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 270, LOCATE_syntax_base___AbsSyntaxVisitor___local_property};
+  struct trace_t trace = {NULL, NULL, 286, LOCATE_syntax_base___AbsSyntaxVisitor___local_property};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AbsSyntaxVisitor____local_property( self) /*AbsSyntaxVisitor::_local_property*/;
 }
 void syntax_base___AbsSyntaxVisitor___local_property__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 270, LOCATE_syntax_base___AbsSyntaxVisitor___local_property__eq};
+  struct trace_t trace = {NULL, NULL, 286, LOCATE_syntax_base___AbsSyntaxVisitor___local_property__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AbsSyntaxVisitor____local_property( self) /*AbsSyntaxVisitor::_local_property*/ =  param0;
@@ -721,14 +811,14 @@ void syntax_base___AbsSyntaxVisitor___local_property__eq(val_t  self, val_t  par
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___tc(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 273, LOCATE_syntax_base___AbsSyntaxVisitor___tc};
+  struct trace_t trace = {NULL, NULL, 289, LOCATE_syntax_base___AbsSyntaxVisitor___tc};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
 }
 void syntax_base___AbsSyntaxVisitor___error(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 276, LOCATE_syntax_base___AbsSyntaxVisitor___error};
+  struct trace_t trace = {NULL, NULL, 292, LOCATE_syntax_base___AbsSyntaxVisitor___error};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -747,19 +837,19 @@ void syntax_base___AbsSyntaxVisitor___error(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 = ((parser_prod___PNode___locate_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___locate))( variable0 /*n*/) /*PNode::locate*/;
+  variable6 = ((syntax_base___AbsSyntaxVisitor___locate_t)CALL( self,COLOR_syntax_base___AbsSyntaxVisitor___locate))( self,  variable0 /*n*/) /*AbsSyntaxVisitor::locate*/;
   variable7 = variable6;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
   variable10 =  variable1 /*s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
   ((mmloader___ToolContext___error_t)CALL(variable2,COLOR_mmloader___ToolContext___error))(variable2, variable3) /*ToolContext::error*/;
@@ -767,7 +857,7 @@ void syntax_base___AbsSyntaxVisitor___error(val_t  self, val_t  param0, val_t  p
   return;
 }
 void syntax_base___AbsSyntaxVisitor___warning(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, NULL, 282, LOCATE_syntax_base___AbsSyntaxVisitor___warning};
+  struct trace_t trace = {NULL, NULL, 298, LOCATE_syntax_base___AbsSyntaxVisitor___warning};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -786,27 +876,46 @@ void syntax_base___AbsSyntaxVisitor___warning(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 = ((parser_prod___PNode___locate_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___locate))( variable0 /*n*/) /*PNode::locate*/;
+  variable6 = ((syntax_base___AbsSyntaxVisitor___locate_t)CALL( self,COLOR_syntax_base___AbsSyntaxVisitor___locate))( self,  variable0 /*n*/) /*AbsSyntaxVisitor::locate*/;
   variable7 = variable6;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
   variable10 =  variable1 /*s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
   ((mmloader___ToolContext___warning_t)CALL(variable2,COLOR_mmloader___ToolContext___warning))(variable2, variable3) /*ToolContext::warning*/;
   tracehead = trace.prev;
   return;
 }
+val_t syntax_base___AbsSyntaxVisitor___locate(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 304, LOCATE_syntax_base___AbsSyntaxVisitor___locate};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
+  variable0 =  param0;
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable1)) { /*if*/
+    variable1 = ((parser_prod___PNode___locate_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___locate))( variable0 /*n*/) /*PNode::locate*/;
+    goto return_label39;
+  }
+  variable1 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
+  variable1 = ((mmloader___MMModule___filename_t)CALL(variable1,COLOR_mmloader___MMModule___filename))(variable1) /*MMModule::filename*/;
+  goto return_label39;
+  return_label39: while(false);
+  tracehead = trace.prev;
+  return variable1;
+}
 val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, NULL, 288, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform};
+  struct trace_t trace = {NULL, NULL, 311, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -832,38 +941,38 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t  self, val_t  param0,
   variable3 = variable4;
   if (UNTAG_Bool(variable3)) { /*if*/
     variable3 =  TAG_Bool(false);
-    goto return_label33;
+    goto return_label40;
   }
   variable3 = ((static_type___MMType_____l_t)CALL( variable1 /*subtype*/,COLOR_static_type___MMType_____l))( variable1 /*subtype*/,  variable2 /*stype*/) /*MMType::<*/;
   if (UNTAG_Bool(variable3)) { /*if*/
     variable3 =  TAG_Bool(true);
-    goto return_label33;
+    goto return_label40;
   }
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("Type error: expected "), TAG_Int(21)); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
+  variable4 = NEW_String_string___String___with_native(BOX_NativeString("Type error: expected "), TAG_Int(21)); /*new String*/
   variable5 = variable4;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
   variable6 =  variable2 /*stype*/;
   variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(", got "), TAG_Int(6)); /*new String*/
+  variable7 = NEW_String_string___String___with_native(BOX_NativeString(", got "), TAG_Int(6)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
   variable9 =  variable1 /*subtype*/;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable10 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
   ((syntax_base___AbsSyntaxVisitor___error_t)CALL( self,COLOR_syntax_base___AbsSyntaxVisitor___error))( self,  variable0 /*n*/, variable3) /*AbsSyntaxVisitor::error*/;
   variable3 =  TAG_Bool(false);
-  goto return_label33;
-  return_label33: while(false);
+  goto return_label40;
+  return_label40: while(false);
   tracehead = trace.prev;
   return variable3;
 }
 void syntax_base___AbsSyntaxVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 304, LOCATE_syntax_base___AbsSyntaxVisitor___init};
+  struct trace_t trace = {NULL, NULL, 327, LOCATE_syntax_base___AbsSyntaxVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -878,7 +987,7 @@ void syntax_base___AbsSyntaxVisitor___init(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void syntax_base___PNode___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 314, LOCATE_syntax_base___PNode___accept_abs_syntax_visitor};
+  struct trace_t trace = {NULL, NULL, 337, LOCATE_syntax_base___PNode___accept_abs_syntax_visitor};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
@@ -888,7 +997,7 @@ void syntax_base___PNode___accept_abs_syntax_visitor(val_t  self, val_t  param0)
   return;
 }
 val_t syntax_base___Token___to_symbol(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 320, LOCATE_syntax_base___Token___to_symbol};
+  struct trace_t trace = {NULL, NULL, 343, LOCATE_syntax_base___Token___to_symbol};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -903,133 +1012,133 @@ val_t syntax_base___Token___to_symbol(val_t  self) {
     ATTR_syntax_base___Token____symbol( self) /*Token::_symbol*/ =  variable0 /*s*/;
   }
   variable0 =  variable0 /*s*/;
-  goto return_label36;
-  return_label36: while(false);
+  goto return_label43;
+  return_label43: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t syntax_base___PClassdef___local_class(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 334, LOCATE_syntax_base___PClassdef___local_class};
+  struct trace_t trace = {NULL, NULL, 357, LOCATE_syntax_base___PClassdef___local_class};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 334);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 357);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___AAttrPropdef___prop(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 339, LOCATE_syntax_base___AAttrPropdef___prop};
+  struct trace_t trace = {NULL, NULL, 362, LOCATE_syntax_base___AAttrPropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 339);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 362);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___AAttrPropdef___readmethod(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 342, LOCATE_syntax_base___AAttrPropdef___readmethod};
+  struct trace_t trace = {NULL, NULL, 365, LOCATE_syntax_base___AAttrPropdef___readmethod};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 342);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 365);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___AAttrPropdef___writemethod(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 345, LOCATE_syntax_base___AAttrPropdef___writemethod};
+  struct trace_t trace = {NULL, NULL, 368, LOCATE_syntax_base___AAttrPropdef___writemethod};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 345);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 368);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___AMethPropdef___method(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 350, LOCATE_syntax_base___AMethPropdef___method};
+  struct trace_t trace = {NULL, NULL, 373, LOCATE_syntax_base___AMethPropdef___method};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 350);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 373);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___ATypePropdef___prop(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 355, LOCATE_syntax_base___ATypePropdef___prop};
+  struct trace_t trace = {NULL, NULL, 378, LOCATE_syntax_base___ATypePropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 355);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 378);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___PParam___position(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 360, LOCATE_syntax_base___PParam___position};
+  struct trace_t trace = {NULL, NULL, 383, LOCATE_syntax_base___PParam___position};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 360);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 383);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___PParam___variable(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 363, LOCATE_syntax_base___PParam___variable};
+  struct trace_t trace = {NULL, NULL, 386, LOCATE_syntax_base___PParam___variable};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 363);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 386);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___PType___get_local_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 368, LOCATE_syntax_base___PType___get_local_class};
+  struct trace_t trace = {NULL, NULL, 391, LOCATE_syntax_base___PType___get_local_class};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 368);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 391);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___PType___get_stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 373, LOCATE_syntax_base___PType___get_stype};
+  struct trace_t trace = {NULL, NULL, 396, LOCATE_syntax_base___PType___get_stype};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 373);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 396);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___PType___get_unchecked_stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 377, LOCATE_syntax_base___PType___get_unchecked_stype};
+  struct trace_t trace = {NULL, NULL, 400, LOCATE_syntax_base___PType___get_unchecked_stype};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 377);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 400);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void syntax_base___PType___check_conform(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 383, LOCATE_syntax_base___PType___check_conform};
+  struct trace_t trace = {NULL, NULL, 406, LOCATE_syntax_base___PType___check_conform};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 383);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 406);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___AType___get_local_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 393, LOCATE_syntax_base___AType___get_local_class};
+  struct trace_t trace = {NULL, NULL, 416, LOCATE_syntax_base___AType___get_local_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1075,57 +1184,57 @@ val_t syntax_base___AType___get_local_class(val_t  self, val_t  param0) {
   variable4 = variable5;
   if (UNTAG_Bool(variable4)) { /*if*/
     variable4 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
-    variable5 = NEW_string___String___init(); /*new String*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
+    variable5 = NEW_String_string___String___init(); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
     variable8 =  variable1 /*name*/;
     variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString(" is a formal type"), TAG_Int(17)); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString(" is a formal type"), TAG_Int(17)); /*new String*/
     variable10 = variable9;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable4, variable5) /*AbsSyntaxVisitor::error*/;
     ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/ =  TAG_Bool(true);
     variable1 =  NIT_NULL /*null*/;
-    goto return_label37;
+    goto return_label44;
   }
   variable4 = ((abstractmetamodel___MMModule___has_global_class_named_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___has_global_class_named))( variable2 /*mod*/,  variable1 /*name*/) /*MMModule::has_global_class_named*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4)))) { /*if*/
     variable4 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
-    variable5 = NEW_string___String___init(); /*new String*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString("Type error: class "), TAG_Int(18)); /*new String*/
+    variable5 = NEW_String_string___String___init(); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString("Type error: class "), TAG_Int(18)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
     variable8 =  variable1 /*name*/;
     variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString(" not found in module "), TAG_Int(21)); /*new String*/
+    variable9 = NEW_String_string___String___with_native(BOX_NativeString(" not found in module "), TAG_Int(21)); /*new String*/
     variable10 = variable9;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
     variable11 =  variable2 /*mod*/;
     variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable12 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
     variable13 = variable12;
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable4, variable5) /*AbsSyntaxVisitor::error*/;
     ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/ =  TAG_Bool(true);
     variable1 =  NIT_NULL /*null*/;
-    goto return_label37;
+    goto return_label44;
   }
   variable5 = ((abstractmetamodel___MMModule___class_by_name_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___class_by_name))( variable2 /*mod*/,  variable1 /*name*/) /*MMModule::class_by_name*/;
   variable4 = variable5;
   variable5 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable4 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable4 /*local_class*/) /*MMLocalClass::global*/;
   ((syntax_base___MMGlobalClass___check_visibility_t)CALL(variable5,COLOR_syntax_base___MMGlobalClass___check_visibility))(variable5,  variable0 /*v*/,  self,  variable2 /*mod*/) /*MMGlobalClass::check_visibility*/;
   variable1 =  variable4 /*local_class*/;
-  goto return_label37;
-  return_label37: while(false);
+  goto return_label44;
+  return_label44: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 416, LOCATE_syntax_base___AType___get_unchecked_stype};
+  struct trace_t trace = {NULL, NULL, 439, LOCATE_syntax_base___AType___get_unchecked_stype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1151,7 +1260,7 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
   variable1 = ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/;
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/;
-    goto return_label38;
+    goto return_label45;
   }
   ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/ =  TAG_Bool(true);
   variable2 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
@@ -1168,26 +1277,26 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
     variable4 = ((list___List___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*List::length*/;
     variable4 = TAG_Bool(UNTAG_Int(variable4)>UNTAG_Int( TAG_Int(0)));
     if (UNTAG_Bool(variable4)) { /*if*/
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 =  variable1 /*name*/;
       variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-      variable8 = NEW_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)); /*new String*/
       variable9 = variable8;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
       variable1 =  NIT_NULL /*null*/;
-      goto return_label38;
+      goto return_label45;
     }
     variable5 = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable3 /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable3 /*cla*/) /*MMSrcLocalClass::formal_dict*/;
     variable5 = ((abstract_collection___Map_____bra_t)CALL(variable5,COLOR_abstract_collection___Map_____bra))(variable5,  variable1 /*name*/) /*Map::[]*/;
     variable4 = variable5;
     ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ =  variable4 /*formal*/;
     variable1 =  variable4 /*formal*/;
-    goto return_label38;
+    goto return_label45;
   }
   variable4 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable3 /*cla*/) /*MMLocalClass::global_properties*/;
   variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  NIT_NULL /*null*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1201,19 +1310,19 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
     variable4 = ((list___List___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*List::length*/;
     variable4 = TAG_Bool(UNTAG_Int(variable4)>UNTAG_Int( TAG_Int(0)));
     if (UNTAG_Bool(variable4)) { /*if*/
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 =  variable1 /*name*/;
       variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-      variable8 = NEW_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)); /*new String*/
       variable9 = variable8;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
       variable1 =  NIT_NULL /*null*/;
-      goto return_label38;
+      goto return_label45;
     }
     variable5 = ((genericity___MMLocalClass___get_type_t)CALL( variable3 /*cla*/,COLOR_static_type___MMLocalClass___get_type))( variable3 /*cla*/) /*MMLocalClass::get_type*/;
     variable5 = ((static_type___MMType___local_class_t)CALL(variable5,COLOR_static_type___MMType___local_class))(variable5) /*MMType::local_class*/;
@@ -1223,30 +1332,30 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
     variable4 = variable5;
     variable5 = TAG_Bool(( variable4 /*t*/ ==  NIT_NULL /*null*/) || (( variable4 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))( variable4 /*t*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable5)) { /*if*/
-      variable5 = NEW_string___String___init(); /*new String*/
-      variable6 = NEW_string___String___with_native(BOX_NativeString("Type error: circular definition in formal type "), TAG_Int(47)); /*new String*/
+      variable5 = NEW_String_string___String___init(); /*new String*/
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString("Type error: circular definition in formal type "), TAG_Int(47)); /*new String*/
       variable7 = variable6;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
       variable8 =  variable1 /*name*/;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
       variable1 =  NIT_NULL /*null*/;
-      goto return_label38;
+      goto return_label45;
     }
     ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ =  variable4 /*t*/;
     variable1 =  variable4 /*t*/;
-    goto return_label38;
+    goto return_label45;
   }
   variable5 = ((syntax_base___AType___get_local_class_t)CALL( self,COLOR_syntax_base___PType___get_local_class))( self,  variable0 /*v*/) /*AType::get_local_class*/;
   variable4 = variable5;
   variable5 = TAG_Bool(( variable4 /*local_class*/ ==  NIT_NULL /*null*/) || (( variable4 /*local_class*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*local_class*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*local_class*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*local_class*/,COLOR_kernel___Object_____eqeq))( variable4 /*local_class*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable5)) { /*if*/
     variable1 =  NIT_NULL /*null*/;
-    goto return_label38;
+    goto return_label45;
   }
   variable6 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
   variable6 = ((list___List___length_t)CALL(variable6,COLOR_abstract_collection___Collection___length))(variable6) /*List::length*/;
@@ -1254,36 +1363,36 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
   variable6 = ((abstractmetamodel___MMLocalClass___arity_t)CALL( variable4 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___arity))( variable4 /*local_class*/) /*MMLocalClass::arity*/;
   variable6 = TAG_Bool((variable6)!=( variable5 /*arity*/));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___init(); /*new String*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString("Type error: '"), TAG_Int(13)); /*new String*/
+    variable6 = NEW_String_string___String___init(); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("Type error: '"), TAG_Int(13)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
     variable9 =  variable4 /*local_class*/;
     variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-    variable10 = NEW_string___String___with_native(BOX_NativeString("' has "), TAG_Int(6)); /*new String*/
+    variable10 = NEW_String_string___String___with_native(BOX_NativeString("' has "), TAG_Int(6)); /*new String*/
     variable11 = variable10;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
     variable12 = ((abstractmetamodel___MMLocalClass___arity_t)CALL( variable4 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___arity))( variable4 /*local_class*/) /*MMLocalClass::arity*/;
     variable13 = variable12;
     variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString(" parameters which differs from the "), TAG_Int(35)); /*new String*/
+    variable14 = NEW_String_string___String___with_native(BOX_NativeString(" parameters which differs from the "), TAG_Int(35)); /*new String*/
     variable15 = variable14;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
     variable16 =  variable5 /*arity*/;
     variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-    variable17 = NEW_string___String___with_native(BOX_NativeString(" params."), TAG_Int(8)); /*new String*/
+    variable17 = NEW_String_string___String___with_native(BOX_NativeString(" params."), TAG_Int(8)); /*new String*/
     variable18 = variable17;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
     variable1 =  NIT_NULL /*null*/;
-    goto return_label38;
+    goto return_label45;
   }
   variable6 = TAG_Bool(UNTAG_Int( variable5 /*arity*/)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable7 = NEW_array___Array___init(); /*new Array[E]*/
+    variable7 = NEW_Array_array___Array___init(); /*new Array[MMType]*/
     variable6 = variable7;
     variable7 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
     variable7 = ((list___List___iterator_t)CALL(variable7,COLOR_abstract_collection___Collection___iterator))(variable7) /*List::iterator*/;
@@ -1293,28 +1402,28 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
       variable8 = ((list___ListIterator___item_t)CALL(variable7,COLOR_abstract_collection___Iterator___item))(variable7) /*ListIterator::item*/;
       variable9 = ((syntax_base___PType___get_unchecked_stype_t)CALL( variable8 /*p*/,COLOR_syntax_base___PType___get_unchecked_stype))( variable8 /*p*/,  variable0 /*v*/) /*PType::get_unchecked_stype*/;
       ((array___AbstractArray___add_t)CALL( variable6 /*tab*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*tab*/, variable9) /*AbstractArray::add*/;
-      continue_39: while(0);
+      continue_46: while(0);
       ((list___ListIterator___next_t)CALL(variable7,COLOR_abstract_collection___Iterator___next))(variable7) /*ListIterator::next*/;
     }
-    break_39: while(0);
+    break_46: while(0);
     variable8 = ((genericity___MMLocalClass___get_instantiate_type_t)CALL( variable4 /*local_class*/,COLOR_genericity___MMLocalClass___get_instantiate_type))( variable4 /*local_class*/,  variable6 /*tab*/) /*MMLocalClass::get_instantiate_type*/;
     variable7 = variable8;
     ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ =  variable7 /*t*/;
     variable1 =  variable7 /*t*/;
-    goto return_label38;
+    goto return_label45;
   } else { /*if*/
     variable7 = ((genericity___MMLocalClass___get_type_t)CALL( variable4 /*local_class*/,COLOR_static_type___MMLocalClass___get_type))( variable4 /*local_class*/) /*MMLocalClass::get_type*/;
     variable6 = variable7;
     ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ =  variable6 /*t*/;
     variable1 =  variable6 /*t*/;
-    goto return_label38;
+    goto return_label45;
   }
-  return_label38: while(false);
+  return_label45: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t syntax_base___AType___get_stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 473, LOCATE_syntax_base___AType___get_stype};
+  struct trace_t trace = {NULL, NULL, 496, LOCATE_syntax_base___AType___get_stype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1328,13 +1437,13 @@ val_t syntax_base___AType___get_stype(val_t  self, val_t  param0) {
     ((syntax_base___AType___check_conform_t)CALL( self,COLOR_syntax_base___PType___check_conform))( self,  variable0 /*v*/) /*AType::check_conform*/;
   }
   variable1 =  variable1 /*t*/;
-  goto return_label40;
-  return_label40: while(false);
+  goto return_label47;
+  return_label47: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void syntax_base___AType___check_conform(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 480, LOCATE_syntax_base___AType___check_conform};
+  struct trace_t trace = {NULL, NULL, 503, LOCATE_syntax_base___AType___check_conform};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1352,7 +1461,7 @@ void syntax_base___AType___check_conform(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable2 = TAG_Bool(( variable1 /*st*/ ==  NIT_NULL /*null*/) || (( variable1 /*st*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*st*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*st*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*st*/,COLOR_kernel___Object_____eqeq))( variable1 /*st*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    goto return_label41;
+    goto return_label48;
   }
   variable3 = ((static_type___MMType___local_class_t)CALL( variable1 /*st*/,COLOR_static_type___MMType___local_class))( variable1 /*st*/) /*MMType::local_class*/;
   variable2 = variable3;
@@ -1361,7 +1470,7 @@ void syntax_base___AType___check_conform(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 = TAG_Bool(UNTAG_Int( variable3 /*arity*/)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = NEW_range___Range___without_last( TAG_Int(0),  variable3 /*arity*/); /*new Range[E]*/
+    variable4 = NEW_Range_range___Range___without_last( TAG_Int(0),  variable3 /*arity*/); /*new Range[Int]*/
     variable4 = ((range___Range___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Range::iterator*/;
     while (true) { /*for*/
       variable5 = ((abstract_collection___Iterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*Iterator::is_ok*/;
@@ -1377,39 +1486,39 @@ void syntax_base___AType___check_conform(val_t  self, val_t  param0) {
       variable8 = variable9;
       variable9 = TAG_Bool(( variable8 /*bt*/ ==  NIT_NULL /*null*/) || (( variable8 /*bt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*bt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*bt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*bt*/,COLOR_kernel___Object_____eqeq))( variable8 /*bt*/,  NIT_NULL /*null*/) /*Object::==*/)))));
       if (UNTAG_Bool(variable9)) { /*if*/
-        goto return_label41;
+        goto return_label48;
       }
       variable9 = ((static_type___MMType___adapt_to_t)CALL( variable8 /*bt*/,COLOR_static_type___MMType___adapt_to))( variable8 /*bt*/,  variable1 /*st*/) /*MMType::adapt_to*/;
       variable8 = variable9 /*bt=*/;
       ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  variable6 /*p*/,  variable7 /*pt*/,  variable8 /*bt*/) /*AbsSyntaxVisitor::check_conform*/;
-      continue_42: while(0);
+      continue_49: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
     }
-    break_42: while(0);
+    break_49: while(0);
   }
-  return_label41: while(false);
+  return_label48: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___PExpr___stype(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 500, LOCATE_syntax_base___PExpr___stype};
+  struct trace_t trace = {NULL, NULL, 523, LOCATE_syntax_base___PExpr___stype};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___AType___check_conform, LOCATE_syntax_base, 500);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___AType___check_conform, LOCATE_syntax_base, 523);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___AVardeclExpr___variable(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 506, LOCATE_syntax_base___AVardeclExpr___variable};
+  struct trace_t trace = {NULL, NULL, 529, LOCATE_syntax_base___AVardeclExpr___variable};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AVardeclExpr____variable( self) /*AVardeclExpr::_variable*/;
 }
 void syntax_base___AVardeclExpr___variable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 506, LOCATE_syntax_base___AVardeclExpr___variable__eq};
+  struct trace_t trace = {NULL, NULL, 529, LOCATE_syntax_base___AVardeclExpr___variable__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AVardeclExpr____variable( self) /*AVardeclExpr::_variable*/ =  param0;
@@ -1417,14 +1526,14 @@ void syntax_base___AVardeclExpr___variable__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t syntax_base___AForVardeclExpr___variable(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 511, LOCATE_syntax_base___AForVardeclExpr___variable};
+  struct trace_t trace = {NULL, NULL, 534, LOCATE_syntax_base___AForVardeclExpr___variable};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AForVardeclExpr____variable( self) /*AForVardeclExpr::_variable*/;
 }
 void syntax_base___AForVardeclExpr___variable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 511, LOCATE_syntax_base___AForVardeclExpr___variable__eq};
+  struct trace_t trace = {NULL, NULL, 534, LOCATE_syntax_base___AForVardeclExpr___variable__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AForVardeclExpr____variable( self) /*AForVardeclExpr::_variable*/ =  param0;
@@ -1432,14 +1541,14 @@ void syntax_base___AForVardeclExpr___variable__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t syntax_base___AVarFormExpr___variable(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 516, LOCATE_syntax_base___AVarFormExpr___variable};
+  struct trace_t trace = {NULL, NULL, 539, LOCATE_syntax_base___AVarFormExpr___variable};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AVarFormExpr____variable( self) /*AVarFormExpr::_variable*/;
 }
 void syntax_base___AVarFormExpr___variable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 516, LOCATE_syntax_base___AVarFormExpr___variable__eq};
+  struct trace_t trace = {NULL, NULL, 539, LOCATE_syntax_base___AVarFormExpr___variable__eq};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AVarFormExpr____variable( self) /*AVarFormExpr::_variable*/ =  param0;
index d36f2f6..3eb9c97 100644 (file)
@@ -23,6 +23,8 @@ extern const classtable_elt_t VFT_MMMethSrcMethod[];
 
 extern const classtable_elt_t VFT_MMSrcTypeProperty[];
 
+extern const classtable_elt_t VFT_MMImplicitInit[];
+
 extern const classtable_elt_t VFT_Variable[];
 
 extern const classtable_elt_t VFT_AbsSyntaxVisitor[];
@@ -50,102 +52,113 @@ extern const int SFT_syntax_base[];
 #define COLOR_syntax_base___MMSrcLocalClass___init SFT_syntax_base[19]
 #define COLOR_syntax_base___MMGlobalProperty___check_visibility SFT_syntax_base[20]
 #define COLOR_syntax_base___MMLocalProperty___node SFT_syntax_base[21]
-#define ID_MMSrcAttribute SFT_syntax_base[22]
-#define COLOR_MMSrcAttribute SFT_syntax_base[23]
-#define COLOR_syntax_base___MMSrcAttribute____node SFT_syntax_base[24]
-#define INIT_TABLE_POS_MMSrcAttribute SFT_syntax_base[25]
-#define COLOR_syntax_base___MMSrcAttribute___init SFT_syntax_base[26]
-#define ID_MMSrcMethod SFT_syntax_base[27]
-#define COLOR_MMSrcMethod SFT_syntax_base[28]
-#define INIT_TABLE_POS_MMSrcMethod SFT_syntax_base[29]
-#define ID_MMAttrImplementationMethod SFT_syntax_base[30]
-#define COLOR_MMAttrImplementationMethod SFT_syntax_base[31]
-#define COLOR_syntax_base___MMAttrImplementationMethod____node SFT_syntax_base[32]
-#define INIT_TABLE_POS_MMAttrImplementationMethod SFT_syntax_base[33]
-#define ID_MMReadImplementationMethod SFT_syntax_base[34]
-#define COLOR_MMReadImplementationMethod SFT_syntax_base[35]
-#define INIT_TABLE_POS_MMReadImplementationMethod SFT_syntax_base[36]
-#define COLOR_syntax_base___MMReadImplementationMethod___init SFT_syntax_base[37]
-#define ID_MMWriteImplementationMethod SFT_syntax_base[38]
-#define COLOR_MMWriteImplementationMethod SFT_syntax_base[39]
-#define INIT_TABLE_POS_MMWriteImplementationMethod SFT_syntax_base[40]
-#define COLOR_syntax_base___MMWriteImplementationMethod___init SFT_syntax_base[41]
-#define ID_MMMethSrcMethod SFT_syntax_base[42]
-#define COLOR_MMMethSrcMethod SFT_syntax_base[43]
-#define COLOR_syntax_base___MMMethSrcMethod____node SFT_syntax_base[44]
-#define INIT_TABLE_POS_MMMethSrcMethod SFT_syntax_base[45]
-#define COLOR_syntax_base___MMMethSrcMethod___init SFT_syntax_base[46]
-#define ID_MMSrcTypeProperty SFT_syntax_base[47]
-#define COLOR_MMSrcTypeProperty SFT_syntax_base[48]
-#define COLOR_syntax_base___MMSrcTypeProperty____node SFT_syntax_base[49]
-#define INIT_TABLE_POS_MMSrcTypeProperty SFT_syntax_base[50]
-#define COLOR_syntax_base___MMSrcTypeProperty___init SFT_syntax_base[51]
-#define ID_Variable SFT_syntax_base[52]
-#define COLOR_Variable SFT_syntax_base[53]
-#define COLOR_syntax_base___Variable____name SFT_syntax_base[54]
-#define COLOR_syntax_base___Variable____decl SFT_syntax_base[55]
-#define COLOR_syntax_base___Variable____stype SFT_syntax_base[56]
-#define INIT_TABLE_POS_Variable SFT_syntax_base[57]
-#define COLOR_syntax_base___Variable___name SFT_syntax_base[58]
-#define COLOR_syntax_base___Variable___decl SFT_syntax_base[59]
-#define COLOR_syntax_base___Variable___stype SFT_syntax_base[60]
-#define COLOR_syntax_base___Variable___stype__eq SFT_syntax_base[61]
-#define COLOR_syntax_base___Variable___init SFT_syntax_base[62]
-#define ID_AbsSyntaxVisitor SFT_syntax_base[63]
-#define COLOR_AbsSyntaxVisitor SFT_syntax_base[64]
-#define COLOR_syntax_base___AbsSyntaxVisitor____module SFT_syntax_base[65]
-#define COLOR_syntax_base___AbsSyntaxVisitor____local_class SFT_syntax_base[66]
-#define COLOR_syntax_base___AbsSyntaxVisitor____local_property SFT_syntax_base[67]
-#define COLOR_syntax_base___AbsSyntaxVisitor____tc SFT_syntax_base[68]
-#define INIT_TABLE_POS_AbsSyntaxVisitor SFT_syntax_base[69]
-#define COLOR_syntax_base___AbsSyntaxVisitor___type_bool SFT_syntax_base[70]
-#define COLOR_syntax_base___AbsSyntaxVisitor___type_int SFT_syntax_base[71]
-#define COLOR_syntax_base___AbsSyntaxVisitor___type_float SFT_syntax_base[72]
-#define COLOR_syntax_base___AbsSyntaxVisitor___type_char SFT_syntax_base[73]
-#define COLOR_syntax_base___AbsSyntaxVisitor___type_string SFT_syntax_base[74]
-#define COLOR_syntax_base___AbsSyntaxVisitor___type_collection SFT_syntax_base[75]
-#define COLOR_syntax_base___AbsSyntaxVisitor___type_array SFT_syntax_base[76]
-#define COLOR_syntax_base___AbsSyntaxVisitor___type_discrete SFT_syntax_base[77]
-#define COLOR_syntax_base___AbsSyntaxVisitor___type_range SFT_syntax_base[78]
-#define COLOR_syntax_base___AbsSyntaxVisitor___type_none SFT_syntax_base[79]
-#define COLOR_syntax_base___AbsSyntaxVisitor___module SFT_syntax_base[80]
-#define COLOR_syntax_base___AbsSyntaxVisitor___module__eq SFT_syntax_base[81]
-#define COLOR_syntax_base___AbsSyntaxVisitor___local_class SFT_syntax_base[82]
-#define COLOR_syntax_base___AbsSyntaxVisitor___local_class__eq SFT_syntax_base[83]
-#define COLOR_syntax_base___AbsSyntaxVisitor___local_property SFT_syntax_base[84]
-#define COLOR_syntax_base___AbsSyntaxVisitor___local_property__eq SFT_syntax_base[85]
-#define COLOR_syntax_base___AbsSyntaxVisitor___tc SFT_syntax_base[86]
-#define COLOR_syntax_base___AbsSyntaxVisitor___error SFT_syntax_base[87]
-#define COLOR_syntax_base___AbsSyntaxVisitor___warning SFT_syntax_base[88]
-#define COLOR_syntax_base___AbsSyntaxVisitor___check_conform SFT_syntax_base[89]
-#define COLOR_syntax_base___AbsSyntaxVisitor___init SFT_syntax_base[90]
-#define COLOR_syntax_base___PNode___accept_abs_syntax_visitor SFT_syntax_base[91]
-#define COLOR_syntax_base___Token____symbol SFT_syntax_base[92]
-#define COLOR_syntax_base___Token___to_symbol SFT_syntax_base[93]
-#define COLOR_syntax_base___PClassdef___local_class SFT_syntax_base[94]
-#define COLOR_syntax_base___AAttrPropdef___prop SFT_syntax_base[95]
-#define COLOR_syntax_base___AAttrPropdef___readmethod SFT_syntax_base[96]
-#define COLOR_syntax_base___AAttrPropdef___writemethod SFT_syntax_base[97]
-#define COLOR_syntax_base___AMethPropdef___method SFT_syntax_base[98]
-#define COLOR_syntax_base___ATypePropdef___prop SFT_syntax_base[99]
-#define COLOR_syntax_base___PParam___position SFT_syntax_base[100]
-#define COLOR_syntax_base___PParam___variable SFT_syntax_base[101]
-#define COLOR_syntax_base___PType___get_local_class SFT_syntax_base[102]
-#define COLOR_syntax_base___PType___get_stype SFT_syntax_base[103]
-#define COLOR_syntax_base___PType___get_unchecked_stype SFT_syntax_base[104]
-#define COLOR_syntax_base___PType___check_conform SFT_syntax_base[105]
-#define COLOR_syntax_base___AType____stype_cache SFT_syntax_base[106]
-#define COLOR_syntax_base___AType____stype_cached SFT_syntax_base[107]
-#define COLOR_syntax_base___PExpr___stype SFT_syntax_base[108]
-#define COLOR_syntax_base___AVardeclExpr____variable SFT_syntax_base[109]
-#define COLOR_syntax_base___AVardeclExpr___variable SFT_syntax_base[110]
-#define COLOR_syntax_base___AVardeclExpr___variable__eq SFT_syntax_base[111]
-#define COLOR_syntax_base___AForVardeclExpr____variable SFT_syntax_base[112]
-#define COLOR_syntax_base___AForVardeclExpr___variable SFT_syntax_base[113]
-#define COLOR_syntax_base___AForVardeclExpr___variable__eq SFT_syntax_base[114]
-#define COLOR_syntax_base___AVarFormExpr____variable SFT_syntax_base[115]
-#define COLOR_syntax_base___AVarFormExpr___variable SFT_syntax_base[116]
-#define COLOR_syntax_base___AVarFormExpr___variable__eq SFT_syntax_base[117]
+#define COLOR_syntax_base___MMLocalProperty___is_init SFT_syntax_base[22]
+#define ID_MMSrcAttribute SFT_syntax_base[23]
+#define COLOR_MMSrcAttribute SFT_syntax_base[24]
+#define COLOR_syntax_base___MMSrcAttribute____node SFT_syntax_base[25]
+#define INIT_TABLE_POS_MMSrcAttribute SFT_syntax_base[26]
+#define COLOR_syntax_base___MMSrcAttribute___init SFT_syntax_base[27]
+#define ID_MMSrcMethod SFT_syntax_base[28]
+#define COLOR_MMSrcMethod SFT_syntax_base[29]
+#define INIT_TABLE_POS_MMSrcMethod SFT_syntax_base[30]
+#define ID_MMAttrImplementationMethod SFT_syntax_base[31]
+#define COLOR_MMAttrImplementationMethod SFT_syntax_base[32]
+#define COLOR_syntax_base___MMAttrImplementationMethod____node SFT_syntax_base[33]
+#define INIT_TABLE_POS_MMAttrImplementationMethod SFT_syntax_base[34]
+#define COLOR_syntax_base___MMAttrImplementationMethod___init SFT_syntax_base[35]
+#define ID_MMReadImplementationMethod SFT_syntax_base[36]
+#define COLOR_MMReadImplementationMethod SFT_syntax_base[37]
+#define INIT_TABLE_POS_MMReadImplementationMethod SFT_syntax_base[38]
+#define COLOR_syntax_base___MMReadImplementationMethod___init SFT_syntax_base[39]
+#define ID_MMWriteImplementationMethod SFT_syntax_base[40]
+#define COLOR_MMWriteImplementationMethod SFT_syntax_base[41]
+#define INIT_TABLE_POS_MMWriteImplementationMethod SFT_syntax_base[42]
+#define COLOR_syntax_base___MMWriteImplementationMethod___init SFT_syntax_base[43]
+#define ID_MMMethSrcMethod SFT_syntax_base[44]
+#define COLOR_MMMethSrcMethod SFT_syntax_base[45]
+#define COLOR_syntax_base___MMMethSrcMethod____node SFT_syntax_base[46]
+#define INIT_TABLE_POS_MMMethSrcMethod SFT_syntax_base[47]
+#define COLOR_syntax_base___MMMethSrcMethod___init SFT_syntax_base[48]
+#define ID_MMSrcTypeProperty SFT_syntax_base[49]
+#define COLOR_MMSrcTypeProperty SFT_syntax_base[50]
+#define COLOR_syntax_base___MMSrcTypeProperty____node SFT_syntax_base[51]
+#define INIT_TABLE_POS_MMSrcTypeProperty SFT_syntax_base[52]
+#define COLOR_syntax_base___MMSrcTypeProperty___init SFT_syntax_base[53]
+#define ID_MMImplicitInit SFT_syntax_base[54]
+#define COLOR_MMImplicitInit SFT_syntax_base[55]
+#define COLOR_syntax_base___MMImplicitInit____unassigned_attributes SFT_syntax_base[56]
+#define COLOR_syntax_base___MMImplicitInit____super_inits SFT_syntax_base[57]
+#define INIT_TABLE_POS_MMImplicitInit SFT_syntax_base[58]
+#define COLOR_syntax_base___MMImplicitInit___unassigned_attributes SFT_syntax_base[59]
+#define COLOR_syntax_base___MMImplicitInit___super_inits SFT_syntax_base[60]
+#define COLOR_syntax_base___MMImplicitInit___init SFT_syntax_base[61]
+#define ID_Variable SFT_syntax_base[62]
+#define COLOR_Variable SFT_syntax_base[63]
+#define COLOR_syntax_base___Variable____name SFT_syntax_base[64]
+#define COLOR_syntax_base___Variable____decl SFT_syntax_base[65]
+#define COLOR_syntax_base___Variable____stype SFT_syntax_base[66]
+#define INIT_TABLE_POS_Variable SFT_syntax_base[67]
+#define COLOR_syntax_base___Variable___name SFT_syntax_base[68]
+#define COLOR_syntax_base___Variable___decl SFT_syntax_base[69]
+#define COLOR_syntax_base___Variable___stype SFT_syntax_base[70]
+#define COLOR_syntax_base___Variable___stype__eq SFT_syntax_base[71]
+#define COLOR_syntax_base___Variable___init SFT_syntax_base[72]
+#define ID_AbsSyntaxVisitor SFT_syntax_base[73]
+#define COLOR_AbsSyntaxVisitor SFT_syntax_base[74]
+#define COLOR_syntax_base___AbsSyntaxVisitor____module SFT_syntax_base[75]
+#define COLOR_syntax_base___AbsSyntaxVisitor____local_class SFT_syntax_base[76]
+#define COLOR_syntax_base___AbsSyntaxVisitor____local_property SFT_syntax_base[77]
+#define COLOR_syntax_base___AbsSyntaxVisitor____tc SFT_syntax_base[78]
+#define INIT_TABLE_POS_AbsSyntaxVisitor SFT_syntax_base[79]
+#define COLOR_syntax_base___AbsSyntaxVisitor___type_bool SFT_syntax_base[80]
+#define COLOR_syntax_base___AbsSyntaxVisitor___type_int SFT_syntax_base[81]
+#define COLOR_syntax_base___AbsSyntaxVisitor___type_float SFT_syntax_base[82]
+#define COLOR_syntax_base___AbsSyntaxVisitor___type_char SFT_syntax_base[83]
+#define COLOR_syntax_base___AbsSyntaxVisitor___type_string SFT_syntax_base[84]
+#define COLOR_syntax_base___AbsSyntaxVisitor___type_collection SFT_syntax_base[85]
+#define COLOR_syntax_base___AbsSyntaxVisitor___type_array SFT_syntax_base[86]
+#define COLOR_syntax_base___AbsSyntaxVisitor___type_discrete SFT_syntax_base[87]
+#define COLOR_syntax_base___AbsSyntaxVisitor___type_range SFT_syntax_base[88]
+#define COLOR_syntax_base___AbsSyntaxVisitor___type_none SFT_syntax_base[89]
+#define COLOR_syntax_base___AbsSyntaxVisitor___module SFT_syntax_base[90]
+#define COLOR_syntax_base___AbsSyntaxVisitor___module__eq SFT_syntax_base[91]
+#define COLOR_syntax_base___AbsSyntaxVisitor___local_class SFT_syntax_base[92]
+#define COLOR_syntax_base___AbsSyntaxVisitor___local_class__eq SFT_syntax_base[93]
+#define COLOR_syntax_base___AbsSyntaxVisitor___local_property SFT_syntax_base[94]
+#define COLOR_syntax_base___AbsSyntaxVisitor___local_property__eq SFT_syntax_base[95]
+#define COLOR_syntax_base___AbsSyntaxVisitor___tc SFT_syntax_base[96]
+#define COLOR_syntax_base___AbsSyntaxVisitor___error SFT_syntax_base[97]
+#define COLOR_syntax_base___AbsSyntaxVisitor___warning SFT_syntax_base[98]
+#define COLOR_syntax_base___AbsSyntaxVisitor___locate SFT_syntax_base[99]
+#define COLOR_syntax_base___AbsSyntaxVisitor___check_conform SFT_syntax_base[100]
+#define COLOR_syntax_base___AbsSyntaxVisitor___init SFT_syntax_base[101]
+#define COLOR_syntax_base___PNode___accept_abs_syntax_visitor SFT_syntax_base[102]
+#define COLOR_syntax_base___Token____symbol SFT_syntax_base[103]
+#define COLOR_syntax_base___Token___to_symbol SFT_syntax_base[104]
+#define COLOR_syntax_base___PClassdef___local_class SFT_syntax_base[105]
+#define COLOR_syntax_base___AAttrPropdef___prop SFT_syntax_base[106]
+#define COLOR_syntax_base___AAttrPropdef___readmethod SFT_syntax_base[107]
+#define COLOR_syntax_base___AAttrPropdef___writemethod SFT_syntax_base[108]
+#define COLOR_syntax_base___AMethPropdef___method SFT_syntax_base[109]
+#define COLOR_syntax_base___ATypePropdef___prop SFT_syntax_base[110]
+#define COLOR_syntax_base___PParam___position SFT_syntax_base[111]
+#define COLOR_syntax_base___PParam___variable SFT_syntax_base[112]
+#define COLOR_syntax_base___PType___get_local_class SFT_syntax_base[113]
+#define COLOR_syntax_base___PType___get_stype SFT_syntax_base[114]
+#define COLOR_syntax_base___PType___get_unchecked_stype SFT_syntax_base[115]
+#define COLOR_syntax_base___PType___check_conform SFT_syntax_base[116]
+#define COLOR_syntax_base___AType____stype_cache SFT_syntax_base[117]
+#define COLOR_syntax_base___AType____stype_cached SFT_syntax_base[118]
+#define COLOR_syntax_base___PExpr___stype SFT_syntax_base[119]
+#define COLOR_syntax_base___AVardeclExpr____variable SFT_syntax_base[120]
+#define COLOR_syntax_base___AVardeclExpr___variable SFT_syntax_base[121]
+#define COLOR_syntax_base___AVardeclExpr___variable__eq SFT_syntax_base[122]
+#define COLOR_syntax_base___AForVardeclExpr____variable SFT_syntax_base[123]
+#define COLOR_syntax_base___AForVardeclExpr___variable SFT_syntax_base[124]
+#define COLOR_syntax_base___AForVardeclExpr___variable__eq SFT_syntax_base[125]
+#define COLOR_syntax_base___AVarFormExpr____variable SFT_syntax_base[126]
+#define COLOR_syntax_base___AVarFormExpr___variable SFT_syntax_base[127]
+#define COLOR_syntax_base___AVarFormExpr___variable__eq SFT_syntax_base[128]
 #define ATTR_syntax_base___MMSrcModule____node(recv) ATTR(recv, COLOR_syntax_base___MMSrcModule____node)
 typedef val_t (* syntax_base___MMSrcModule___node_t)(val_t  self);
 val_t syntax_base___MMSrcModule___node(val_t  self);
@@ -186,6 +199,9 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t  self, val_t  para
 typedef val_t (* syntax_base___MMLocalProperty___node_t)(val_t  self);
 val_t syntax_base___MMLocalProperty___node(val_t  self);
 #define LOCATE_syntax_base___MMLocalProperty___node "syntax_base::MMLocalProperty::node"
+typedef val_t (* syntax_base___MMLocalProperty___is_init_t)(val_t  self);
+val_t syntax_base___MMLocalProperty___is_init(val_t  self);
+#define LOCATE_syntax_base___MMLocalProperty___is_init "syntax_base::MMLocalProperty::is_init"
 #define ATTR_syntax_base___MMSrcAttribute____node(recv) ATTR(recv, COLOR_syntax_base___MMSrcAttribute____node)
 typedef val_t (* syntax_base___MMSrcAttribute___node_t)(val_t  self);
 val_t syntax_base___MMSrcAttribute___node(val_t  self);
@@ -198,6 +214,10 @@ val_t NEW_syntax_base___MMSrcAttribute___init(val_t  param0, val_t  param1, val_
 typedef val_t (* syntax_base___MMAttrImplementationMethod___node_t)(val_t  self);
 val_t syntax_base___MMAttrImplementationMethod___node(val_t  self);
 #define LOCATE_syntax_base___MMAttrImplementationMethod___node "syntax_base::MMAttrImplementationMethod::(syntax_base::MMLocalProperty::node)"
+typedef void (* syntax_base___MMAttrImplementationMethod___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void syntax_base___MMAttrImplementationMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_syntax_base___MMAttrImplementationMethod___init(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_syntax_base___MMAttrImplementationMethod___init "syntax_base::MMAttrImplementationMethod::init"
 typedef void (* syntax_base___MMReadImplementationMethod___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 void syntax_base___MMReadImplementationMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 val_t NEW_syntax_base___MMReadImplementationMethod___init(val_t  param0, val_t  param1, val_t  param2);
@@ -206,6 +226,9 @@ typedef void (* syntax_base___MMWriteImplementationMethod___init_t)(val_t  self,
 void syntax_base___MMWriteImplementationMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 val_t NEW_syntax_base___MMWriteImplementationMethod___init(val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_syntax_base___MMWriteImplementationMethod___init "syntax_base::MMWriteImplementationMethod::init"
+typedef val_t (* syntax_base___MMMethSrcMethod___is_init_t)(val_t  self);
+val_t syntax_base___MMMethSrcMethod___is_init(val_t  self);
+#define LOCATE_syntax_base___MMMethSrcMethod___is_init "syntax_base::MMMethSrcMethod::(syntax_base::MMLocalProperty::is_init)"
 #define ATTR_syntax_base___MMMethSrcMethod____node(recv) ATTR(recv, COLOR_syntax_base___MMMethSrcMethod____node)
 typedef val_t (* syntax_base___MMMethSrcMethod___node_t)(val_t  self);
 val_t syntax_base___MMMethSrcMethod___node(val_t  self);
@@ -222,6 +245,21 @@ typedef void (* syntax_base___MMSrcTypeProperty___init_t)(val_t  self, val_t  pa
 void syntax_base___MMSrcTypeProperty___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 val_t NEW_syntax_base___MMSrcTypeProperty___init(val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_syntax_base___MMSrcTypeProperty___init "syntax_base::MMSrcTypeProperty::init"
+typedef val_t (* syntax_base___MMImplicitInit___is_init_t)(val_t  self);
+val_t syntax_base___MMImplicitInit___is_init(val_t  self);
+#define LOCATE_syntax_base___MMImplicitInit___is_init "syntax_base::MMImplicitInit::(syntax_base::MMLocalProperty::is_init)"
+#define ATTR_syntax_base___MMImplicitInit____unassigned_attributes(recv) ATTR(recv, COLOR_syntax_base___MMImplicitInit____unassigned_attributes)
+typedef val_t (* syntax_base___MMImplicitInit___unassigned_attributes_t)(val_t  self);
+val_t syntax_base___MMImplicitInit___unassigned_attributes(val_t  self);
+#define LOCATE_syntax_base___MMImplicitInit___unassigned_attributes "syntax_base::MMImplicitInit::unassigned_attributes"
+#define ATTR_syntax_base___MMImplicitInit____super_inits(recv) ATTR(recv, COLOR_syntax_base___MMImplicitInit____super_inits)
+typedef val_t (* syntax_base___MMImplicitInit___super_inits_t)(val_t  self);
+val_t syntax_base___MMImplicitInit___super_inits(val_t  self);
+#define LOCATE_syntax_base___MMImplicitInit___super_inits "syntax_base::MMImplicitInit::super_inits"
+typedef void (* syntax_base___MMImplicitInit___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void syntax_base___MMImplicitInit___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_syntax_base___MMImplicitInit___init(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_syntax_base___MMImplicitInit___init "syntax_base::MMImplicitInit::init"
 #define ATTR_syntax_base___Variable____name(recv) ATTR(recv, COLOR_syntax_base___Variable____name)
 typedef val_t (* syntax_base___Variable___name_t)(val_t  self);
 val_t syntax_base___Variable___name(val_t  self);
@@ -305,6 +343,9 @@ void syntax_base___AbsSyntaxVisitor___error(val_t  self, val_t  param0, val_t  p
 typedef void (* syntax_base___AbsSyntaxVisitor___warning_t)(val_t  self, val_t  param0, val_t  param1);
 void syntax_base___AbsSyntaxVisitor___warning(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_syntax_base___AbsSyntaxVisitor___warning "syntax_base::AbsSyntaxVisitor::warning"
+typedef val_t (* syntax_base___AbsSyntaxVisitor___locate_t)(val_t  self, val_t  param0);
+val_t syntax_base___AbsSyntaxVisitor___locate(val_t  self, val_t  param0);
+#define LOCATE_syntax_base___AbsSyntaxVisitor___locate "syntax_base::AbsSyntaxVisitor::locate"
 typedef val_t (* syntax_base___AbsSyntaxVisitor___check_conform_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_syntax_base___AbsSyntaxVisitor___check_conform "syntax_base::AbsSyntaxVisitor::check_conform"
index 2a38c5f..7fc49aa 100644 (file)
@@ -8,7 +8,7 @@ void typing___MMSrcModule___do_typing(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 =  param0;
-  variable2 = NEW_typing___TypingVisitor___init( variable0 /*tc*/,  self); /*new TypingVisitor*/
+  variable2 = NEW_TypingVisitor_typing___TypingVisitor___init( variable0 /*tc*/,  self); /*new TypingVisitor*/
   variable1 = variable2;
   variable2 = ((syntax_base___MMSrcModule___node_t)CALL( self,COLOR_syntax_base___MMSrcModule___node))( self) /*MMSrcModule::node*/;
   ((typing___TypingVisitor___visit_t)CALL( variable1 /*tv*/,COLOR_parser_prod___Visitor___visit))( variable1 /*tv*/, variable2) /*TypingVisitor::visit*/;
@@ -134,7 +134,8 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
     val_t variable11;
     val_t variable12;
       val_t variable13;
-      val_t variable14;
+          val_t variable14;
+        static val_t once_value_variable13_5; static int once_bool_variable13_5;
       val_t variable15;
       val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
@@ -143,9 +144,9 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
   variable1 =  param1;
   variable2 =  param2;
   variable3 =  self;
-  variable5 = NEW_array___Array___init(); /*new Array[E]*/
+  variable5 = NEW_Array_array___Array___init(); /*new Array[MMMethod]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[E]*/
+  variable6 = NEW_Array_array___Array___init(); /*new Array[MMMethod]*/
   variable5 = variable6;
   variable7 = ((static_type___MMLocalProperty___signature_t)CALL( variable2 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable2 /*prop*/) /*MMLocalProperty::signature*/;
   variable7 = ((static_type___MMSignature___arity_t)CALL(variable7,COLOR_static_type___MMSignature___arity))(variable7) /*MMSignature::arity*/;
@@ -176,8 +177,7 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
     variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*prop*/ ==  NIT_NULL /*null*/) || (( variable2 /*prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*prop*/,COLOR_kernel___Object_____eqeq))( variable2 /*prop*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     variable12 = variable11;
     if (UNTAG_Bool(variable12)) { /* and */
-      variable12 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable8 /*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable8 /*g*/) /*MMGlobalProperty::intro*/;
-      variable12 = ((abstractmetamodel___MMLocalProperty___name_t)CALL(variable12,COLOR_abstractmetamodel___MMLocalProperty___name))(variable12) /*MMLocalProperty::name*/;
+      variable12 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable9 /*gp*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable9 /*gp*/) /*MMLocalProperty::name*/;
       variable13 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable2 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable2 /*prop*/) /*MMLocalProperty::name*/;
       variable12 = TAG_Bool((variable12 == variable13) || ((variable12 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable12,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable12,variable13)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable12,COLOR_kernel___Object_____eqeq))(variable12, variable13) /*Object::==*/)))));
     }
@@ -186,9 +186,14 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
       variable11 = TAG_Bool(( variable10 /*garity*/)==( TAG_Int(0)));
       variable12 = variable11;
       if (!UNTAG_Bool(variable12)) { /* or */
-        variable12 = ((static_type___MMLocalProperty___signature_t)CALL( variable2 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable2 /*prop*/) /*MMLocalProperty::signature*/;
-        variable13 = ((static_type___MMLocalProperty___signature_t)CALL( variable9 /*gp*/,COLOR_static_type___MMLocalProperty___signature))( variable9 /*gp*/) /*MMLocalProperty::signature*/;
-        variable12 = ((static_type___MMSignature_____l_t)CALL(variable12,COLOR_static_type___MMSignature_____l))(variable12, variable13) /*MMSignature::<*/;
+        variable12 = TAG_Bool(( variable6 /*parity*/)==( variable10 /*garity*/));
+        variable13 = variable12;
+        if (UNTAG_Bool(variable13)) { /* and */
+          variable13 = ((static_type___MMLocalProperty___signature_t)CALL( variable2 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable2 /*prop*/) /*MMLocalProperty::signature*/;
+          variable14 = ((static_type___MMLocalProperty___signature_t)CALL( variable9 /*gp*/,COLOR_static_type___MMLocalProperty___signature))( variable9 /*gp*/) /*MMLocalProperty::signature*/;
+          variable13 = ((static_type___MMSignature_____l_t)CALL(variable13,COLOR_static_type___MMSignature_____l))(variable13, variable14) /*MMSignature::<*/;
+        }
+        variable12 = variable13;
       }
       variable11 = variable12;
       if (UNTAG_Bool(variable11)) { /*if*/
@@ -199,6 +204,19 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
       }
     } else { /*if*/
       variable11 = TAG_Bool(( variable10 /*garity*/)==( TAG_Int(0)));
+      variable12 = variable11;
+      if (UNTAG_Bool(variable12)) { /* and */
+        variable12 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable9 /*gp*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable9 /*gp*/) /*MMLocalProperty::name*/;
+        if (once_bool_variable13_5) variable13 = once_value_variable13_5;
+        else {
+          variable13 = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
+          variable13 = ((symbol___String___to_symbol_t)CALL(variable13,COLOR_symbol___String___to_symbol))(variable13) /*String::to_symbol*/;
+          once_value_variable13_5 = variable13;
+          once_bool_variable13_5 = true;
+        }
+        variable12 = TAG_Bool((variable12 == variable13) || ((variable12 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable12,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable12,variable13)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable12,COLOR_kernel___Object_____eqeq))(variable12, variable13) /*Object::==*/)))));
+      }
+      variable11 = variable12;
       if (UNTAG_Bool(variable11)) { /*if*/
         ((array___AbstractArray___add_t)CALL( variable4 /*candidates*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*candidates*/,  variable9 /*gp*/) /*AbstractArray::add*/;
         ((array___AbstractArray___add_t)CALL( variable5 /*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*false_candidates*/,  variable9 /*gp*/) /*AbstractArray::add*/;
@@ -220,21 +238,21 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
     variable7 = ((array___AbstractArray___length_t)CALL( variable4 /*candidates*/,COLOR_abstract_collection___Collection___length))( variable4 /*candidates*/) /*AbstractArray::length*/;
     variable7 = TAG_Bool(UNTAG_Int(variable7)>UNTAG_Int( TAG_Int(0)));
     if (UNTAG_Bool(variable7)) { /*if*/
-      variable7 = NEW_string___String___init(); /*new String*/
-      variable8 = NEW_string___String___with_native(BOX_NativeString("Error: Conflicting default constructor to call for "), TAG_Int(51)); /*new String*/
+      variable7 = NEW_String_string___String___init(); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString("Error: Conflicting default constructor to call for "), TAG_Int(51)); /*new String*/
       variable9 = variable8;
       ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
       variable10 =  variable1 /*c*/;
       variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
       ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-      variable11 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
+      variable11 = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
       variable12 = variable11;
       ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
       variable13 = ((string___Collection___join_t)CALL( variable4 /*candidates*/,COLOR_string___Collection___join))( variable4 /*candidates*/, variable13) /*Collection::join*/;
       variable14 = variable13;
       ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
-      variable15 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable15 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable16 = variable15;
       ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable3 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable3 /*v*/,  variable0 /*n*/, variable7) /*AbsSyntaxVisitor::error*/;
@@ -244,28 +262,35 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
       variable7 = ((array___AbstractArray___length_t)CALL( variable5 /*false_candidates*/,COLOR_abstract_collection___Collection___length))( variable5 /*false_candidates*/) /*AbstractArray::length*/;
       variable7 = TAG_Bool(UNTAG_Int(variable7)>UNTAG_Int( TAG_Int(0)));
       if (UNTAG_Bool(variable7)) { /*if*/
-        variable7 = NEW_string___String___init(); /*new String*/
-        variable8 = NEW_string___String___with_native(BOX_NativeString("Error: there is no available compatible constrctor in "), TAG_Int(54)); /*new String*/
+        variable7 = NEW_String_string___String___init(); /*new String*/
+        variable8 = NEW_String_string___String___with_native(BOX_NativeString("Error: there is no available compatible constrctor in "), TAG_Int(54)); /*new String*/
         variable9 = variable8;
         ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
         variable10 =  variable1 /*c*/;
         variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
         ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-        variable11 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+        variable11 = NEW_String_string___String___with_native(BOX_NativeString(". discarded candidates are "), TAG_Int(27)); /*new String*/
         variable12 = variable11;
         ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
+        variable13 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+        variable13 = ((string___Collection___join_t)CALL( variable5 /*false_candidates*/,COLOR_string___Collection___join))( variable5 /*false_candidates*/, variable13) /*Collection::join*/;
+        variable14 = variable13;
+        ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
+        variable15 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+        variable16 = variable15;
+        ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable3 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable3 /*v*/,  variable0 /*n*/, variable7) /*AbsSyntaxVisitor::error*/;
         variable3 =  NIT_NULL /*null*/;
         goto return_label3;
       } else { /*if*/
-        variable7 = NEW_string___String___init(); /*new String*/
-        variable8 = NEW_string___String___with_native(BOX_NativeString("Error: there is no available compatible constrctor in "), TAG_Int(54)); /*new String*/
+        variable7 = NEW_String_string___String___init(); /*new String*/
+        variable8 = NEW_String_string___String___with_native(BOX_NativeString("Error: there is no available compatible constrctor in "), TAG_Int(54)); /*new String*/
         variable9 = variable8;
         ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
         variable10 =  variable1 /*c*/;
         variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
         ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-        variable11 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+        variable11 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
         variable12 = variable11;
         ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___warning_t)CALL( variable3 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning))( variable3 /*v*/,  variable0 /*n*/, variable7) /*AbsSyntaxVisitor::warning*/;
@@ -290,12 +315,12 @@ val_t typing___VariableContext_____bra(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ATTR_typing___VariableContext____dico( self) /*VariableContext::_dico*/;
     variable1 = ((abstract_collection___Map_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*s*/) /*Map::[]*/;
-    goto return_label5;
+    goto return_label6;
   } else { /*if*/
     variable1 =  NIT_NULL /*null*/;
-    goto return_label5;
+    goto return_label6;
   }
-  return_label5: while(false);
+  return_label6: while(false);
   tracehead = trace.prev;
   return variable1;
 }
@@ -321,8 +346,8 @@ val_t typing___VariableContext___stype(val_t  self, val_t  param0) {
   trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((syntax_base___Variable___stype_t)CALL( variable0 /*v*/,COLOR_syntax_base___Variable___stype))( variable0 /*v*/) /*Variable::stype*/;
-  goto return_label7;
-  return_label7: while(false);
+  goto return_label8;
+  return_label8: while(false);
   tracehead = trace.prev;
   return variable1;
 }
@@ -331,9 +356,9 @@ val_t typing___VariableContext___sub(val_t  self) {
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  variable0 = NEW_typing___SubVariableContext___with( self,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new SubVariableContext*/
-  goto return_label8;
-  return_label8: while(false);
+  variable0 = NEW_SubVariableContext_typing___SubVariableContext___with( self,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new SubVariableContext*/
+  goto return_label9;
+  return_label9: while(false);
   tracehead = trace.prev;
   return variable0;
 }
@@ -346,9 +371,9 @@ val_t typing___VariableContext___sub_with(val_t  self, val_t  param0, val_t  par
   trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = NEW_typing___SubVariableContext___with( self,  variable0 /*v*/,  variable1 /*t*/); /*new SubVariableContext*/
-  goto return_label9;
-  return_label9: while(false);
+  variable2 = NEW_SubVariableContext_typing___SubVariableContext___with( self,  variable0 /*v*/,  variable1 /*t*/); /*new SubVariableContext*/
+  goto return_label10;
+  return_label10: while(false);
   tracehead = trace.prev;
   return variable2;
 }
@@ -358,7 +383,7 @@ void typing___VariableContext___init(val_t  self, int* init_table) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_VariableContext].i]) return;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable0 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, Variable]*/
   ATTR_typing___VariableContext____dico( self) /*VariableContext::_dico*/ = variable0;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_VariableContext].i] = 1;
   tracehead = trace.prev;
@@ -383,13 +408,13 @@ val_t typing___SubVariableContext_____bra(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ATTR_typing___VariableContext____dico( self) /*VariableContext::_dico*/;
     variable1 = ((abstract_collection___Map_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*s*/) /*Map::[]*/;
-    goto return_label11;
+    goto return_label12;
   } else { /*if*/
     variable1 = ((typing___SubVariableContext___prev_t)CALL( self,COLOR_typing___SubVariableContext___prev))( self) /*SubVariableContext::prev*/;
     variable1 = ((typing___VariableContext_____bra_t)CALL(variable1,COLOR_typing___VariableContext_____bra))(variable1,  variable0 /*s*/) /*VariableContext::[]*/;
-    goto return_label11;
+    goto return_label12;
   }
-  return_label11: while(false);
+  return_label12: while(false);
   tracehead = trace.prev;
   return variable1;
 }
@@ -404,12 +429,12 @@ val_t typing___SubVariableContext___stype(val_t  self, val_t  param0) {
   variable1 = TAG_Bool((variable1 ==  variable0 /*v*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*v*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*v*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ATTR_typing___SubVariableContext____var_type( self) /*SubVariableContext::_var_type*/;
-    goto return_label12;
+    goto return_label13;
   }
   variable1 = ((typing___SubVariableContext___prev_t)CALL( self,COLOR_typing___SubVariableContext___prev))( self) /*SubVariableContext::prev*/;
   variable1 = ((typing___VariableContext___stype_t)CALL(variable1,COLOR_typing___VariableContext___stype))(variable1,  variable0 /*v*/) /*VariableContext::stype*/;
-  goto return_label12;
-  return_label12: while(false);
+  goto return_label13;
+  return_label13: while(false);
   tracehead = trace.prev;
   return variable1;
 }
@@ -497,7 +522,7 @@ void typing___AMethPropdef___accept_typing(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 =  param0;
-  variable1 = NEW_typing___VariableContext___init(); /*new VariableContext*/
+  variable1 = NEW_VariableContext_typing___VariableContext___init(); /*new VariableContext*/
   ((typing___TypingVisitor___variable_ctx__eq_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq))( variable0 /*v*/, variable1) /*TypingVisitor::variable_ctx=*/;
   ((typing___AMethPropdef___accept_typing_t)CALL( self,COLOR_SUPER_typing___AMethPropdef___accept_typing))( self,  param0) /*super AMethPropdef::accept_typing*/;
   tracehead = trace.prev;
@@ -564,8 +589,8 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
       variable7 = variable5;
       variable7 = ATTR_array___Array____items(variable7) /*Array::_items*/;
       variable7 = UNBOX_NativeArray(variable7)[UNTAG_Int( variable6 /*index*/)];
-      goto return_label20;
-      return_label20: while(false);
+      goto return_label21;
+      return_label21: while(false);
       variable5 = variable7;
       variable3 = variable5 /*cur_m=*/;
       variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*cur_m*/) /*MMLocalProperty::global*/;
@@ -597,8 +622,8 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
       variable9 = variable7;
       variable9 = ATTR_array___Array____items(variable9) /*Array::_items*/;
       variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
-      goto return_label22;
-      return_label22: while(false);
+      goto return_label23;
+      return_label23: while(false);
       variable7 = variable9;
       variable6 = variable7;
       variable7 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable6 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable6 /*c*/) /*MMLocalClass::global*/;
@@ -643,8 +668,8 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
             variable9 = variable7;
             variable9 = ATTR_array___Array____items(variable9) /*Array::_items*/;
             variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
-            goto return_label23;
-            return_label23: while(false);
+            goto return_label24;
+            return_label24: while(false);
             variable7 = variable9;
             variable3 = variable7 /*cur_m=*/;
             variable7 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*cur_m*/) /*MMLocalProperty::global*/;
@@ -667,9 +692,9 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
           variable5 = TAG_Int(UNTAG_Int(variable5)+UNTAG_Int( TAG_Int(1))) /*j*/;
         }
       }
-      continue_21: while(0);
+      continue_22: while(0);
     }
-    break_21: while(0);
+    break_22: while(0);
   }
   tracehead = trace.prev;
   return;
@@ -724,8 +749,8 @@ val_t typing___PExpr___is_implicit_self(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(false);
-  goto return_label26;
-  return_label26: while(false);
+  goto return_label27;
+  return_label27: while(false);
   tracehead = trace.prev;
   return variable0;
 }
@@ -735,8 +760,8 @@ val_t typing___PExpr___is_self(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(false);
-  goto return_label27;
-  return_label27: while(false);
+  goto return_label28;
+  return_label28: while(false);
   tracehead = trace.prev;
   return variable0;
 }
@@ -746,8 +771,8 @@ val_t typing___PExpr___is_variable(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(false);
-  goto return_label28;
-  return_label28: while(false);
+  goto return_label29;
+  return_label29: while(false);
   tracehead = trace.prev;
   return variable0;
 }
@@ -769,7 +794,7 @@ void typing___AVardeclExpr___after_typing(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable2 = ((parser_nodes___AVardeclExpr___n_id_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_id))( self) /*AVardeclExpr::n_id*/;
   variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*Token::to_symbol*/;
-  variable3 = NEW_syntax_base___Variable___init(variable2,  self); /*new Variable*/
+  variable3 = NEW_Variable_syntax_base___Variable___init(variable2,  self); /*new Variable*/
   variable2 = variable3;
   variable1 = variable2;
   ((syntax_base___AVardeclExpr___variable__eq_t)CALL( self,COLOR_syntax_base___AVardeclExpr___variable__eq))( self,  variable1 /*va*/) /*AVardeclExpr::variable=*/;
@@ -836,7 +861,7 @@ void typing___AReturnExpr___after_typing(val_t  self, val_t  param0) {
   }
   variable2 = variable3;
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString("Error: Return without value in a function."), TAG_Int(42)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString("Error: Return without value in a function."), TAG_Int(42)); /*new String*/
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
   } else { /*if*/
     variable2 = ((parser_nodes___AReturnExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AReturnExpr___n_expr))( self) /*AReturnExpr::n_expr*/;
@@ -847,7 +872,7 @@ void typing___AReturnExpr___after_typing(val_t  self, val_t  param0) {
     }
     variable2 = variable3;
     if (UNTAG_Bool(variable2)) { /*if*/
-      variable2 = NEW_string___String___with_native(BOX_NativeString("Error: Return with value in a procedure."), TAG_Int(40)); /*new String*/
+      variable2 = NEW_String_string___String___with_native(BOX_NativeString("Error: Return with value in a procedure."), TAG_Int(40)); /*new String*/
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
     } else { /*if*/
       variable2 = ((parser_nodes___AReturnExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AReturnExpr___n_expr))( self) /*AReturnExpr::n_expr*/;
@@ -945,10 +970,10 @@ void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0) {
   val_t variable3;
   val_t variable4;
   val_t variable5;
-  static val_t once_value_variable5_36; static int once_bool_variable5_36;
+  static val_t once_value_variable5_37; static int once_bool_variable5_37;
   val_t variable6;
   val_t variable7;
-  static val_t once_value_variable7_37; static int once_bool_variable7_37;
+  static val_t once_value_variable7_38; static int once_bool_variable7_38;
     val_t variable8;
     val_t variable9;
     val_t variable10;
@@ -961,7 +986,7 @@ void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0) {
   ((typing___TypingVisitor___variable_ctx__eq_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq))( variable0 /*v*/, variable1) /*TypingVisitor::variable_ctx=*/;
   variable2 = ((parser_nodes___AForVardeclExpr___n_id_t)CALL( self,COLOR_parser_nodes___AForVardeclExpr___n_id))( self) /*AForVardeclExpr::n_id*/;
   variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*Token::to_symbol*/;
-  variable3 = NEW_syntax_base___Variable___init(variable2,  self); /*new Variable*/
+  variable3 = NEW_Variable_syntax_base___Variable___init(variable2,  self); /*new Variable*/
   variable2 = variable3;
   variable1 = variable2;
   ((syntax_base___AForVardeclExpr___variable__eq_t)CALL( self,COLOR_syntax_base___AForVardeclExpr___variable__eq))( self,  variable1 /*va*/) /*AForVardeclExpr::variable=*/;
@@ -973,51 +998,51 @@ void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0) {
   variable3 = ((syntax_base___AbsSyntaxVisitor___type_collection_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_collection))( variable0 /*v*/) /*AbsSyntaxVisitor::type_collection*/;
   variable3 = ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self,  variable2 /*expr_type*/, variable3) /*AbsSyntaxVisitor::check_conform*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3)))) { /*if*/
-    goto return_label35;
+    goto return_label36;
   }
   variable4 = ((static_type___MMType___local_class_t)CALL( variable2 /*expr_type*/,COLOR_static_type___MMType___local_class))( variable2 /*expr_type*/) /*MMType::local_class*/;
-  if (once_bool_variable5_36) variable5 = once_value_variable5_36;
+  if (once_bool_variable5_37) variable5 = once_value_variable5_37;
   else {
-    variable5 = NEW_string___String___with_native(BOX_NativeString("iterator"), TAG_Int(8)); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("iterator"), TAG_Int(8)); /*new String*/
     variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
-    once_value_variable5_36 = variable5;
-    once_bool_variable5_36 = true;
+    once_value_variable5_37 = variable5;
+    once_bool_variable5_37 = true;
   }
   variable4 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable4, variable5) /*MMLocalClass::select_method*/;
   variable3 = variable4;
   variable4 = TAG_Bool(( variable3 /*prop*/ ==  NIT_NULL /*null*/) || (( variable3 /*prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*prop*/,COLOR_kernel___Object_____eqeq))( variable3 /*prop*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = NEW_string___String___with_native(BOX_NativeString("Error: Collection MUST have an iterate method"), TAG_Int(45)); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString("Error: Collection MUST have an iterate method"), TAG_Int(45)); /*new String*/
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
-    goto return_label35;
+    goto return_label36;
   }
   variable5 = ((static_type___MMLocalProperty___signature_for_t)CALL( variable3 /*prop*/,COLOR_static_type___MMLocalProperty___signature_for))( variable3 /*prop*/,  variable2 /*expr_type*/) /*MMLocalProperty::signature_for*/;
   variable5 = ((static_type___MMSignature___return_type_t)CALL(variable5,COLOR_static_type___MMSignature___return_type))(variable5) /*MMSignature::return_type*/;
   variable4 = variable5;
   variable6 = ((static_type___MMType___local_class_t)CALL( variable4 /*iter_type*/,COLOR_static_type___MMType___local_class))( variable4 /*iter_type*/) /*MMType::local_class*/;
-  if (once_bool_variable7_37) variable7 = once_value_variable7_37;
+  if (once_bool_variable7_38) variable7 = once_value_variable7_38;
   else {
-    variable7 = NEW_string___String___with_native(BOX_NativeString("item"), TAG_Int(4)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("item"), TAG_Int(4)); /*new String*/
     variable7 = ((symbol___String___to_symbol_t)CALL(variable7,COLOR_symbol___String___to_symbol))(variable7) /*String::to_symbol*/;
-    once_value_variable7_37 = variable7;
-    once_bool_variable7_37 = true;
+    once_value_variable7_38 = variable7;
+    once_bool_variable7_38 = true;
   }
   variable6 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable6, variable7) /*MMLocalClass::select_method*/;
   variable5 = variable6;
   variable6 = TAG_Bool(( variable5 /*prop2*/ ==  NIT_NULL /*null*/) || (( variable5 /*prop2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*prop2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*prop2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*prop2*/,COLOR_kernel___Object_____eqeq))( variable5 /*prop2*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___init(); /*new String*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
+    variable6 = NEW_String_string___String___init(); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
     variable9 =  variable4 /*iter_type*/;
     variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-    variable10 = NEW_string___String___with_native(BOX_NativeString(" MUST have an item method"), TAG_Int(25)); /*new String*/
+    variable10 = NEW_String_string___String___with_native(BOX_NativeString(" MUST have an item method"), TAG_Int(25)); /*new String*/
     variable11 = variable10;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
-    goto return_label35;
+    goto return_label36;
   }
   variable7 = ((static_type___MMLocalProperty___signature_for_t)CALL( variable5 /*prop2*/,COLOR_static_type___MMLocalProperty___signature_for))( variable5 /*prop2*/,  variable4 /*iter_type*/) /*MMLocalProperty::signature_for*/;
   variable7 = ((static_type___MMSignature___return_type_t)CALL(variable7,COLOR_static_type___MMSignature___return_type))(variable7) /*MMSignature::return_type*/;
@@ -1029,7 +1054,7 @@ void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0) {
     variable6 = variable7 /*t=*/;
   }
   ((syntax_base___Variable___stype__eq_t)CALL( variable1 /*va*/,COLOR_syntax_base___Variable___stype__eq))( variable1 /*va*/,  variable6 /*t*/) /*Variable::stype=*/;
-  return_label35: while(false);
+  return_label36: while(false);
   tracehead = trace.prev;
   return;
 }
@@ -1062,8 +1087,8 @@ val_t typing___AVarExpr___is_variable(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(true);
-  goto return_label39;
-  return_label39: while(false);
+  goto return_label40;
+  return_label40: while(false);
   tracehead = trace.prev;
   return variable0;
 }
@@ -1122,7 +1147,7 @@ void typing___AReassignFormExpr___do_lvalue_typing(val_t  self, val_t  param0, v
   variable1 =  param1;
   variable2 = TAG_Bool(( variable1 /*type_lvalue*/ ==  NIT_NULL /*null*/) || (( variable1 /*type_lvalue*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*type_lvalue*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*type_lvalue*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*type_lvalue*/,COLOR_kernel___Object_____eqeq))( variable1 /*type_lvalue*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    goto return_label42;
+    goto return_label43;
   }
   variable3 = ((parser_nodes___AReassignFormExpr___n_assign_op_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_assign_op))( self) /*AReassignFormExpr::n_assign_op*/;
   variable3 = ((typing___PAssignOp___method_name_t)CALL(variable3,COLOR_typing___PAssignOp___method_name))(variable3) /*PAssignOp::method_name*/;
@@ -1132,24 +1157,24 @@ void typing___AReassignFormExpr___do_lvalue_typing(val_t  self, val_t  param0, v
   variable3 = variable4;
   variable4 = TAG_Bool(( variable3 /*prop*/ ==  NIT_NULL /*null*/) || (( variable3 /*prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*prop*/,COLOR_kernel___Object_____eqeq))( variable3 /*prop*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = NEW_string___String___init(); /*new String*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
+    variable4 = NEW_String_string___String___init(); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
     variable7 =  variable2 /*name*/;
     variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
     variable10 =  variable1 /*type_lvalue*/;
     variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
-    goto return_label42;
+    goto return_label43;
   }
   variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*prop*/) /*MMLocalProperty::global*/;
   variable5 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
@@ -1168,7 +1193,7 @@ void typing___AReassignFormExpr___do_lvalue_typing(val_t  self, val_t  param0, v
   variable6 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AReassignFormExpr::n_value*/;
   variable6 = ((typing___PExpr___stype_t)CALL(variable6,COLOR_syntax_base___PExpr___stype))(variable6) /*PExpr::stype*/;
   ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable5, variable6) /*AbsSyntaxVisitor::check_conform*/;
-  return_label42: while(false);
+  return_label43: while(false);
   tracehead = trace.prev;
   return;
 }
@@ -1209,36 +1234,36 @@ val_t typing___PAssignOp___method_name(val_t  self) {
 val_t typing___APlusAssignOp___method_name(val_t  self) {
   struct trace_t trace = {NULL, NULL, 476, LOCATE_typing___APlusAssignOp___method_name};
   val_t variable0;
-  static val_t once_value_variable0_45; static int once_bool_variable0_45;
+  static val_t once_value_variable0_46; static int once_bool_variable0_46;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_45) variable0 = once_value_variable0_45;
+  if (once_bool_variable0_46) variable0 = once_value_variable0_46;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_45 = variable0;
-    once_bool_variable0_45 = true;
+    once_value_variable0_46 = variable0;
+    once_bool_variable0_46 = true;
   }
-  goto return_label44;
-  return_label44: while(false);
+  goto return_label45;
+  return_label45: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AMinusAssignOp___method_name(val_t  self) {
   struct trace_t trace = {NULL, NULL, 479, LOCATE_typing___AMinusAssignOp___method_name};
   val_t variable0;
-  static val_t once_value_variable0_47; static int once_bool_variable0_47;
+  static val_t once_value_variable0_48; static int once_bool_variable0_48;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_47) variable0 = once_value_variable0_47;
+  if (once_bool_variable0_48) variable0 = once_value_variable0_48;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_47 = variable0;
-    once_bool_variable0_47 = true;
+    once_value_variable0_48 = variable0;
+    once_bool_variable0_48 = true;
   }
-  goto return_label46;
-  return_label46: while(false);
+  goto return_label47;
+  return_label47: while(false);
   tracehead = trace.prev;
   return variable0;
 }
@@ -1263,8 +1288,8 @@ val_t typing___ASelfExpr___is_self(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(true);
-  goto return_label49;
-  return_label49: while(false);
+  goto return_label50;
+  return_label50: while(false);
   tracehead = trace.prev;
   return variable0;
 }
@@ -1274,8 +1299,8 @@ val_t typing___AImplicitSelfExpr___is_implicit_self(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(true);
-  goto return_label50;
-  return_label50: while(false);
+  goto return_label51;
+  return_label51: while(false);
   tracehead = trace.prev;
   return variable0;
 }
@@ -1330,28 +1355,28 @@ void typing___AIfexprExpr___accept_typing(val_t  self, val_t  param0) {
   } else { /*if*/
     variable4 = ((static_type___MMType_____l_t)CALL( variable3 /*te*/,COLOR_static_type___MMType_____l))( variable3 /*te*/,  variable2 /*t*/) /*MMType::<*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4)))) { /*if*/
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 =  variable3 /*te*/;
       variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-      variable8 = NEW_string___String___with_native(BOX_NativeString(" is not a subtype of "), TAG_Int(21)); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString(" is not a subtype of "), TAG_Int(21)); /*new String*/
       variable9 = variable8;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
       variable10 =  variable2 /*t*/;
       variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-      variable11 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable11 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable12 = variable11;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
-      goto return_label51;
+      goto return_label52;
     }
   }
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ =  variable2 /*t*/;
-  return_label51: while(false);
+  return_label52: while(false);
   tracehead = trace.prev;
   return;
 }
@@ -1571,10 +1596,10 @@ void typing___AArrayExpr___after_typing(val_t  self, val_t  param0) {
     if (UNTAG_Bool(variable5)) { /*if*/
       variable1 =  variable4 /*ntype*/ /*stype=*/;
     }
-    continue_64: while(0);
+    continue_65: while(0);
     ((list___ListIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ListIterator::next*/;
   }
-  break_64: while(0);
+  break_65: while(0);
   variable2 = ((parser_nodes___AArrayExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___AArrayExpr___n_exprs))( self) /*AArrayExpr::n_exprs*/;
   variable2 = ((list___List___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*List::iterator*/;
   while (true) { /*for*/
@@ -1583,10 +1608,10 @@ void typing___AArrayExpr___after_typing(val_t  self, val_t  param0) {
     variable3 = ((list___ListIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ListIterator::item*/;
     variable4 = ((typing___PExpr___stype_t)CALL( variable3 /*n*/,COLOR_syntax_base___PExpr___stype))( variable3 /*n*/) /*PExpr::stype*/;
     ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable4,  variable1 /*stype*/) /*AbsSyntaxVisitor::check_conform*/;
-    continue_65: while(0);
+    continue_66: while(0);
     ((list___ListIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ListIterator::next*/;
   }
-  break_65: while(0);
+  break_66: while(0);
   variable2 = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable0 /*v*/,  variable1 /*stype*/) /*AbsSyntaxVisitor::type_array*/;
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable2;
   tracehead = trace.prev;
@@ -1622,7 +1647,7 @@ void typing___ARangeExpr___after_typing(val_t  self, val_t  param0) {
   }
   variable3 = variable4;
   if (UNTAG_Bool(variable3)) { /*if*/
-    goto return_label66;
+    goto return_label67;
   }
   variable3 = ((static_type___MMType_____l_t)CALL( variable1 /*ntype*/,COLOR_static_type___MMType_____l))( variable1 /*ntype*/,  variable2 /*ntype2*/) /*MMType::<*/;
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -1630,24 +1655,24 @@ void typing___ARangeExpr___after_typing(val_t  self, val_t  param0) {
   } else { /*if*/
     variable3 = ((static_type___MMType_____l_t)CALL( variable2 /*ntype2*/,COLOR_static_type___MMType_____l))( variable2 /*ntype2*/,  variable1 /*ntype*/) /*MMType::<*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3)))) { /*if*/
-      variable3 = NEW_string___String___init(); /*new String*/
-      variable4 = NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
+      variable3 = NEW_String_string___String___init(); /*new String*/
+      variable4 = NEW_String_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
       variable5 = variable4;
       ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
       variable6 =  variable1 /*ntype*/;
       variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
       ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-      variable7 = NEW_string___String___with_native(BOX_NativeString(" incompatible with "), TAG_Int(19)); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString(" incompatible with "), TAG_Int(19)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
       variable9 =  variable2 /*ntype2*/;
       variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
       ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-      variable10 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable10 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable11 = variable10;
       ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable3) /*AbsSyntaxVisitor::error*/;
-      goto return_label66;
+      goto return_label67;
     }
   }
   variable4 = ((syntax_base___AbsSyntaxVisitor___type_discrete_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_discrete))( variable0 /*v*/) /*AbsSyntaxVisitor::type_discrete*/;
@@ -1655,7 +1680,7 @@ void typing___ARangeExpr___after_typing(val_t  self, val_t  param0) {
   ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self,  variable1 /*ntype*/,  variable3 /*dtype*/) /*AbsSyntaxVisitor::check_conform*/;
   variable4 = ((syntax_base___AbsSyntaxVisitor___type_range_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_range))( variable0 /*v*/,  variable1 /*ntype*/) /*AbsSyntaxVisitor::type_range*/;
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable4;
-  return_label66: while(false);
+  return_label67: while(false);
   tracehead = trace.prev;
   return;
 }
@@ -1712,21 +1737,21 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
         variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable4 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable4 /*p*/) /*MMLocalProperty::global*/;
         variable5 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable5,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable5) /*MMGlobalProperty::is_init*/;
         if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5)))) { /*if*/
-          variable5 = NEW_string___String___init(); /*new String*/
-          variable6 = NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
+          variable5 = NEW_String_string___String___init(); /*new String*/
+          variable6 = NEW_String_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
           variable7 = variable6;
           ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
           variable8 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable4 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable4 /*p*/) /*MMLocalProperty::local_class*/;
           variable9 = variable8;
           variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
           ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-          variable10 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
+          variable10 = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
           variable11 = variable10;
           ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
           variable12 =  variable4 /*p*/;
           variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
           ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable12) /*String::append*/;
-          variable13 = NEW_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
+          variable13 = NEW_String_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
           variable14 = variable13;
           ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable14) /*String::append*/;
           ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
@@ -1736,14 +1761,14 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
           variable5 = ((inheritance___MMLocalClass_____bra_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass_____bra))(variable5, variable6) /*MMLocalClass::[]*/;
           ((array___AbstractArray___add_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*precs*/, variable5) /*AbstractArray::add*/;
         }
-        continue_68: while(0);
+        continue_69: while(0);
         ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
       }
-      break_68: while(0);
+      break_69: while(0);
       variable3 = ((array___AbstractArray___is_empty_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___is_empty))( variable1 /*precs*/) /*AbstractArray::is_empty*/;
       if (UNTAG_Bool(variable3)) { /*if*/
-        variable3 = NEW_string___String___init(); /*new String*/
-        variable4 = NEW_string___String___with_native(BOX_NativeString("Error: No contructor named "), TAG_Int(27)); /*new String*/
+        variable3 = NEW_String_string___String___init(); /*new String*/
+        variable4 = NEW_String_string___String___with_native(BOX_NativeString("Error: No contructor named "), TAG_Int(27)); /*new String*/
         variable5 = variable4;
         ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
         variable6 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
@@ -1751,17 +1776,17 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
         variable7 = variable6;
         variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
         ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-        variable8 = NEW_string___String___with_native(BOX_NativeString(" in superclasses."), TAG_Int(17)); /*new String*/
+        variable8 = NEW_String_string___String___with_native(BOX_NativeString(" in superclasses."), TAG_Int(17)); /*new String*/
         variable9 = variable8;
         ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable3) /*AbsSyntaxVisitor::error*/;
-        goto return_label67;
+        goto return_label68;
       } else { /*if*/
         variable3 = ((array___AbstractArray___length_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___length))( variable1 /*precs*/) /*AbstractArray::length*/;
         variable3 = TAG_Bool(UNTAG_Int(variable3)>UNTAG_Int( TAG_Int(1)));
         if (UNTAG_Bool(variable3)) { /*if*/
-          variable3 = NEW_string___String___init(); /*new String*/
-          variable4 = NEW_string___String___with_native(BOX_NativeString("Error: Conflicting contructors named "), TAG_Int(37)); /*new String*/
+          variable3 = NEW_String_string___String___init(); /*new String*/
+          variable4 = NEW_String_string___String___with_native(BOX_NativeString("Error: Conflicting contructors named "), TAG_Int(37)); /*new String*/
           variable5 = variable4;
           ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
           variable6 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
@@ -1769,18 +1794,18 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
           variable7 = variable6;
           variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
           ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-          variable8 = NEW_string___String___with_native(BOX_NativeString(" in superclasses: "), TAG_Int(18)); /*new String*/
+          variable8 = NEW_String_string___String___with_native(BOX_NativeString(" in superclasses: "), TAG_Int(18)); /*new String*/
           variable9 = variable8;
           ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-          variable10 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+          variable10 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
           variable10 = ((string___Collection___join_t)CALL( variable1 /*precs*/,COLOR_string___Collection___join))( variable1 /*precs*/, variable10) /*Collection::join*/;
           variable11 = variable10;
           ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-          variable12 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+          variable12 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
           variable13 = variable12;
           ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
           ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable3) /*AbsSyntaxVisitor::error*/;
-          goto return_label67;
+          goto return_label68;
         }
       }
       variable4 = ((abstract_collection___IndexedCollection___first_t)CALL( variable2 /*base_precs*/,COLOR_abstract_collection___Collection___first))( variable2 /*base_precs*/) /*IndexedCollection::first*/;
@@ -1800,19 +1825,19 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
         ATTR_typing___AAbsSendExpr____arguments( self) /*AAbsSendExpr::_arguments*/ = variable4;
       }
     } else { /*if*/
-      variable2 = NEW_string___String___init(); /*new String*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString("Error: No super method to call for "), TAG_Int(35)); /*new String*/
+      variable2 = NEW_String_string___String___init(); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("Error: No super method to call for "), TAG_Int(35)); /*new String*/
       variable4 = variable3;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
       variable5 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
       variable6 = variable5;
       variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-      variable7 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
-      goto return_label67;
+      goto return_label68;
     }
   }
   variable2 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___first))( variable1 /*precs*/) /*IndexedCollection::first*/;
@@ -1821,7 +1846,7 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
   variable2 = ((static_type___MMSignature___return_type_t)CALL(variable2,COLOR_static_type___MMSignature___return_type))(variable2) /*MMSignature::return_type*/;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable3 = NEW_array___Array___init(); /*new Array[E]*/
+    variable3 = NEW_Array_array___Array___init(); /*new Array[MMType]*/
     variable2 = variable3;
     variable3 =  NIT_NULL /*null*/;
     variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*precs*/) /*AbstractArray::iterator*/;
@@ -1851,20 +1876,20 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
       if (UNTAG_Bool(variable7)) { /*if*/
         variable3 =  variable6 /*t*/ /*stype=*/;
       }
-      continue_69: while(0);
+      continue_70: while(0);
       ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
     }
-    break_69: while(0);
+    break_70: while(0);
     variable4 = ((array___AbstractArray___iterator_t)CALL( variable2 /*stypes*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*stypes*/) /*AbstractArray::iterator*/;
     while (true) { /*for*/
       variable5 = ((array___ArrayIterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*ArrayIterator::is_ok*/;
       if (!UNTAG_Bool(variable5)) break; /*for*/
       variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
       ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self,  variable5 /*t*/,  variable3 /*stype*/) /*AbsSyntaxVisitor::check_conform*/;
-      continue_70: while(0);
+      continue_71: while(0);
       ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
     }
-    break_70: while(0);
+    break_71: while(0);
     ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ =  variable3 /*stype*/;
   }
   variable3 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
@@ -1872,7 +1897,7 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
   variable3 = TAG_Bool(( variable2 /*p*/==NIT_NULL) || VAL_ISA( variable2 /*p*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
   if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ASuperExpr___after_typing, LOCATE_typing, 705); nit_exit(1);}
   ATTR_typing___AAbsSendExpr____prop( self) /*AAbsSendExpr::_prop*/ =  variable2 /*p*/;
-  return_label67: while(false);
+  return_label68: while(false);
   tracehead = trace.prev;
   return;
 }
@@ -1918,7 +1943,7 @@ void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable2 = TAG_Bool(( variable1 /*type_recv*/ ==  NIT_NULL /*null*/) || (( variable1 /*type_recv*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*type_recv*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*type_recv*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*type_recv*/,COLOR_kernel___Object_____eqeq))( variable1 /*type_recv*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    goto return_label71;
+    goto return_label72;
   }
   variable3 = ((parser_nodes___AAttrFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_id))( self) /*AAttrFormExpr::n_id*/;
   variable3 = ((syntax_base___Token___to_symbol_t)CALL(variable3,COLOR_syntax_base___Token___to_symbol))(variable3) /*Token::to_symbol*/;
@@ -1928,24 +1953,24 @@ void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 = TAG_Bool(( variable3 /*prop*/ ==  NIT_NULL /*null*/) || (( variable3 /*prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*prop*/,COLOR_kernel___Object_____eqeq))( variable3 /*prop*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = NEW_string___String___init(); /*new String*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
+    variable4 = NEW_String_string___String___init(); /*new String*/
+    variable5 = NEW_String_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
     variable6 = variable5;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
     variable7 =  variable2 /*name*/;
     variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(" doesn't exists in "), TAG_Int(19)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString(" doesn't exists in "), TAG_Int(19)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
     variable10 =  variable1 /*type_recv*/;
     variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable11 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
-    goto return_label71;
+    goto return_label72;
   } else { /*if*/
     variable4 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
     variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*prop*/) /*MMLocalProperty::global*/;
@@ -1954,14 +1979,14 @@ void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
     variable4 = ((abstractmetamodel___MMModule___visibility_for_t)CALL(variable4,COLOR_abstractmetamodel___MMModule___visibility_for))(variable4, variable5) /*MMModule::visibility_for*/;
     variable4 = TAG_Bool(UNTAG_Int(variable4)<UNTAG_Int( TAG_Int(3)));
     if (UNTAG_Bool(variable4)) { /*if*/
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 =  variable2 /*name*/;
       variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-      variable8 = NEW_string___String___with_native(BOX_NativeString(" from "), TAG_Int(6)); /*new String*/
+      variable8 = NEW_String_string___String___with_native(BOX_NativeString(" from "), TAG_Int(6)); /*new String*/
       variable9 = variable8;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
       variable10 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*prop*/) /*MMLocalProperty::global*/;
@@ -1970,14 +1995,14 @@ void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
       variable11 = variable10;
       variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-      variable12 = NEW_string___String___with_native(BOX_NativeString(" is invisible in "), TAG_Int(17)); /*new String*/
+      variable12 = NEW_String_string___String___with_native(BOX_NativeString(" is invisible in "), TAG_Int(17)); /*new String*/
       variable13 = variable12;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
       variable14 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
       variable15 = variable14;
       variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
-      variable16 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable17 = variable16;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable17) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
@@ -1994,7 +2019,7 @@ void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
     variable4 = variable5 /*at=*/;
   }
   ATTR_typing___AAttrFormExpr____attr_type( self) /*AAttrFormExpr::_attr_type*/ =  variable4 /*at*/;
-  return_label71: while(false);
+  return_label72: while(false);
   tracehead = trace.prev;
   return;
 }
@@ -2009,11 +2034,11 @@ void typing___AAttrExpr___after_typing(val_t  self, val_t  param0) {
   variable1 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrFormExpr::prop*/;
   variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable1)) { /*if*/
-    goto return_label72;
+    goto return_label73;
   }
   variable1 = ((typing___AAttrFormExpr___attr_type_t)CALL( self,COLOR_typing___AAttrFormExpr___attr_type))( self) /*AAttrFormExpr::attr_type*/;
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
-  return_label72: while(false);
+  return_label73: while(false);
   tracehead = trace.prev;
   return;
 }
@@ -2029,13 +2054,13 @@ void typing___AAttrAssignExpr___after_typing(val_t  self, val_t  param0) {
   variable1 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrFormExpr::prop*/;
   variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable1)) { /*if*/
-    goto return_label73;
+    goto return_label74;
   }
   variable1 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAssignFormExpr::n_value*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
   variable2 = ((typing___AAttrFormExpr___attr_type_t)CALL( self,COLOR_typing___AAttrFormExpr___attr_type))( self) /*AAttrFormExpr::attr_type*/;
   ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable1, variable2) /*AbsSyntaxVisitor::check_conform*/;
-  return_label73: while(false);
+  return_label74: while(false);
   tracehead = trace.prev;
   return;
 }
@@ -2050,11 +2075,11 @@ void typing___AAttrReassignExpr___after_typing(val_t  self, val_t  param0) {
   variable1 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrFormExpr::prop*/;
   variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable1)) { /*if*/
-    goto return_label74;
+    goto return_label75;
   }
   variable1 = ((typing___AAttrFormExpr___attr_type_t)CALL( self,COLOR_typing___AAttrFormExpr___attr_type))( self) /*AAttrFormExpr::attr_type*/;
   ((typing___AReassignFormExpr___do_lvalue_typing_t)CALL( self,COLOR_typing___AReassignFormExpr___do_lvalue_typing))( self,  variable0 /*v*/, variable1) /*AReassignFormExpr::do_lvalue_typing*/;
-  return_label74: while(false);
+  return_label75: while(false);
   tracehead = trace.prev;
   return;
 }
@@ -2081,17 +2106,17 @@ void typing___AAbsSendExpr___do_typing(val_t  self, val_t  param0, val_t  param1
   variable6 = variable7;
   variable7 = TAG_Bool(( variable6 /*prop*/ ==  NIT_NULL /*null*/) || (( variable6 /*prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*prop*/,COLOR_kernel___Object_____eqeq))( variable6 /*prop*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    goto return_label75;
+    goto return_label76;
   }
   variable8 = ((typing___AAbsSendExpr___process_signature_t)CALL( self,COLOR_typing___AAbsSendExpr___process_signature))( self,  variable0 /*v*/,  variable1 /*type_recv*/,  variable6 /*prop*/,  variable3 /*recv_is_self*/,  variable5 /*raw_args*/) /*AAbsSendExpr::process_signature*/;
   variable7 = variable8;
   variable8 = TAG_Bool(( variable7 /*args*/ ==  NIT_NULL /*null*/) || (( variable7 /*args*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*args*/,COLOR_kernel___Object_____eqeq))( variable7 /*args*/,  NIT_NULL /*null*/) /*AbstractArray::==*/)));
   if (UNTAG_Bool(variable8)) { /*if*/
-    goto return_label75;
+    goto return_label76;
   }
   ATTR_typing___AAbsSendExpr____prop( self) /*AAbsSendExpr::_prop*/ =  variable6 /*prop*/;
   ATTR_typing___AAbsSendExpr____arguments( self) /*AAbsSendExpr::_arguments*/ =  variable7 /*args*/;
-  return_label75: while(false);
+  return_label76: while(false);
   tracehead = trace.prev;
   return;
 }
@@ -2122,7 +2147,7 @@ val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  pa
   variable4 = TAG_Bool(( variable1 /*type_recv*/ ==  NIT_NULL /*null*/) || (( variable1 /*type_recv*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*type_recv*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*type_recv*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*type_recv*/,COLOR_kernel___Object_____eqeq))( variable1 /*type_recv*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable4)) { /*if*/
     variable4 =  NIT_NULL /*null*/;
-    goto return_label76;
+    goto return_label77;
   }
   variable5 = ((static_type___MMType___local_class_t)CALL( variable1 /*type_recv*/,COLOR_static_type___MMType___local_class))( variable1 /*type_recv*/) /*MMType::local_class*/;
   variable5 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable5,  variable3 /*name*/) /*MMLocalClass::select_method*/;
@@ -2142,26 +2167,26 @@ val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  pa
     variable6 = ((array___AbstractArray___length_t)CALL( variable5 /*props*/,COLOR_abstract_collection___Collection___length))( variable5 /*props*/) /*AbstractArray::length*/;
     variable6 = TAG_Bool(UNTAG_Int(variable6)>UNTAG_Int( TAG_Int(1)));
     if (UNTAG_Bool(variable6)) { /*if*/
-      variable6 = NEW_string___String___init(); /*new String*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString("Error: Ambigous method name '"), TAG_Int(29)); /*new String*/
+      variable6 = NEW_String_string___String___init(); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString("Error: Ambigous method name '"), TAG_Int(29)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
       variable9 =  variable3 /*name*/;
       variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-      variable10 = NEW_string___String___with_native(BOX_NativeString("' for "), TAG_Int(6)); /*new String*/
+      variable10 = NEW_String_string___String___with_native(BOX_NativeString("' for "), TAG_Int(6)); /*new String*/
       variable11 = variable10;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
-      variable12 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+      variable12 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
       variable12 = ((string___Collection___join_t)CALL( variable5 /*props*/,COLOR_string___Collection___join))( variable5 /*props*/, variable12) /*Collection::join*/;
       variable13 = variable12;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
-      variable14 = NEW_string___String___with_native(BOX_NativeString(". Use explicit designation."), TAG_Int(27)); /*new String*/
+      variable14 = NEW_String_string___String___with_native(BOX_NativeString(". Use explicit designation."), TAG_Int(27)); /*new String*/
       variable15 = variable14;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
       variable4 =  NIT_NULL /*null*/;
-      goto return_label76;
+      goto return_label77;
     } else { /*if*/
       variable6 = ((array___AbstractArray___length_t)CALL( variable5 /*props*/,COLOR_abstract_collection___Collection___length))( variable5 /*props*/) /*AbstractArray::length*/;
       variable6 = TAG_Bool((variable6)==( TAG_Int(1)));
@@ -2180,48 +2205,48 @@ val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  pa
   variable5 = TAG_Bool(( variable4 /*prop*/ ==  NIT_NULL /*null*/) || (( variable4 /*prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*prop*/,COLOR_kernel___Object_____eqeq))( variable4 /*prop*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable5)) { /*if*/
     if (UNTAG_Bool( variable2 /*is_implicit_self*/)) { /*if*/
-      variable5 = NEW_string___String___init(); /*new String*/
-      variable6 = NEW_string___String___with_native(BOX_NativeString("Error: Method or variable '"), TAG_Int(27)); /*new String*/
+      variable5 = NEW_String_string___String___init(); /*new String*/
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString("Error: Method or variable '"), TAG_Int(27)); /*new String*/
       variable7 = variable6;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
       variable8 =  variable3 /*name*/;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString("' unknown in "), TAG_Int(13)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("' unknown in "), TAG_Int(13)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
       variable11 =  variable1 /*type_recv*/;
       variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
-      variable12 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable12 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable13 = variable12;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
     } else { /*if*/
-      variable5 = NEW_string___String___init(); /*new String*/
-      variable6 = NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
+      variable5 = NEW_String_string___String___init(); /*new String*/
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
       variable7 = variable6;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
       variable8 =  variable3 /*name*/;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
       variable11 =  variable1 /*type_recv*/;
       variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
-      variable12 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable12 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable13 = variable12;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
     }
     variable4 =  NIT_NULL /*null*/;
-    goto return_label76;
+    goto return_label77;
   }
   variable4 =  variable4 /*prop*/;
-  goto return_label76;
-  return_label76: while(false);
+  goto return_label77;
+  return_label77: while(false);
   tracehead = trace.prev;
   return variable4;
 }
@@ -2285,24 +2310,24 @@ val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_
   }
   variable9 = variable10;
   if (UNTAG_Bool(variable9)) { /*if*/
-    variable9 = NEW_string___String___init(); /*new String*/
-    variable10 = NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
+    variable9 = NEW_String_string___String___init(); /*new String*/
+    variable10 = NEW_String_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
     variable11 = variable10;
     ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable11) /*String::append*/;
     variable12 =  variable2 /*prop*/;
     variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
     ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable12) /*String::append*/;
-    variable13 = NEW_string___String___with_native(BOX_NativeString("' arity missmatch."), TAG_Int(18)); /*new String*/
+    variable13 = NEW_String_string___String___with_native(BOX_NativeString("' arity missmatch."), TAG_Int(18)); /*new String*/
     variable14 = variable13;
     ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable14) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable9) /*AbsSyntaxVisitor::error*/;
     variable5 =  NIT_NULL /*null*/;
-    goto return_label77;
+    goto return_label78;
   }
   variable9 =  TAG_Int(0);
-  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable11 = NEW_Array_array___Array___init(); /*new Array[PExpr]*/
   variable10 = variable11;
-  variable11 = NEW_range___Range___without_last( TAG_Int(0),  variable7 /*par_arity*/); /*new Range[E]*/
+  variable11 = NEW_Range_range___Range___without_last( TAG_Int(0),  variable7 /*par_arity*/); /*new Range[Int]*/
   variable11 = ((range___Range___iterator_t)CALL(variable11,COLOR_abstract_collection___Collection___iterator))(variable11) /*Range::iterator*/;
   while (true) { /*for*/
     variable12 = ((abstract_collection___Iterator___is_ok_t)CALL(variable11,COLOR_abstract_collection___Iterator___is_ok))(variable11) /*Iterator::is_ok*/;
@@ -2317,10 +2342,10 @@ val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_
     }
     variable15 = TAG_Bool(( variable12 /*par_idx*/)==( variable6 /*par_vararg*/));
     if (UNTAG_Bool(variable15)) { /*if*/
-      variable16 = NEW_array___Array___init(); /*new Array[E]*/
+      variable16 = NEW_Array_array___Array___init(); /*new Array[PExpr]*/
       variable15 = variable16;
       variable16 = TAG_Int(UNTAG_Int( variable8 /*raw_arity*/)-UNTAG_Int( variable7 /*par_arity*/));
-      variable17 = NEW_range___Range___init( TAG_Int(0), variable16); /*new Range[E]*/
+      variable17 = NEW_Range_range___Range___init( TAG_Int(0), variable16); /*new Range[Int]*/
       variable16 = variable17;
       variable16 = ((range___Range___iterator_t)CALL(variable16,COLOR_abstract_collection___Collection___iterator))(variable16) /*Range::iterator*/;
       while (true) { /*for*/
@@ -2338,8 +2363,8 @@ val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_
         if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_typing, 229); nit_exit(1);}
         variable19 = ATTR_array___Array____items( variable4 /*raw_args*/) /*Array::_items*/;
         variable19 = UNBOX_NativeArray(variable19)[UNTAG_Int( variable18 /*index*/)];
-        goto return_label80;
-        return_label80: while(false);
+        goto return_label81;
+        return_label81: while(false);
         variable18 = variable19;
         variable13 = variable18 /*a=*/;
         variable18 = ((typing___PExpr___stype_t)CALL( variable13 /*a*/,COLOR_syntax_base___PExpr___stype))( variable13 /*a*/) /*PExpr::stype*/;
@@ -2347,11 +2372,11 @@ val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_
         ((array___AbstractArray___add_t)CALL( variable15 /*star*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*star*/,  variable13 /*a*/) /*AbstractArray::add*/;
         variable18 = TAG_Int(UNTAG_Int( variable9 /*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
         variable9 = variable18 /*arg_idx=*/;
-        continue_79: while(0);
+        continue_80: while(0);
         ((abstract_collection___Iterator___next_t)CALL(variable16,COLOR_abstract_collection___Iterator___next))(variable16) /*Iterator::next*/;
       }
-      break_79: while(0);
-      variable17 = NEW_parser_prod___AArrayExpr___init_aarrayexpr( variable15 /*star*/); /*new AArrayExpr*/
+      break_80: while(0);
+      variable17 = NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr( variable15 /*star*/); /*new AArrayExpr*/
       variable16 = variable17;
       variable17 = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable0 /*v*/,  variable14 /*par_type*/) /*AbsSyntaxVisitor::type_array*/;
       ((typing___AArrayExpr___stype__eq_t)CALL( variable16 /*aa*/,COLOR_typing___AArrayExpr___stype__eq))( variable16 /*aa*/, variable17) /*AArrayExpr::stype=*/;
@@ -2368,8 +2393,8 @@ val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_
       if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_typing, 229); nit_exit(1);}
       variable16 = ATTR_array___Array____items( variable4 /*raw_args*/) /*Array::_items*/;
       variable16 = UNBOX_NativeArray(variable16)[UNTAG_Int( variable15 /*index*/)];
-      goto return_label81;
-      return_label81: while(false);
+      goto return_label82;
+      return_label82: while(false);
       variable15 = variable16;
       variable13 = variable15 /*a=*/;
       variable15 = ((typing___PExpr___stype_t)CALL( variable13 /*a*/,COLOR_syntax_base___PExpr___stype))( variable13 /*a*/) /*PExpr::stype*/;
@@ -2378,13 +2403,13 @@ val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_
       variable9 = variable15 /*arg_idx=*/;
     }
     ((array___AbstractArray___add_t)CALL( variable10 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*args*/,  variable13 /*a*/) /*AbstractArray::add*/;
-    continue_78: while(0);
+    continue_79: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable11,COLOR_abstract_collection___Iterator___next))(variable11) /*Iterator::next*/;
   }
-  break_78: while(0);
+  break_79: while(0);
   variable5 =  variable10 /*args*/;
-  goto return_label77;
-  return_label77: while(false);
+  goto return_label78;
+  return_label78: while(false);
   tracehead = trace.prev;
   return variable5;
 }
@@ -2435,14 +2460,14 @@ void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  para
   }
   variable2 = variable3;
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("Error: Constructor invocation "), TAG_Int(30)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("Error: Constructor invocation "), TAG_Int(30)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 =  variable1 /*property*/;
     variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString(" must not be in nested block."), TAG_Int(29)); /*new String*/
+    variable6 = NEW_String_string___String___with_native(BOX_NativeString(" must not be in nested block."), TAG_Int(29)); /*new String*/
     variable7 = variable6;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
@@ -2476,35 +2501,35 @@ void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  para
   } else { /*if*/
     variable5 = ((array___AbstractArray___has_t)CALL( variable4 /*order*/,COLOR_abstract_collection___Collection___has))( variable4 /*order*/,  variable2 /*cla*/) /*AbstractArray::has*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5)))) { /*if*/
-      variable5 = NEW_string___String___init(); /*new String*/
-      variable6 = NEW_string___String___with_native(BOX_NativeString("Error: Constructor of class "), TAG_Int(28)); /*new String*/
+      variable5 = NEW_String_string___String___init(); /*new String*/
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString("Error: Constructor of class "), TAG_Int(28)); /*new String*/
       variable7 = variable6;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
       variable8 =  variable2 /*cla*/;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString(" must be one in "), TAG_Int(16)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString(" must be one in "), TAG_Int(16)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
-      variable11 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+      variable11 = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
       variable11 = ((string___Collection___join_t)CALL( variable4 /*order*/,COLOR_string___Collection___join))( variable4 /*order*/, variable11) /*Collection::join*/;
       variable12 = variable11;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable14) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
     } else { /*if*/
       variable5 = TAG_Bool(( variable2 /*cla*/ ==  variable3 /*prev_class*/) || (( variable2 /*cla*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*cla*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*cla*/, variable3 /*prev_class*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*cla*/,COLOR_kernel___Object_____eqeq))( variable2 /*cla*/,  variable3 /*prev_class*/) /*Object::==*/)))));
       if (UNTAG_Bool(variable5)) { /*if*/
-        variable5 = NEW_string___String___init(); /*new String*/
-        variable6 = NEW_string___String___with_native(BOX_NativeString("Error: Only one super constructor invocation of class "), TAG_Int(54)); /*new String*/
+        variable5 = NEW_String_string___String___init(); /*new String*/
+        variable6 = NEW_String_string___String___with_native(BOX_NativeString("Error: Only one super constructor invocation of class "), TAG_Int(54)); /*new String*/
         variable7 = variable6;
         ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
         variable8 =  variable2 /*cla*/;
         variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
         ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-        variable9 = NEW_string___String___with_native(BOX_NativeString(" is allowed."), TAG_Int(12)); /*new String*/
+        variable9 = NEW_String_string___String___with_native(BOX_NativeString(" is allowed."), TAG_Int(12)); /*new String*/
         variable10 = variable9;
         ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
@@ -2523,33 +2548,33 @@ void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  para
             variable8 = TAG_Bool(( variable7 /*c*/ ==  variable2 /*cla*/) || (( variable7 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*c*/, variable2 /*cla*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*c*/,COLOR_kernel___Object_____eqeq))( variable7 /*c*/,  variable2 /*cla*/) /*Object::==*/)))));
             if (UNTAG_Bool(variable8)) { /*if*/
               if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable5 /*last_is_found*/)))) { /*if*/
-               variable8 = NEW_string___String___init(); /*new String*/
-               variable9 = NEW_string___String___with_native(BOX_NativeString("Error: Constructor of "), TAG_Int(22)); /*new String*/
+               variable8 = NEW_String_string___String___init(); /*new String*/
+               variable9 = NEW_String_string___String___with_native(BOX_NativeString("Error: Constructor of "), TAG_Int(22)); /*new String*/
                variable10 = variable9;
                ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
                variable11 =  variable7 /*c*/;
                variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
                ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable11) /*String::append*/;
-               variable12 = NEW_string___String___with_native(BOX_NativeString(" must be invoked before constructor of "), TAG_Int(39)); /*new String*/
+               variable12 = NEW_String_string___String___with_native(BOX_NativeString(" must be invoked before constructor of "), TAG_Int(39)); /*new String*/
                variable13 = variable12;
                ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable13) /*String::append*/;
                variable14 =  variable3 /*prev_class*/;
                variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
                ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+               variable15 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
                variable16 = variable15;
                ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable16) /*String::append*/;
                ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable8) /*AbsSyntaxVisitor::error*/;
               }
               variable8 = ((typing___TypingVisitor___explicit_super_init_calls_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___explicit_super_init_calls))( variable0 /*v*/) /*TypingVisitor::explicit_super_init_calls*/;
               ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable1 /*property*/) /*AbstractArray::add*/;
-              goto break_83;
+              goto break_84;
             }
           }
-          continue_83: while(0);
+          continue_84: while(0);
           ((array___ArrayIterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*ArrayIterator::next*/;
         }
-        break_83: while(0);
+        break_84: while(0);
       }
     }
   }
@@ -2567,7 +2592,7 @@ void typing___ANewExpr___after_typing(val_t  self, val_t  param0) {
     val_t variable6;
     val_t variable7;
     val_t variable8;
-    static val_t once_value_variable3_85; static int once_bool_variable3_85;
+    static val_t once_value_variable3_86; static int once_bool_variable3_86;
     val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
@@ -2577,36 +2602,36 @@ void typing___ANewExpr___after_typing(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable2 = TAG_Bool(( variable1 /*t*/ ==  NIT_NULL /*null*/) || (( variable1 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))( variable1 /*t*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    goto return_label84;
+    goto return_label85;
   }
   variable2 = ((static_type___MMType___local_class_t)CALL( variable1 /*t*/,COLOR_static_type___MMType___local_class))( variable1 /*t*/) /*MMType::local_class*/;
   variable2 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___global))(variable2) /*MMLocalClass::global*/;
   variable2 = ((abstractmetamodel___MMGlobalClass___is_abstract_t)CALL(variable2,COLOR_abstractmetamodel___MMGlobalClass___is_abstract))(variable2) /*MMGlobalClass::is_abstract*/;
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("Error: try to instantiate abstract class "), TAG_Int(41)); /*new String*/
+    variable2 = NEW_String_string___String___init(); /*new String*/
+    variable3 = NEW_String_string___String___with_native(BOX_NativeString("Error: try to instantiate abstract class "), TAG_Int(41)); /*new String*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
     variable5 = ((static_type___MMType___local_class_t)CALL( variable1 /*t*/,COLOR_static_type___MMType___local_class))( variable1 /*t*/) /*MMType::local_class*/;
     variable6 = variable5;
     variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-    variable7 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
-    goto return_label84;
+    goto return_label85;
   }
   variable2 = NIT_NULL /*decl variable name*/;
   variable3 = ((parser_nodes___ANewExpr___n_id_t)CALL( self,COLOR_parser_nodes___ANewExpr___n_id))( self) /*ANewExpr::n_id*/;
   variable3 = TAG_Bool((variable3 ==  NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    if (once_bool_variable3_85) variable3 = once_value_variable3_85;
+    if (once_bool_variable3_86) variable3 = once_value_variable3_86;
     else {
-      variable3 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
       variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
-      once_value_variable3_85 = variable3;
-      once_bool_variable3_85 = true;
+      once_value_variable3_86 = variable3;
+      once_bool_variable3_86 = true;
     }
     variable2 = variable3 /*name=*/;
   } else { /*if*/
@@ -2618,49 +2643,54 @@ void typing___ANewExpr___after_typing(val_t  self, val_t  param0) {
   variable3 = ((array___Collection___to_a_t)CALL(variable3,COLOR_array___Collection___to_a))(variable3) /*Collection::to_a*/;
   ((typing___AAbsSendExpr___do_typing_t)CALL( self,COLOR_typing___AAbsSendExpr___do_typing))( self,  variable0 /*v*/,  variable1 /*t*/,  TAG_Bool(false),  TAG_Bool(false),  variable2 /*name*/, variable3) /*AAbsSendExpr::do_typing*/;
   variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
+  variable3 = TAG_Bool((variable3 ==  NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  NIT_NULL /*null*/) /*Object::==*/)))));
+  if (UNTAG_Bool(variable3)) { /*if*/
+    goto return_label85;
+  }
+  variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
   variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___global))(variable3) /*MMLocalProperty::global*/;
   variable3 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable3,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable3) /*MMGlobalProperty::is_init*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3)))) { /*if*/
-    variable3 = NEW_string___String___init(); /*new String*/
-    variable4 = NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
+    variable3 = NEW_String_string___String___init(); /*new String*/
+    variable4 = NEW_String_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
     variable5 = variable4;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
     variable6 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
     variable7 = variable6;
     variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
+    variable8 = NEW_String_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
     variable9 = variable8;
     ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
     ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable3) /*AbsSyntaxVisitor::error*/;
   }
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ =  variable1 /*t*/;
-  return_label84: while(false);
+  return_label85: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t typing___ASendExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 925, LOCATE_typing___ASendExpr___name};
+  struct trace_t trace = {NULL, NULL, 927, LOCATE_typing___ASendExpr___name};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing, LOCATE_typing, 925);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing, LOCATE_typing, 927);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t typing___ASendExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 928, LOCATE_typing___ASendExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 930, LOCATE_typing___ASendExpr___raw_arguments};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing, LOCATE_typing, 928);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing, LOCATE_typing, 930);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void typing___ASendExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 931, LOCATE_typing___ASendExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 933, LOCATE_typing___ASendExpr___after_typing};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
@@ -2670,7 +2700,7 @@ void typing___ASendExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___ASendExpr___do_all_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 936, LOCATE_typing___ASendExpr___do_all_typing};
+  struct trace_t trace = {NULL, NULL, 938, LOCATE_typing___ASendExpr___do_all_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2694,7 +2724,7 @@ void typing___ASendExpr___do_all_typing(val_t  self, val_t  param0) {
   variable1 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
   variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable1)) { /*if*/
-    goto return_label87;
+    goto return_label88;
   }
   variable1 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
   variable1 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalProperty___global))(variable1) /*MMLocalProperty::global*/;
@@ -2704,15 +2734,15 @@ void typing___ASendExpr___do_all_typing(val_t  self, val_t  param0) {
     variable1 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalProperty___global))(variable1) /*MMLocalProperty::global*/;
     variable1 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable1,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable1) /*MMGlobalProperty::is_init*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { /*if*/
-      variable1 = NEW_string___String___init(); /*new String*/
-      variable2 = NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
+      variable1 = NEW_String_string___String___init(); /*new String*/
+      variable2 = NEW_String_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
       variable3 = variable2;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
       variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
       variable5 = variable4;
       variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-      variable6 = NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
+      variable6 = NEW_String_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
       variable7 = variable6;
       ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable1) /*AbsSyntaxVisitor::error*/;
@@ -2720,15 +2750,15 @@ void typing___ASendExpr___do_all_typing(val_t  self, val_t  param0) {
       variable1 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
       variable1 = ((typing___PExpr___is_self_t)CALL(variable1,COLOR_typing___PExpr___is_self))(variable1) /*PExpr::is_self*/;
       if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { /*if*/
-        variable1 = NEW_string___String___init(); /*new String*/
-        variable2 = NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
+        variable1 = NEW_String_string___String___init(); /*new String*/
+        variable2 = NEW_String_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
         variable3 = variable2;
         ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
         variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
         variable5 = variable4;
         variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
         ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-        variable6 = NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
+        variable6 = NEW_String_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
         variable7 = variable6;
         ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable1) /*AbsSyntaxVisitor::error*/;
@@ -2757,19 +2787,19 @@ void typing___ASendExpr___do_all_typing(val_t  self, val_t  param0) {
     variable1 = variable2 /*t=*/;
   }
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ =  variable1 /*t*/;
-  return_label87: while(false);
+  return_label88: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t typing___ASendReassignExpr___read_prop(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 958, LOCATE_typing___ASendReassignExpr___read_prop};
+  struct trace_t trace = {NULL, NULL, 960, LOCATE_typing___ASendReassignExpr___read_prop};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___ASendReassignExpr____read_prop( self) /*ASendReassignExpr::_read_prop*/;
 }
 void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 959, LOCATE_typing___ASendReassignExpr___do_all_typing};
+  struct trace_t trace = {NULL, NULL, 961, LOCATE_typing___ASendReassignExpr___do_all_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2800,7 +2830,7 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
   variable2 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
   variable2 = TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    goto return_label88;
+    goto return_label89;
   }
   variable2 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
   variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalProperty___global))(variable2) /*MMLocalProperty::global*/;
@@ -2810,15 +2840,15 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
     variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalProperty___global))(variable2) /*MMLocalProperty::global*/;
     variable2 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable2,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable2) /*MMGlobalProperty::is_init*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2)))) { /*if*/
-      variable2 = NEW_string___String___init(); /*new String*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
+      variable2 = NEW_String_string___String___init(); /*new String*/
+      variable3 = NEW_String_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
       variable4 = variable3;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
       variable5 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
       variable6 = variable5;
       variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-      variable7 = NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
@@ -2826,15 +2856,15 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
       variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
       variable2 = ((typing___PExpr___is_self_t)CALL(variable2,COLOR_typing___PExpr___is_self))(variable2) /*PExpr::is_self*/;
       if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2)))) { /*if*/
-        variable2 = NEW_string___String___init(); /*new String*/
-        variable3 = NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
+        variable2 = NEW_String_string___String___init(); /*new String*/
+        variable3 = NEW_String_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
         variable4 = variable3;
         ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
         variable5 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
         variable6 = variable5;
         variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
         ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-        variable7 = NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
         variable8 = variable7;
         ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
@@ -2866,15 +2896,15 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
   variable5 = ((typing___PExpr___is_implicit_self_t)CALL(variable5,COLOR_typing___PExpr___is_implicit_self))(variable5) /*PExpr::is_implicit_self*/;
   variable6 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable6 = ((typing___PExpr___is_self_t)CALL(variable6,COLOR_typing___PExpr___is_self))(variable6) /*PExpr::is_self*/;
-  variable7 = NEW_string___String___init(); /*new String*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable7 = NEW_String_string___String___init(); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
   variable10 = ((typing___ASendExpr___name_t)CALL( self,COLOR_typing___ASendExpr___name))( self) /*ASendExpr::name*/;
   variable11 = variable10;
   variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
+  variable12 = NEW_String_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
   variable13 = variable12;
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
   variable7 = ((symbol___String___to_symbol_t)CALL(variable7,COLOR_symbol___String___to_symbol))(variable7) /*String::to_symbol*/;
@@ -2882,7 +2912,7 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
   variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
   variable4 = TAG_Bool((variable4 ==  NIT_NULL /*null*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    goto return_label88;
+    goto return_label89;
   }
   variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
   variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMLocalProperty::global*/;
@@ -2892,15 +2922,15 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
     variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMLocalProperty::global*/;
     variable4 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable4) /*MMGlobalProperty::is_init*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4)))) { /*if*/
-      variable4 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
+      variable4 = NEW_String_string___String___init(); /*new String*/
+      variable5 = NEW_String_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
       variable6 = variable5;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
       variable7 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
       variable8 = variable7;
       variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-      variable9 = NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
+      variable9 = NEW_String_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
       variable10 = variable9;
       ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
       ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
@@ -2908,15 +2938,15 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
       variable4 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
       variable4 = ((typing___PExpr___is_self_t)CALL(variable4,COLOR_typing___PExpr___is_self))(variable4) /*PExpr::is_self*/;
       if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4)))) { /*if*/
-        variable4 = NEW_string___String___init(); /*new String*/
-        variable5 = NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
+        variable4 = NEW_String_string___String___init(); /*new String*/
+        variable5 = NEW_String_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
         variable6 = variable5;
         ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
         variable7 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
         variable8 = variable7;
         variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
         ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-        variable9 = NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
+        variable9 = NEW_String_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
         variable10 = variable9;
         ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
@@ -2924,271 +2954,271 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
     }
   }
   ATTR_typing___AAbsSendExpr____arguments( self) /*AAbsSendExpr::_arguments*/ =  variable3 /*old_args*/;
-  return_label88: while(false);
+  return_label89: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t typing___ABinopExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 995, LOCATE_typing___ABinopExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 997, LOCATE_typing___ABinopExpr___raw_arguments};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  variable0 = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[PExpr]*/
   variable1 = ((parser_nodes___ABinopExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___ABinopExpr___n_expr2))( self) /*ABinopExpr::n_expr2*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
-  goto return_label89;
-  return_label89: while(false);
+  goto return_label90;
+  return_label90: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AEqExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 998, LOCATE_typing___AEqExpr___name};
+  struct trace_t trace = {NULL, NULL, 1000, LOCATE_typing___AEqExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_91; static int once_bool_variable0_91;
+  static val_t once_value_variable0_92; static int once_bool_variable0_92;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_91) variable0 = once_value_variable0_91;
+  if (once_bool_variable0_92) variable0 = once_value_variable0_92;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_91 = variable0;
-    once_bool_variable0_91 = true;
+    once_value_variable0_92 = variable0;
+    once_bool_variable0_92 = true;
   }
-  goto return_label90;
-  return_label90: while(false);
+  goto return_label91;
+  return_label91: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ANeExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1001, LOCATE_typing___ANeExpr___name};
+  struct trace_t trace = {NULL, NULL, 1003, LOCATE_typing___ANeExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_93; static int once_bool_variable0_93;
+  static val_t once_value_variable0_94; static int once_bool_variable0_94;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_93) variable0 = once_value_variable0_93;
+  if (once_bool_variable0_94) variable0 = once_value_variable0_94;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_93 = variable0;
-    once_bool_variable0_93 = true;
+    once_value_variable0_94 = variable0;
+    once_bool_variable0_94 = true;
   }
-  goto return_label92;
-  return_label92: while(false);
+  goto return_label93;
+  return_label93: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ALtExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1004, LOCATE_typing___ALtExpr___name};
+  struct trace_t trace = {NULL, NULL, 1006, LOCATE_typing___ALtExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_95; static int once_bool_variable0_95;
+  static val_t once_value_variable0_96; static int once_bool_variable0_96;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_95) variable0 = once_value_variable0_95;
+  if (once_bool_variable0_96) variable0 = once_value_variable0_96;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_95 = variable0;
-    once_bool_variable0_95 = true;
+    once_value_variable0_96 = variable0;
+    once_bool_variable0_96 = true;
   }
-  goto return_label94;
-  return_label94: while(false);
+  goto return_label95;
+  return_label95: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ALeExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1007, LOCATE_typing___ALeExpr___name};
+  struct trace_t trace = {NULL, NULL, 1009, LOCATE_typing___ALeExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_97; static int once_bool_variable0_97;
+  static val_t once_value_variable0_98; static int once_bool_variable0_98;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_97) variable0 = once_value_variable0_97;
+  if (once_bool_variable0_98) variable0 = once_value_variable0_98;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_97 = variable0;
-    once_bool_variable0_97 = true;
+    once_value_variable0_98 = variable0;
+    once_bool_variable0_98 = true;
   }
-  goto return_label96;
-  return_label96: while(false);
+  goto return_label97;
+  return_label97: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AGtExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1010, LOCATE_typing___AGtExpr___name};
+  struct trace_t trace = {NULL, NULL, 1012, LOCATE_typing___AGtExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_99; static int once_bool_variable0_99;
+  static val_t once_value_variable0_100; static int once_bool_variable0_100;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_99) variable0 = once_value_variable0_99;
+  if (once_bool_variable0_100) variable0 = once_value_variable0_100;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_99 = variable0;
-    once_bool_variable0_99 = true;
+    once_value_variable0_100 = variable0;
+    once_bool_variable0_100 = true;
   }
-  goto return_label98;
-  return_label98: while(false);
+  goto return_label99;
+  return_label99: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AGeExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1013, LOCATE_typing___AGeExpr___name};
+  struct trace_t trace = {NULL, NULL, 1015, LOCATE_typing___AGeExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_101; static int once_bool_variable0_101;
+  static val_t once_value_variable0_102; static int once_bool_variable0_102;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_101) variable0 = once_value_variable0_101;
+  if (once_bool_variable0_102) variable0 = once_value_variable0_102;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_101 = variable0;
-    once_bool_variable0_101 = true;
+    once_value_variable0_102 = variable0;
+    once_bool_variable0_102 = true;
   }
-  goto return_label100;
-  return_label100: while(false);
+  goto return_label101;
+  return_label101: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___APlusExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1016, LOCATE_typing___APlusExpr___name};
+  struct trace_t trace = {NULL, NULL, 1018, LOCATE_typing___APlusExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_103; static int once_bool_variable0_103;
+  static val_t once_value_variable0_104; static int once_bool_variable0_104;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_103) variable0 = once_value_variable0_103;
+  if (once_bool_variable0_104) variable0 = once_value_variable0_104;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_103 = variable0;
-    once_bool_variable0_103 = true;
+    once_value_variable0_104 = variable0;
+    once_bool_variable0_104 = true;
   }
-  goto return_label102;
-  return_label102: while(false);
+  goto return_label103;
+  return_label103: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AMinusExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1019, LOCATE_typing___AMinusExpr___name};
+  struct trace_t trace = {NULL, NULL, 1021, LOCATE_typing___AMinusExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_105; static int once_bool_variable0_105;
+  static val_t once_value_variable0_106; static int once_bool_variable0_106;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_105) variable0 = once_value_variable0_105;
+  if (once_bool_variable0_106) variable0 = once_value_variable0_106;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_105 = variable0;
-    once_bool_variable0_105 = true;
+    once_value_variable0_106 = variable0;
+    once_bool_variable0_106 = true;
   }
-  goto return_label104;
-  return_label104: while(false);
+  goto return_label105;
+  return_label105: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AStarshipExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1022, LOCATE_typing___AStarshipExpr___name};
+  struct trace_t trace = {NULL, NULL, 1024, LOCATE_typing___AStarshipExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_107; static int once_bool_variable0_107;
+  static val_t once_value_variable0_108; static int once_bool_variable0_108;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_107) variable0 = once_value_variable0_107;
+  if (once_bool_variable0_108) variable0 = once_value_variable0_108;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("<=>"), TAG_Int(3)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("<=>"), TAG_Int(3)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_107 = variable0;
-    once_bool_variable0_107 = true;
+    once_value_variable0_108 = variable0;
+    once_bool_variable0_108 = true;
   }
-  goto return_label106;
-  return_label106: while(false);
+  goto return_label107;
+  return_label107: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AStarExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1025, LOCATE_typing___AStarExpr___name};
+  struct trace_t trace = {NULL, NULL, 1027, LOCATE_typing___AStarExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_109; static int once_bool_variable0_109;
+  static val_t once_value_variable0_110; static int once_bool_variable0_110;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_109) variable0 = once_value_variable0_109;
+  if (once_bool_variable0_110) variable0 = once_value_variable0_110;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_109 = variable0;
-    once_bool_variable0_109 = true;
+    once_value_variable0_110 = variable0;
+    once_bool_variable0_110 = true;
   }
-  goto return_label108;
-  return_label108: while(false);
+  goto return_label109;
+  return_label109: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ASlashExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1028, LOCATE_typing___ASlashExpr___name};
+  struct trace_t trace = {NULL, NULL, 1030, LOCATE_typing___ASlashExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_111; static int once_bool_variable0_111;
+  static val_t once_value_variable0_112; static int once_bool_variable0_112;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_111) variable0 = once_value_variable0_111;
+  if (once_bool_variable0_112) variable0 = once_value_variable0_112;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_111 = variable0;
-    once_bool_variable0_111 = true;
+    once_value_variable0_112 = variable0;
+    once_bool_variable0_112 = true;
   }
-  goto return_label110;
-  return_label110: while(false);
+  goto return_label111;
+  return_label111: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___APercentExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1031, LOCATE_typing___APercentExpr___name};
+  struct trace_t trace = {NULL, NULL, 1033, LOCATE_typing___APercentExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_113; static int once_bool_variable0_113;
+  static val_t once_value_variable0_114; static int once_bool_variable0_114;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_113) variable0 = once_value_variable0_113;
+  if (once_bool_variable0_114) variable0 = once_value_variable0_114;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_113 = variable0;
-    once_bool_variable0_113 = true;
+    once_value_variable0_114 = variable0;
+    once_bool_variable0_114 = true;
   }
-  goto return_label112;
-  return_label112: while(false);
+  goto return_label113;
+  return_label113: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AUminusExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1035, LOCATE_typing___AUminusExpr___name};
+  struct trace_t trace = {NULL, NULL, 1037, LOCATE_typing___AUminusExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_115; static int once_bool_variable0_115;
+  static val_t once_value_variable0_116; static int once_bool_variable0_116;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_115) variable0 = once_value_variable0_115;
+  if (once_bool_variable0_116) variable0 = once_value_variable0_116;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_115 = variable0;
-    once_bool_variable0_115 = true;
+    once_value_variable0_116 = variable0;
+    once_bool_variable0_116 = true;
   }
-  goto return_label114;
-  return_label114: while(false);
+  goto return_label115;
+  return_label115: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AUminusExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1036, LOCATE_typing___AUminusExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1038, LOCATE_typing___AUminusExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 =  NIT_NULL /*null*/;
-  goto return_label116;
-  return_label116: while(false);
+  goto return_label117;
+  return_label117: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void typing___ACallFormExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1040, LOCATE_typing___ACallFormExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 1042, LOCATE_typing___ACallFormExpr___after_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -3215,14 +3245,14 @@ void typing___ACallFormExpr___after_typing(val_t  self, val_t  param0) {
       variable3 = ((parser_nodes___ACallFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_args))( self) /*ACallFormExpr::n_args*/;
       variable3 = ((list___List___is_empty_t)CALL(variable3,COLOR_abstract_collection___Collection___is_empty))(variable3) /*List::is_empty*/;
       if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3)))) { /*if*/
-        variable3 = NEW_string___String___init(); /*new String*/
-        variable4 = NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
+        variable3 = NEW_String_string___String___init(); /*new String*/
+        variable4 = NEW_String_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
         variable5 = variable4;
         ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
         variable6 =  variable1 /*name*/;
         variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
         ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-        variable7 = NEW_string___String___with_native(BOX_NativeString(" is variable, not a function."), TAG_Int(29)); /*new String*/
+        variable7 = NEW_String_string___String___with_native(BOX_NativeString(" is variable, not a function."), TAG_Int(29)); /*new String*/
         variable8 = variable7;
         ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
         ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable3) /*AbsSyntaxVisitor::error*/;
@@ -3232,26 +3262,26 @@ void typing___ACallFormExpr___after_typing(val_t  self, val_t  param0) {
       ((syntax_base___AVarFormExpr___variable__eq_t)CALL( variable3 /*vform*/,COLOR_syntax_base___AVarFormExpr___variable__eq))( variable3 /*vform*/,  variable2 /*variable*/) /*AVarFormExpr::variable=*/;
       ((parser_prod___Prod___replace_with_t)CALL( self,COLOR_parser_prod___PNode___replace_with))( self,  variable3 /*vform*/) /*Prod::replace_with*/;
       ((typing___PNode___after_typing_t)CALL( variable3 /*vform*/,COLOR_typing___PNode___after_typing))( variable3 /*vform*/,  variable0 /*v*/) /*PNode::after_typing*/;
-      goto return_label117;
+      goto return_label118;
     }
   }
   ((typing___ACallFormExpr___after_typing_t)CALL( self,COLOR_SUPER_typing___ACallFormExpr___after_typing))( self,  param0) /*super ACallFormExpr::after_typing*/;
-  return_label117: while(false);
+  return_label118: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t typing___ACallFormExpr___variable_create(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1059, LOCATE_typing___ACallFormExpr___variable_create};
+  struct trace_t trace = {NULL, NULL, 1061, LOCATE_typing___ACallFormExpr___variable_create};
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ACallFormExpr___after_typing, LOCATE_typing, 1059);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ACallFormExpr___after_typing, LOCATE_typing, 1061);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t typing___ACallExpr___variable_create(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1064, LOCATE_typing___ACallExpr___variable_create};
+  struct trace_t trace = {NULL, NULL, 1066, LOCATE_typing___ACallExpr___variable_create};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3259,39 +3289,39 @@ val_t typing___ACallExpr___variable_create(val_t  self, val_t  param0) {
   trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
-  variable2 = NEW_parser_prod___AVarExpr___init_avarexpr(variable1); /*new AVarExpr*/
+  variable2 = NEW_AVarExpr_parser_prod___AVarExpr___init_avarexpr(variable1); /*new AVarExpr*/
   variable1 = variable2;
-  goto return_label118;
-  return_label118: while(false);
+  goto return_label119;
+  return_label119: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t typing___ACallExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1069, LOCATE_typing___ACallExpr___name};
+  struct trace_t trace = {NULL, NULL, 1071, LOCATE_typing___ACallExpr___name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
   variable0 = ((syntax_base___Token___to_symbol_t)CALL(variable0,COLOR_syntax_base___Token___to_symbol))(variable0) /*Token::to_symbol*/;
-  goto return_label119;
-  return_label119: while(false);
+  goto return_label120;
+  return_label120: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ACallExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1070, LOCATE_typing___ACallExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1072, LOCATE_typing___ACallExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ACallFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_args))( self) /*ACallFormExpr::n_args*/;
   variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
-  goto return_label120;
-  return_label120: while(false);
+  goto return_label121;
+  return_label121: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ACallAssignExpr___variable_create(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1074, LOCATE_typing___ACallAssignExpr___variable_create};
+  struct trace_t trace = {NULL, NULL, 1076, LOCATE_typing___ACallAssignExpr___variable_create};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3303,31 +3333,31 @@ val_t typing___ACallAssignExpr___variable_create(val_t  self, val_t  param0) {
   variable1 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
   variable2 = ((parser_nodes___AAssignFormExpr___n_assign_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_assign))( self) /*AAssignFormExpr::n_assign*/;
   variable3 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAssignFormExpr::n_value*/;
-  variable4 = NEW_parser_prod___AVarAssignExpr___init_avarassignexpr(variable1, variable2, variable3); /*new AVarAssignExpr*/
+  variable4 = NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___init_avarassignexpr(variable1, variable2, variable3); /*new AVarAssignExpr*/
   variable1 = variable4;
-  goto return_label121;
-  return_label121: while(false);
+  goto return_label122;
+  return_label122: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t typing___ACallAssignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1079, LOCATE_typing___ACallAssignExpr___name};
+  struct trace_t trace = {NULL, NULL, 1081, LOCATE_typing___ACallAssignExpr___name};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
   variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*Token::text*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
   variable0 = ((string___String_____plus_t)CALL(variable0,COLOR_string___String_____plus))(variable0, variable1) /*String::+*/;
   variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-  goto return_label122;
-  return_label122: while(false);
+  goto return_label123;
+  return_label123: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ACallAssignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1080, LOCATE_typing___ACallAssignExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1082, LOCATE_typing___ACallAssignExpr___raw_arguments};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3338,13 +3368,13 @@ val_t typing___ACallAssignExpr___raw_arguments(val_t  self) {
   variable1 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAssignFormExpr::n_value*/;
   ((array___AbstractArray___add_t)CALL( variable0 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*res*/, variable1) /*AbstractArray::add*/;
   variable0 =  variable0 /*res*/;
-  goto return_label123;
-  return_label123: while(false);
+  goto return_label124;
+  return_label124: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ACallReassignExpr___variable_create(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1089, LOCATE_typing___ACallReassignExpr___variable_create};
+  struct trace_t trace = {NULL, NULL, 1091, LOCATE_typing___ACallReassignExpr___variable_create};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3356,87 +3386,87 @@ val_t typing___ACallReassignExpr___variable_create(val_t  self, val_t  param0) {
   variable1 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
   variable2 = ((parser_nodes___AReassignFormExpr___n_assign_op_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_assign_op))( self) /*AReassignFormExpr::n_assign_op*/;
   variable3 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AReassignFormExpr::n_value*/;
-  variable4 = NEW_parser_prod___AVarReassignExpr___init_avarreassignexpr(variable1, variable2, variable3); /*new AVarReassignExpr*/
+  variable4 = NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___init_avarreassignexpr(variable1, variable2, variable3); /*new AVarReassignExpr*/
   variable1 = variable4;
-  goto return_label124;
-  return_label124: while(false);
+  goto return_label125;
+  return_label125: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t typing___ACallReassignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1094, LOCATE_typing___ACallReassignExpr___name};
+  struct trace_t trace = {NULL, NULL, 1096, LOCATE_typing___ACallReassignExpr___name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
   variable0 = ((syntax_base___Token___to_symbol_t)CALL(variable0,COLOR_syntax_base___Token___to_symbol))(variable0) /*Token::to_symbol*/;
-  goto return_label125;
-  return_label125: while(false);
+  goto return_label126;
+  return_label126: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ACallReassignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1095, LOCATE_typing___ACallReassignExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1097, LOCATE_typing___ACallReassignExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ACallFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_args))( self) /*ACallFormExpr::n_args*/;
   variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
-  goto return_label126;
-  return_label126: while(false);
+  goto return_label127;
+  return_label127: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ABraExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1099, LOCATE_typing___ABraExpr___name};
+  struct trace_t trace = {NULL, NULL, 1101, LOCATE_typing___ABraExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_128; static int once_bool_variable0_128;
+  static val_t once_value_variable0_129; static int once_bool_variable0_129;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_128) variable0 = once_value_variable0_128;
+  if (once_bool_variable0_129) variable0 = once_value_variable0_129;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_128 = variable0;
-    once_bool_variable0_128 = true;
+    once_value_variable0_129 = variable0;
+    once_bool_variable0_129 = true;
   }
-  goto return_label127;
-  return_label127: while(false);
+  goto return_label128;
+  return_label128: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ABraExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1100, LOCATE_typing___ABraExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1102, LOCATE_typing___ABraExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ABraFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ABraFormExpr___n_args))( self) /*ABraFormExpr::n_args*/;
   variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
-  goto return_label129;
-  return_label129: while(false);
+  goto return_label130;
+  return_label130: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ABraAssignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1104, LOCATE_typing___ABraAssignExpr___name};
+  struct trace_t trace = {NULL, NULL, 1106, LOCATE_typing___ABraAssignExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_131; static int once_bool_variable0_131;
+  static val_t once_value_variable0_132; static int once_bool_variable0_132;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_131) variable0 = once_value_variable0_131;
+  if (once_bool_variable0_132) variable0 = once_value_variable0_132;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_131 = variable0;
-    once_bool_variable0_131 = true;
+    once_value_variable0_132 = variable0;
+    once_bool_variable0_132 = true;
   }
-  goto return_label130;
-  return_label130: while(false);
+  goto return_label131;
+  return_label131: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ABraAssignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1105, LOCATE_typing___ABraAssignExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1107, LOCATE_typing___ABraAssignExpr___raw_arguments};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3447,73 +3477,73 @@ val_t typing___ABraAssignExpr___raw_arguments(val_t  self) {
   variable1 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAssignFormExpr::n_value*/;
   ((array___AbstractArray___add_t)CALL( variable0 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*res*/, variable1) /*AbstractArray::add*/;
   variable0 =  variable0 /*res*/;
-  goto return_label132;
-  return_label132: while(false);
+  goto return_label133;
+  return_label133: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ABraReassignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1114, LOCATE_typing___ABraReassignExpr___name};
+  struct trace_t trace = {NULL, NULL, 1116, LOCATE_typing___ABraReassignExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_134; static int once_bool_variable0_134;
+  static val_t once_value_variable0_135; static int once_bool_variable0_135;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_134) variable0 = once_value_variable0_134;
+  if (once_bool_variable0_135) variable0 = once_value_variable0_135;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_134 = variable0;
-    once_bool_variable0_134 = true;
+    once_value_variable0_135 = variable0;
+    once_bool_variable0_135 = true;
   }
-  goto return_label133;
-  return_label133: while(false);
+  goto return_label134;
+  return_label134: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ABraReassignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1115, LOCATE_typing___ABraReassignExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1117, LOCATE_typing___ABraReassignExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ABraFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ABraFormExpr___n_args))( self) /*ABraFormExpr::n_args*/;
   variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
-  goto return_label135;
-  return_label135: while(false);
+  goto return_label136;
+  return_label136: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AInitExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1119, LOCATE_typing___AInitExpr___name};
+  struct trace_t trace = {NULL, NULL, 1121, LOCATE_typing___AInitExpr___name};
   val_t variable0;
-  static val_t once_value_variable0_137; static int once_bool_variable0_137;
+  static val_t once_value_variable0_138; static int once_bool_variable0_138;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
-  if (once_bool_variable0_137) variable0 = once_value_variable0_137;
+  if (once_bool_variable0_138) variable0 = once_value_variable0_138;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
+    variable0 = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
     variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_137 = variable0;
-    once_bool_variable0_137 = true;
+    once_value_variable0_138 = variable0;
+    once_bool_variable0_138 = true;
   }
-  goto return_label136;
-  return_label136: while(false);
+  goto return_label137;
+  return_label137: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AInitExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1120, LOCATE_typing___AInitExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1122, LOCATE_typing___AInitExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___AInitExpr___n_args_t)CALL( self,COLOR_parser_nodes___AInitExpr___n_args))( self) /*AInitExpr::n_args*/;
   variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
-  goto return_label138;
-  return_label138: while(false);
+  goto return_label139;
+  return_label139: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void typing___AIsaExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1124, LOCATE_typing___AIsaExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 1126, LOCATE_typing___AIsaExpr___after_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -3528,7 +3558,7 @@ void typing___AIsaExpr___after_typing(val_t  self, val_t  param0) {
     variable2 = ((parser_nodes___AIsaExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIsaExpr___n_expr))( self) /*AIsaExpr::n_expr*/;
     variable1 = variable2;
     variable2 = TAG_Bool(( variable1 /*n*/==NIT_NULL) || VAL_ISA( variable1 /*n*/, COLOR_AVarExpr, ID_AVarExpr)) /*cast AVarExpr*/;
-    if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___AIsaExpr___after_typing, LOCATE_typing, 1128); nit_exit(1);}
+    if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___AIsaExpr___after_typing, LOCATE_typing, 1130); nit_exit(1);}
     variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
     variable3 = ((syntax_base___AVarFormExpr___variable_t)CALL( variable1 /*n*/,COLOR_syntax_base___AVarFormExpr___variable))( variable1 /*n*/) /*AVarFormExpr::variable*/;
     variable4 = ((parser_nodes___AIsaExpr___n_type_t)CALL( self,COLOR_parser_nodes___AIsaExpr___n_type))( self) /*AIsaExpr::n_type*/;
@@ -3542,7 +3572,7 @@ void typing___AIsaExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AAsCastExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1136, LOCATE_typing___AAsCastExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 1138, LOCATE_typing___AAsCastExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3559,7 +3589,7 @@ void typing___AAsCastExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AProxyExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1144, LOCATE_typing___AProxyExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 1146, LOCATE_typing___AProxyExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
index 9e21c07..20005ec 100644 (file)
@@ -28,7 +28,7 @@ val_t utils___Object___cmangle(val_t  self, val_t  param0) {
     once_bool_variable2_1 = true;
   }
   variable1 = variable2;
-  variable3 = NEW_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
   variable2 = variable3;
   variable3 = ((array___AbstractArray___iterator_t)CALL( variable0 /*symbols*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*symbols*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -125,31 +125,31 @@ val_t utils___Object___cmangle_table(val_t  self) {
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   trace.file = LOCATE_utils;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  variable1 = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Char, String]*/
   variable0 = variable1;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("plus"), TAG_Int(4)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("plus"), TAG_Int(4)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('+'), variable1) /*HashMap::[]=*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("minus"), TAG_Int(5)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("minus"), TAG_Int(5)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('-'), variable1) /*HashMap::[]=*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("star"), TAG_Int(4)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("star"), TAG_Int(4)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('*'), variable1) /*HashMap::[]=*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("slash"), TAG_Int(5)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("slash"), TAG_Int(5)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('/'), variable1) /*HashMap::[]=*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("percent"), TAG_Int(7)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("percent"), TAG_Int(7)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('%'), variable1) /*HashMap::[]=*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("bra"), TAG_Int(3)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("bra"), TAG_Int(3)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('['), variable1) /*HashMap::[]=*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("eq"), TAG_Int(2)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("eq"), TAG_Int(2)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('='), variable1) /*HashMap::[]=*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("l"), TAG_Int(1)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("l"), TAG_Int(1)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('<'), variable1) /*HashMap::[]=*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("g"), TAG_Int(1)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("g"), TAG_Int(1)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('>'), variable1) /*HashMap::[]=*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("n"), TAG_Int(1)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("n"), TAG_Int(1)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('!'), variable1) /*HashMap::[]=*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("u"), TAG_Int(1)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("u"), TAG_Int(1)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('_'), variable1) /*HashMap::[]=*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("at"), TAG_Int(2)); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("at"), TAG_Int(2)); /*new String*/
   ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/,  TAG_Char('@'), variable1) /*HashMap::[]=*/;
   variable0 =  variable0 /*res*/;
   goto return_label4;
index 7bc0408..76a6d37 100644 (file)
@@ -55,7 +55,7 @@ val_t virtualtype___MMTypeProperty___real_stype_for(val_t  self, val_t  param0)
     variable1 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*recv*/) /*CoupleMap::[]*/;
     goto return_label2;
   }
-  variable2 = NEW_virtualtype___MMVirtualType___init( self,  variable0 /*recv*/); /*new MMVirtualType*/
+  variable2 = NEW_MMVirtualType_virtualtype___MMVirtualType___init( self,  variable0 /*recv*/); /*new MMVirtualType*/
   variable1 = variable2;
   variable2 = ATTR_virtualtype___MMTypeProperty____stypes_cache( self) /*MMTypeProperty::_stypes_cache*/;
   ((hash___HashMap_____braeq_t)CALL(variable2,COLOR_abstract_collection___Map_____braeq))(variable2,  variable0 /*recv*/,  variable1 /*res*/) /*HashMap::[]=*/;